Skip to content

fix(french): update French sources, add J-Garden/Trad-Index/LightNovelVF, drop Phenix Scans - #2428

Merged
rajarsheechatterjee merged 1 commit into
lnreader:masterfrom
Balrog57:fix/french-plugins-v2
Aug 16, 2026
Merged

fix(french): update French sources, add J-Garden/Trad-Index/LightNovelVF, drop Phenix Scans#2428
rajarsheechatterjee merged 1 commit into
lnreader:masterfrom
Balrog57:fix/french-plugins-v2

Conversation

@Balrog57

Copy link
Copy Markdown
Contributor

Résumé

Mise à jour des sources françaises : correction de 9 plugins existants, ajout de 3 nouvelles sources (J-Garden, Trad-Index, LightNovelVF) et suppression de la source morte Phenix Scans.

Deux corrections techniques transversales corrigent des bugs qui n'apparaissaient qu'sur l'application Android (jamais dans le playground ni check:plugin, qui aliasent @libs vers src/libs du repo) :

  1. fetchHtmlChecked n'existe pas côté app. L'app résout @libs/fetch vers son propre code embarqué, qui n'exporte que fetchApi, fetchText, fetchProto, fetchFile. Les plugins qui importaient fetchHtmlChecked (ajouté localement au fork, jamais fusionné dans l'app) plantaient avec undefined is not a function. Remplacé par un helper local bâti sur fetchApi (statut HTTP + détection de page « bot challenge »).

  2. Étaler un itérateur Map sous ES5. [...map.values()] compile en __spreadArray([], it, true) (cible ES5, downlevelIteration désactivé), qui renvoie [] sur l'app. Remplacé par Array.from(...).

Nouvelles sources

J-Garden (plugins/french/jgarden.ts)

  • Nouveau. Site WordPress/Elementor.
  • Utilise l'API REST publique (wp-json/wp/v2/pages + wp/v2/posts) plutôt que le HTML Elementor.
  • Sections jg-ln et jg-web-novel uniquement ; les mangas (JG MANGA) sont exclus.
  • Liste de chapitres dédupliquée et ordonnée, statut déduit du texte rendu.

Trad-Index (plugins/french/tradindex.ts)

  • Nouveau. Site Next.js (SSR) avec backend Strapi.
  • Catalogue Web Novel / Light Novel, pagination des chapitres via onglet=chapitres.
  • Corrections de runtime Android :
    • type=Web+Novel → l'app encode + en %2B (type inexistant, catalogue vide) → encodeURIComponent(type) (Web%20Novel).
    • [...map.values()]Array.from(...) (sinon catalogue/chapitres vides sur l'app).

LightNovelVF (plugins/french/lightnovelvf.ts)

  • Nouveau. Site Laravel.
  • Chapitres paginés à la demande via PagePlugin (parsePage), endpoints JSON chapitres?p=N&order=asc.
  • Retry borné sur 429/5xx, validation des métadonnées de pagination.

Plugins corrigés

Chireads (chireads.ts)

  • Scrape la liste de chapitres depuis la page du roman (.refresh-detail-chapter-list) au lieu du fil REST incomplet.
  • UA desktop unifié (HTML + endpoints wp-json) pour que Cloudflare serve le même contenu que sur navigateur.
  • URLs de chapitres compactées (/c/<slug>/), déduplication, numéro/date extraits, couverture absolutisée.
  • Parcours ES5-safe (pas d'étalement d'itérateur).

HarkenEliwood, KissWood, Novhell, Re:Zero Web Novel FR, Warrior Legend Trad, WuxiaLnScantrad, Xiaowaz

  • Remplacement de l'import inexistant fetchHtmlChecked par un helper local fetchCheckedHtml construit sur fetchApi (statut HTTP + détection du titre de challenge Cloudflare).
  • KissWood et WuxiaLnScantrad conservent leur récupération de chapitre déplacé (via recherche WordPress) avec le nouveau helper.

NovelDeGlace (noveldeglace.ts)

  • Correction de la numérotation des chapitres : chapterNumber se réinitialisait à chaque tome (ordre faux pour les romans multi-tomes) → numérotation globale monotone.
  • Même remplacement fetchHtmlCheckedfetchApi.

Suppression

  • Phenix Scans (phenixscans.broken.ts + icône) : source morte, retirée du catalogue français.

Vérification

  • Chaque source testée contre le site réel : catalogue, recherche, métadonnées, liste de chapitres complète et dans l'ordre, ouverture du chapitre.
  • Vérifié dans l'émulateur Android (app LNReader réelle) : Trad-Index affiche le catalogue (plus de « no work cards ») et « Supremacy Games » remonte 1133 chapitres dans l'ordre ; NovelDeGlace « Genjitsushugisha » remonte 719 chapitres ordonnés.

@rajarsheechatterjee
rajarsheechatterjee merged commit 4b84e48 into lnreader:master Aug 16, 2026
2 of 3 checks passed
@github-actions github-actions Bot locked as resolved and limited conversation to collaborators Aug 19, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants