fix(french): rewrite Chireads, repoint Ligh Novel FR, drop dead MassNovel and MTL Novel (FR) - #2404
Open
Balrog57 wants to merge 1 commit into
Open
fix(french): rewrite Chireads, repoint Ligh Novel FR, drop dead MassNovel and MTL Novel (FR)#2404Balrog57 wants to merge 1 commit into
Balrog57 wants to merge 1 commit into
Conversation
… MTL Novel (FR) sources
Balrog57
force-pushed
the
fix/french-plugins-2026
branch
from
August 9, 2026 11:37
52bd092 to
4c4be32
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR description
Fixes the broken French sources in LNReader, adapting each plugin to the current state of its website. All working sources pass the live check (
scripts/live-check-plugin.js) with 4/4 steps.1. Chireads (
plugins/french/chireads.ts) — rewritten for the new site themeThe site was redesigned with a new "chireads-refresh" WordPress theme and the old selectors (
.romans-content,.inform-product-*,.chapitre-table) no longer exist, which is why no chapters appeared.popularNovels: parses the newul.refresh-card-grid li.refresh-cardcards (categories/category/translatedtales+/category/original, or/tag/…, paginated via/page/N/).showLatestNovels: parses the homepage "Dernières mises à jour" table (.dernieres-tabel), deduplicated by novel.parseNovel:.refresh-detail-title(name),.refresh-detail-cover img(cover),.refresh-detail-summary-content(synopsis),.refresh-detail-meta(author/status) and.refresh-detail-chapter-list afor the full chapter list (release date extracted from the/YYYY/MM/DD/segment of the chapter URL).parseChapter: keeps#content(still present on reading pages).searchNovels: uses the WordPress search/?s=…and parses the.news-list liresults.Live checks: 57 novels, 34 search results, 22 chapters, ~17.9 kB chapter body.
2. Ligh Novel FR (
plugins/multisrc/lightnovelwp/sources.json) — site movedlightnovelfr.comnow permanently redirects tonovel-fr.net(same WordPress LightNovel theme, same structure), which is what caused the 500/Captcha (hostname changed). UpdatedsourceSitetohttps://novel-fr.net/and bumped the generated plugin version withversionIncrements(recommended by the generator README when the site URL changes). All 4 live checks pass against the new domain (14 novels, 82 chapters).3. MassNovel (
plugins/multisrc/madara/sources.json) — site moved, source removedmassnovel.frpermanently 301-redirects tonovelfrance.fr, which is no longer a Madara site (it is now a Next.js app with its own API). The dedicated pluginplugins/french/novelfrance.tsalready targetsnovelfrance.frand passes all live checks — it is the replacement for MassNovel. Closes #2062.4. MTL Novel (FR) (
plugins/multisrc/mtlnovel/sources.json) — network dead, source removedThe whole
mtlnovels.comnetwork (fr,wwwand all subdomains) no longer serves content: every page returns a JS-boot challenge ("Loading…" page that redirects with a signed token and requires a real browser), including theautosuggestsearch endpoint. A plugin cannot work against it, hence the "no results" symptoms. Removed themtlnovel-frentry. Note: the other variants (EN/ES/ID/PT/RU) point at the same dead network and are equally affected.5. WorldNovel — kept
Left as-is in the Madara generator. The underlying site (
world-novel.fr/victorian-novel-house.fr, now branded "Victorian Novel House × World Novel") is still alive, but it has been rewritten as a client-rendered Next.js app whose data lives in a Firebase backend protected by App Check, fronted by a Cloudflare challenge — so no scraper can currently read its chapters (see #1692, #2090). The source is intentionally kept in place in case a workaround or a public API appears. Its live check reports siteReachability INCONCLUSIVE (HTTP 403 Cloudflare), which never blocks a merge.Verification
node scripts/live-check-plugin.js plugins/french/chireads.ts→ 4/4 PASSnode scripts/live-check-plugin.js "plugins/french/LighNovelFR[lightnovelwp].ts"→ 4/4 PASS (generated from the updatedsources.json)node scripts/live-check-plugin.js "plugins/french/WorldNovel[madara].ts"→ siteReachability INCONCLUSIVE (HTTP 403 Cloudflare, expected)npx eslint plugins/french/chireads.ts,npx tsc --project tsconfig.production.json --noEmitand prettier all pass.Generated multisrc plugin files are gitignored.