Skip to content

fix(english/webnovel): add chapter dates and stats, fix ongoing status - #2777

Open
blackstargit wants to merge 1 commit into
lnreader:masterfrom
blackstargit:fix/webnovel-dates-stats
Open

blackstargit wants to merge 1 commit into
lnreader:masterfrom
blackstargit:fix/webnovel-dates-stats

Conversation

@blackstargit

Copy link
Copy Markdown

fix(english/webnovel): add chapter dates and stats, fix ongoing status

Changes (1.0.3 → 1.1.0)

  • Chapter release dates. Every chapter, including locked ones, gets its absolute publish time (ISO).
    Desktop catalog pages only show relative text ("7 years ago"). The mobile catalog
    (m.webnovel.com/book/<id>/catalog) embeds publishTime in __NEXT_DATA__, joined on li[data-cid].
    Chapter paths are unchanged, so existing libraries keep their progress.
  • Volume titles are kept in chapter names ("Volume 0: Auxiliary Volume: …"). The old regex dropped them.
  • Status. Ongoing novels showed "Unknown Status", because the old selector only exists for completed
    books. Status now comes from actionStatus (30 = Ongoing, 50 = Completed).
  • Genres include the novel's tags.
  • Stats. rating, ratingCount and display-ready info (views, power stones, golden tickets, chapters,
    schedule, last updated, translator, editor). These come from the mobile book page (~210 KB, against up to
    3.4 MB for the desktop page), with desktop g_data and the old HTML selectors as fallbacks.
    SourceNovel gains optional ratingCount and info.
  • Robustness.
    • Mobile extras are best-effort: one retry after 1.5 s, no retry on 404.
    • A blocked desktop catalog now throws a clear error instead of returning "No Title Found" /
      "https:undefined" placeholders that a metadata refresh could write over real data.
    • Invalid timestamps are skipped instead of throwing.

App-side note (please read)

Today the app marks a chapter as updated whenever its releaseTime changes. Without
lnreader/lnreader#2111, the first library update after this plugin version would put every WebNovel
chapter into the Updates tab, and again whenever the best-effort date fetch fails and later recovers. The
app PR fixes that. Chapters in titled volumes are renamed once either way, so they show up in Updates once.
ratingCount/info are ignored by the current app; a stats section could be proposed separately.

Testing

  • App: installed 1.1.0 from my fork's repository on a Pixel 9 Pro XL (LNReader with the app fix above).
    Working on my WebNovel library. We now see the chapter update dates, tags for the novel, the novel's current status, various stats, etc.
  • npm run check:plugin -- plugins/english/webnovel.ts: INCONCLUSIVE. Cloudflare challenged my PC
    ("Just a moment…" 403), including for unmodified 1.0.3.
  • Offline checks against captured pages (Lord of Mysteries, My Vampire System, Shadow Slave):
    • all 1,432 LoM paths are identical to the desktop hrefs;
    • every chapter has an ISO date, and without mobile data there are no dates and the count is unchanged;
    • status is correct for ongoing and completed books;
    • every fetch-failure path returns or throws as designed.
  • tsc -p tsconfig.production.json, eslint, prettier, npm run build:compile (ES5 output) all pass.

Related issues: none found (searched "webnovel").

- Chapter release dates: absolute publish time (ISO) for every chapter,
  including locked ones, from the mobile catalog's __NEXT_DATA__, joined to
  the desktop catalog on data-cid. Chapter paths are unchanged.
- Volume titles are kept in chapter names ("Volume 0: Auxiliary Volume: ...").
- Status from actionStatus: ongoing novels showed "Unknown Status".
- Genres include the novel's tags.
- rating, ratingCount and display-ready info (views, power stones, golden
  tickets, chapters, schedule, updated, translator, editor) from the
  lighter mobile book page, with desktop g_data and the old selectors as
  fallbacks.
- Mobile extras are best-effort (one delayed retry); a blocked desktop
  catalog now throws instead of returning placeholder metadata.

SourceNovel type gains ratingCount and info. Bump to 1.1.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@greptile-apps

greptile-apps Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 5/5

[Medium impact] The PR appears safe to merge; no actionable issues were found.

Summary

Adds chapter dates, full volume titles, tags, ratings, and extra stats to Webnovel novels. Uses mobile data first and keeps desktop chapter paths unchanged.

  • WebNovel chapters keep full volume names and gain release dates.
  • WebNovel novel results return richer details and the correct book status.

Acknowledgments: blackstargit notes that date changes can add chapters to Updates without the linked app fix. They also identify one-time chapter renames from keeping volume titles as intentional.

Reviews (1) · Last reviewed commit: "fix(english/webnovel): add chapter dates..." · Reviewed by Greptile

This branch has not been deployed

No deployments
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.

2 participants