fix(anilist): paginate large libraries to avoid CPU budget kills (#184)

* fix(anilist): paginate large libraries to avoid CPU budget kills

Chunk GraphQL fetches and defer merge, sort, and cover work to update()
ticks so 1000+ anime and manga entries load without blocking callbacks.

* fix(anilist): handle OAuth callback immediately and simplify service helpers

Process browser login tokens synchronously from runStream and file poll, keep a 500ms update interval during OAuth, and avoid duplicate OAuth result emissions from Python.
This commit is contained in:
Cleboost
2026-07-31 17:12:24 -04:00
committed by GitHub
parent dffd46ab4d
commit be208b42c5
7 changed files with 682 additions and 198 deletions
+4
View File
@@ -23,6 +23,7 @@
"increment": "Next episode/chapter",
"loading": "Loading your lists…",
"loading_more": "Loading more entries…",
"loading_progress": "Loading lists… {anime} anime, {manga} manga",
"logged_in_as": "Signed in as {name}",
"login_help": "Set your client ID and client secret in plugin settings, then click Connect. Your browser opens, you approve AniList, and the plugin finishes login automatically.",
"login_title": "Connect to AniList",
@@ -44,6 +45,8 @@
"updating": "Updating…"
},
"service": {
"empty_response": "AniList returned an empty response.",
"invalid_response": "AniList returned an unreadable response.",
"invalid_token": "Invalid or expired access token.",
"mutation_failed": "Update failed.",
"network_error": "Could not reach AniList.",
@@ -87,6 +90,7 @@
"tooltip_error": "AniList — {error}",
"tooltip_in_progress": "{count} in progress (anime + manga)",
"tooltip_loading": "AniList — loading…",
"tooltip_oauth": "AniList — waiting for browser login…",
"tooltip_planning": "{count} anime planned",
"tooltip_total": "{count} anime on your list"
}