readest/apps/readest-app
Huang Xin b0cc5461af
Some checks are pending
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
CodeQL Advanced / Analyze (rust) (push) Waiting to run
PR checks / rust_lint (push) Waiting to run
PR checks / build_web_app (push) Waiting to run
PR checks / build_tauri_app (push) Waiting to run
Deploy to vercel on merge / build_and_deploy (push) Waiting to run
refactor(toc): cache navigable structure per book (#3869)
* refactor(toc): cache TOC + section fragments per book

Moves the TOC regrouping and section-fragment computation out of
foliate-js/epub.js #updateSubItems into the readest client as
computeBookNav / hydrateBookNav in utils/toc.ts. The result is
persisted to Books/{hash}/nav.json — capturing the book's full
navigable structure (TOC hierarchy + sections with hierarchical
fragments). Compute once, persist locally, hydrate on subsequent
opens. Designed to serve current human-facing navigation (TOC
sidebar, progress math) and future agentic navigation (LLM-driven
seeking by structural location).

Versioned by BOOK_NAV_VERSION for forward invalidation. Existing
books regenerate transparently on next open.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* chore: update worktree scripts

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 20:15:10 +02:00
..
.claude fix(ux): optimize scrolling UX for the bookshelf and sidebar content (#3849) 2026-04-12 20:52:12 +02:00
docs feat(settings): add an option to avoid overriding paragraph layout, closes #3824 (#3858) 2026-04-13 09:42:53 +02:00
e2e chore(testing): add Tauri integration tests and E2E test infrastructure (#3483) 2026-03-05 19:14:01 +01:00
extensions/windows-thumbnail chore: enforce prettier, ignore submodules and vendor files (#3018) 2026-01-21 14:53:02 +01:00
public fix(i18n): fix translations in RU (#3866) 2026-04-14 08:54:05 +02:00
scripts refactor(toc): cache navigable structure per book (#3869) 2026-04-14 20:15:10 +02:00
src refactor(toc): cache navigable structure per book (#3869) 2026-04-14 20:15:10 +02:00
src-tauri feat(windows): use overlay scrollbar (#3868) 2026-04-14 19:03:07 +02:00
.env fix: resolve various tracked exceptions in ph (#3584) 2026-03-22 08:16:38 +01:00
.env.local.example feat(discord): support show reading status with Discord Rich Presence, closes #1538 (#2998) 2026-01-19 17:42:19 +01:00
.env.tauri fix(flathub): use custom dbus id for single instance on Linux (#2971) 2026-01-16 05:59:25 +01:00
.env.tauri.example feat(ai): AI reading assistant phase 2 (#3023) 2026-01-24 11:38:48 +01:00
.env.web Support running Readest in modern browsers 2024-12-05 18:57:16 +01:00
.env.web.example feat(ai): AI reading assistant phase 2 (#3023) 2026-01-24 11:38:48 +01:00
.gitignore fix(ui): restore highlight options layout and clean up color name editing (#3776) 2026-04-06 16:48:12 +02:00
AGENTS.md chore(agent): use claude in chrome for web based qa (#3847) 2026-04-12 12:26:20 +02:00
biome.json fix(layout): fixed layout of progress bar in vertical mode (#3749) 2026-04-04 21:20:34 +02:00
CLAUDE.md chore(agents): add AGENTS.md for readest-app (#3415) 2026-02-28 15:30:31 +01:00
components.json refactor: rename components/ui to components/primitives (#3064) 2026-01-25 06:41:18 +01:00
i18next-scanner.config.cjs feat(i18n): add Hungarian translation and translate new keys across all locales (#3753) 2026-04-05 00:15:48 +02:00
next.config.mjs chore(fdroid): get rid of wasm binaries in fdroid build (#3677) 2026-03-29 18:31:46 +02:00
open-next.config.ts bump: upgrade opennext and wrangler to latest versions (#1345) 2025-06-05 10:46:52 +02:00
package.json release: version 0.10.6 (#3861) 2026-04-13 12:55:13 +02:00
postcss.config.mjs Add library page and daisyUI 2024-10-12 21:14:04 +02:00
raw-loader.d.ts Add some fonts that are good for reading 2024-11-04 13:39:38 +01:00
release-notes.json release: version 0.10.6 (#3861) 2026-04-13 12:55:13 +02:00
tailwind.config.ts chore: bump next.js to the latest version (#3106) 2026-01-29 12:29:17 +01:00
tsconfig.json chore(docs): add worktree management for isolated PR review and feature work (#3810) 2026-04-09 19:42:47 +02:00
vite.config.ts chore: experimental vinext build (#3486) 2026-03-06 18:04:28 +01:00
vitest.browser.config.mts fix(style): clamp oversized hardcoded pixel widths and fix browser test flakiness (#3785) 2026-04-07 07:23:30 +02:00
vitest.config.mts fix(ui): restore highlight options layout and clean up color name editing (#3776) 2026-04-06 16:48:12 +02:00
vitest.env.mts feat(node): refactor appService into focused service modules and add app service for Node runtime (#3530) 2026-03-13 17:51:35 +01:00
vitest.setup.ts feat(pdf): support TTS and annotation on PDFs, closes #2149 & #3462 (#3493) 2026-03-09 10:28:19 +01:00
vitest.tauri.config.mts feat(node): refactor appService into focused service modules and add app service for Node runtime (#3530) 2026-03-13 17:51:35 +01:00
vitest.tauri.setup.ts feat(node): refactor appService into focused service modules and add app service for Node runtime (#3530) 2026-03-13 17:51:35 +01:00
wdio.conf.ts chore(testing): add Tauri integration tests and E2E test infrastructure (#3483) 2026-03-05 19:14:01 +01:00
wrangler.toml feat(tts): support edge tts on cloudflare worker (#3819) 2026-04-10 15:32:06 +02:00