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:
@@ -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"
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user