diff options
| author | Samantaz Fox <coding@samantaz.fr> | 2023-05-03 00:34:04 +0200 |
|---|---|---|
| committer | Samantaz Fox <coding@samantaz.fr> | 2023-05-03 00:34:04 +0200 |
| commit | 1eb1bae3706204908fa57b6c91fe00041d4346c5 (patch) | |
| tree | d28c14d66193780fffb5d7f25afb65b179398656 /src | |
| parent | 5017176e39ba4d19f4ccea23d93a3805d34d0e01 (diff) | |
| parent | 025e7555420a88757aa8709419e8f09ba654854d (diff) | |
| download | invidious-1eb1bae3706204908fa57b6c91fe00041d4346c5.tar.gz invidious-1eb1bae3706204908fa57b6c91fe00041d4346c5.tar.bz2 invidious-1eb1bae3706204908fa57b6c91fe00041d4346c5.zip | |
Fix watch history order (#3653)
Diffstat (limited to 'src')
| -rw-r--r-- | src/invidious/database/users.cr | 2 | ||||
| -rw-r--r-- | src/invidious/routes/watch.cr | 6 | ||||
| -rw-r--r-- | src/invidious/user/imports.cr | 2 |
3 files changed, 4 insertions, 6 deletions
diff --git a/src/invidious/database/users.cr b/src/invidious/database/users.cr index 0a4a4fd8..d54e6a76 100644 --- a/src/invidious/database/users.cr +++ b/src/invidious/database/users.cr @@ -52,7 +52,7 @@ module Invidious::Database::Users def mark_watched(user : User, vid : String) request = <<-SQL UPDATE users - SET watched = array_append(watched, $1) + SET watched = array_append(array_remove(watched, $1), $1) WHERE email = $2 SQL diff --git a/src/invidious/routes/watch.cr b/src/invidious/routes/watch.cr index 5d3845c3..813cb0f4 100644 --- a/src/invidious/routes/watch.cr +++ b/src/invidious/routes/watch.cr @@ -76,7 +76,7 @@ module Invidious::Routes::Watch end env.params.query.delete_all("iv_load_policy") - if watched && preferences.watch_history && !watched.includes? id + if watched && preferences.watch_history Invidious::Database::Users.mark_watched(user.as(User), id) end @@ -259,9 +259,7 @@ module Invidious::Routes::Watch case action when "action_mark_watched" - if !user.watched.includes? id - Invidious::Database::Users.mark_watched(user, id) - end + Invidious::Database::Users.mark_watched(user, id) when "action_mark_unwatched" Invidious::Database::Users.mark_unwatched(user, id) else diff --git a/src/invidious/user/imports.cr b/src/invidious/user/imports.cr index 20ae0d47..aa947456 100644 --- a/src/invidious/user/imports.cr +++ b/src/invidious/user/imports.cr @@ -48,7 +48,7 @@ struct Invidious::User if data["watch_history"]? user.watched += data["watch_history"].as_a.map(&.as_s) - user.watched.uniq! + user.watched.reverse!.uniq!.reverse! Invidious::Database::Users.update_watch_history(user) end |
