From a6e9e3440564ab18769e41712b3b5107fda1d485 Mon Sep 17 00:00:00 2001 From: afrmtbl Date: Tue, 3 Aug 2021 19:27:08 -0400 Subject: [PATCH] Don't convert locales to a set when matching --- src/invidious.cr | 2 +- src/invidious/helpers/utils.cr | 2 +- src/invidious/routes/login.cr | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/invidious.cr b/src/invidious.cr index 52bf5bb2..20a0985e 100644 --- a/src/invidious.cr +++ b/src/invidious.cr @@ -172,7 +172,7 @@ before_all do |env| preferences = Preferences.from_json(URI.decode_www_form(prefs_cookie.value)) elsif language_header = env.request.headers["Accept-Language"]? preferred_langs = parse_accept_language_header(language_header) - if first_match = first_language_match(LOCALES.keys.to_set, preferred_langs) + if first_match = first_language_match(LOCALES.keys, preferred_langs) preferences.locale = first_match end end diff --git a/src/invidious/helpers/utils.cr b/src/invidious/helpers/utils.cr index 35b8ea0c..9ea76ca0 100644 --- a/src/invidious/helpers/utils.cr +++ b/src/invidious/helpers/utils.cr @@ -542,7 +542,7 @@ end # Alternate matching schemes at https://datatracker.ietf.org/doc/html/rfc4647#section-3 # Performs a simple exact match search for now -def first_language_match(available_languages : Set(String), preferred_languages : LanguageEntries) : String? +def first_language_match(available_languages : Enumerable(String), preferred_languages : LanguageEntries) : String? first_lang = preferred_languages.find do |lang| available_languages.includes? lang.to_s end diff --git a/src/invidious/routes/login.cr b/src/invidious/routes/login.cr index 6731ea2e..3568be0b 100644 --- a/src/invidious/routes/login.cr +++ b/src/invidious/routes/login.cr @@ -439,7 +439,7 @@ class Invidious::Routes::Login < Invidious::Routes::BaseRoute # Will be overwritten by the PREFS cookie further down if present if language_header = env.request.headers["Accept-Language"]? preferred_langs = parse_accept_language_header(language_header) - if first_match = first_language_match(LOCALES.keys.to_set, preferred_langs) + if first_match = first_language_match(LOCALES.keys, preferred_langs) user.preferences.locale = first_match end end