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": "Épisode ou chapitre suivant",
"loading": "Chargement de vos listes…",
"loading_more": "Chargement de la liste…",
"loading_progress": "Chargement… {anime} anime, {manga} manga",
"logged_in_as": "Connecté en tant que {name}",
"login_help": "Renseignez votre ID client et votre secret client dans les paramètres du plugin, puis cliquez sur Se connecter. Votre navigateur s'ouvre, vous autorisez AniList, et le plugin termine la connexion automatiquement.",
"login_title": "Se connecter à AniList",
@@ -44,6 +45,8 @@
"updating": "Mise à jour…"
},
"service": {
"empty_response": "AniList a renvoyé une réponse vide.",
"invalid_response": "AniList a renvoyé une réponse illisible.",
"invalid_token": "Jeton d'accès invalide ou expiré.",
"mutation_failed": "La mise à jour a échoué.",
"network_error": "Impossible de joindre AniList.",
@@ -87,6 +90,7 @@
"tooltip_error": "AniList — {error}",
"tooltip_in_progress": "{count} en cours (anime + manga)",
"tooltip_loading": "AniList — chargement…",
"tooltip_oauth": "AniList — en attente de la connexion navigateur…",
"tooltip_planning": "{count} anime prévus",
"tooltip_total": "{count} anime sur votre liste"
}