Don't convert locales to a set when matching

This commit is contained in:
afrmtbl 2021-08-03 19:27:08 -04:00
parent c0ac631e47
commit a6e9e34405
3 changed files with 3 additions and 3 deletions

View File

@ -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

View File

@ -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

View File

@ -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