summaryrefslogtreecommitdiffstats
path: root/src/invidious.cr
diff options
context:
space:
mode:
Diffstat (limited to 'src/invidious.cr')
-rw-r--r--src/invidious.cr17
1 files changed, 6 insertions, 11 deletions
diff --git a/src/invidious.cr b/src/invidious.cr
index a5f5196d..b576148e 100644
--- a/src/invidious.cr
+++ b/src/invidious.cr
@@ -160,7 +160,12 @@ proxies = PROXY_LIST
before_all do |env|
env.response.headers["X-XSS-Protection"] = "1; mode=block;"
env.response.headers["X-Content-Type-Options"] = "nosniff"
- preferences = DEFAULT_USER_PREFERENCES.dup
+
+ begin
+ preferences = Preferences.from_json(env.request.cookies["PREFS"]?.try &.value || "{}")
+ rescue
+ preferences = Preferences.from_json("{}")
+ end
if env.request.cookies.has_key? "SID"
headers = HTTP::Headers.new
@@ -201,10 +206,6 @@ before_all do |env|
end
end
- if env.request.cookies.has_key? "PREFS"
- preferences = Preferences.from_json(env.request.cookies["PREFS"].value)
- end
-
dark_mode = env.params.query["dark_mode"]? || preferences.dark_mode.to_s
dark_mode = dark_mode == "true"
@@ -1082,12 +1083,6 @@ post "/login" do |env|
next templated "error"
end
- user = PG_DB.query_one?("SELECT * FROM users WHERE LOWER(email) = LOWER($1) AND password IS NOT NULL", email, as: User)
- if user
- error_message = translate(locale, "Please sign in")
- next templated "error"
- end
-
sid = Base64.urlsafe_encode(Random::Secure.random_bytes(32))
user, sid = create_user(sid, email, password)
user_array = user.to_a