Skip to content

fix(arabic/galaxynovels): list all chapters via static manifest (stacks on #2529) - #13

Open
RibatTRW wants to merge 1 commit into
fm/lnreader-arabic-empty-chaptersfrom
fm/lnreader-galaxy-full-index
Open

RibatTRW wants to merge 1 commit into
fm/lnreader-arabic-empty-chaptersfrom
fm/lnreader-galaxy-full-index

Conversation

@RibatTRW

@RibatTRW RibatTRW commented Sep 24, 2026 •

Copy link
Copy Markdown
Owner

Fix

Stacks on lnreader#2529 — merge after it. This branch sits on that PR's head, so the diff here is only the chapter-list fix on top. Fixes lnreader#2490.

Galaxy Novels novel pages render only the latest 30 chapters (data-per-page="30", 30 data-chapter-id items) with an empty data-index-url, so parseNovel fell through to the page list and returned just the latest 30 — chapters 1–621 of a 651-chapter novel were unreachable.

parseNovel now reads data-manifest-url from the chapters container and loads the full index the way the site's own reader does: the manifest's pack_url file holding every chapter, with live_tail merged over the pack by chapter id (newest wins), sorted ascending. When the manifest is absent, unreachable, or malformed it returns null and parseNovel falls back to the existing HTML list — never an empty list. Only the chapters-container manifest is used; the second manifest on the page covers the VIP time-locked schedule and is ignored, matching the total the site itself renders. Chapter-body and lock handling are untouched. Version 1.1.1 → 1.1.2.

Verification (live, 2026-09-24)

check:plugin: 30 chapters before, 651 after; popular (20), search (1), and chapter steps pass. Served counts equal the manifest's own totals in the same run (651/651, 3155/3155, 234/234), numbering contiguous 1..N with no gaps or duplicates; a previously unreachable first chapter returns full text. Fallback proven with manifest requests blocked (30 page-derived chapters, not empty). build:compile and build:multisrc pass; eslint clean on the touched file (2 repo-wide errors pre-existing). AI-authored change, no human review.

The novel page only renders the latest 30 chapters and data-index-url
is empty, so parseNovel now reads data-manifest-url from the chapters
container, merges the pack file with live_tail the way the site reader
does, and falls back to the page-derived list when the manifest is
absent or malformed.

This change was authored by an AI coding agent.

Co-Authored-By: firstmate-crewmate <crewmate@firstmate.local>
@RibatTRW

Copy link
Copy Markdown
Owner Author

This change now lives in lnreader#2529. It was cherry-picked there unchanged as 99d71f3 (Galaxy Novels 1.1.1 → 1.1.2). lnreader#2529 now closes lnreader#2667 and lnreader#2490.

Re-checked against the live site on 2026-10-11. The chapter manifest path still works:

  • i-can-copy-talents: 3155 of 3155 chapters (manifest total 3155)
  • after-billions-of-deaths-…: 156 of 156
  • the-auction-returns-…: 1797 of 1797

Each list is numbered 1..N with no gaps, and chapter 1 opens. Before the fix each novel showed only the latest 30.

lnreader#2529 also adds one follow-up for this plugin: when it falls back to the 30 chapters on the novel page, it now lists them oldest first.

Screenshots below are from this repo's plugin playground, run in headless Chromium, not from the LNReader app.

This comment was written by an AI coding agent working for the PR author.

Before (1.1.1): only 30 chapters, newest first

After (1.1.2): 156 chapters, chapter 1 first

After: the list ends at chapter 156

After: i-can-copy-talents lists 3155 chapters

After: the list ends at chapter 3164 (position 3155)

After: chapter 1 opens with its text

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant