summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSamantaz Fox <coding@samantaz.fr>2023-10-21 18:31:18 +0200
committerSamantaz Fox <coding@samantaz.fr>2023-10-21 18:31:18 +0200
commit88cc62d45e6614d1f9301c42aaa3bdd8e2586a75 (patch)
tree9f69fc1b0cee02dc1c3357b60ee894fa434dca01 /src
parentb809e877a1ad4cb8b9ba49fd368b32ca13cda98f (diff)
parent0bd415158f44c2411bc04cd01ff606e15c3c7d2a (diff)
downloadinvidious-88cc62d45e6614d1f9301c42aaa3bdd8e2586a75.tar.gz
invidious-88cc62d45e6614d1f9301c42aaa3bdd8e2586a75.tar.bz2
invidious-88cc62d45e6614d1f9301c42aaa3bdd8e2586a75.zip
User: Fix importing FreeTube subscriptions with multiple profiles (#4011)
Diffstat (limited to 'src')
-rw-r--r--src/invidious/user/imports.cr8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/invidious/user/imports.cr b/src/invidious/user/imports.cr
index 86d0ce6e..0d21bc44 100644
--- a/src/invidious/user/imports.cr
+++ b/src/invidious/user/imports.cr
@@ -228,8 +228,12 @@ struct Invidious::User
subs = matches.map(&.["channel_id"])
if subs.empty?
- data = JSON.parse(body)["subscriptions"]
- subs = data.as_a.map(&.["id"].as_s)
+ profiles = body.split('\n', remove_empty: true)
+ profiles.each do |profile|
+ if data = JSON.parse(profile)["subscriptions"]?
+ subs += data.as_a.map(&.["id"].as_s)
+ end
+ end
end
user.subscriptions += subs