mirror of
https://github.com/readest/readest.git
synced 2026-07-09 16:00:16 +00:00
|
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
Publish Docker image / build (linux/amd64, ubuntu-latest) (push) Waiting to run
Publish Docker image / build (linux/arm64, ubuntu-24.04-arm) (push) Waiting to run
Publish Docker image / merge (push) Blocked by required conditions
PR checks / rust_lint (push) Waiting to run
PR checks / build_web_app (push) Waiting to run
PR checks / test_web_app (1) (push) Waiting to run
PR checks / test_web_app (2) (push) Waiting to run
PR checks / test_extensions (push) Waiting to run
PR checks / build_tauri_app (push) Waiting to run
Scorecard supply-chain security / Scorecard analysis (push) Waiting to run
Deploy to vercel on merge / build_and_deploy (push) Waiting to run
* fix(tts): guard highlight-follow against empty contents and null range handleHighlightMark runs as a synchronous 'tts-highlight-mark' listener, so any exception it throws escapes dispatchSpeakMark's try/catch to window.onerror. Two unguarded dereferences crashed there on Readest@0.11.18: - getContents() is empty mid-relocate (section still loading, or the view was torn down), so `find(...) ?? [0]` is undefined and destructuring `doc` throws (READEST-19). - resolveCFI's anchor(doc) can return null when the cfi does not resolve in the doc; the null range then crashed foliate's scrollToAnchor (it reads range.startContainer) or getBoundingClientRect in scrolled mode (READEST-21). Bail out early in both cases. Adds three regression tests. Fixes READEST-19 Fixes READEST-21 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(reader): handle book-open failures instead of leaking a rejection appendBook and openBookInReader call initViewState fire-and-forget. When the book is missing (initViewState rejects with "Book not found" after a library reload dropped the in-memory entry) the rejection had no handler and surfaced as an unhandled rejection (READEST-1V). ReaderContent already catches its own initViewState call; mirror that here with a toast so the user learns the open failed. Adds a regression test. Fixes READEST-1V Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(reader): bump foliate-js for scrolled autoscroll and PDF link fixes Bumps foliate-js to readest/foliate-js#52: - FixedLayout exposes a writable containerPosition in scroll mode, so Auto Scroll (#4999) and middle-click autoscroll (#4951) stop crashing on PDF / CBZ / fixed-EPUB books read in scrolled mode (READEST-11). - The pdf.js annotation linkService implements getAnchorUrl, so PDFs with named-action / GoTo link annotations no longer reject the render with "getAnchorUrl is not a function" (READEST-2M). Adds a regression test asserting the FixedLayout containerPosition setter exists. Fixes READEST-11 Fixes READEST-2M Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(mobi): contain panics from the mobi crate when reading a cover mobi::Mobi::image_records() slices raw record bytes and panics on a truncated or corrupt file whose PDB record offsets are inverted ("slice index starts at N but ends at M", READEST-1Q / READEST-10). extract_cover ran it inside a spawn_blocking task, so the panic unwound and failed the whole parse_mobi_metadata import. Wrap the extraction in catch_unwind so a bad cover yields no thumbnail instead of a failed import (and never unwinds across the task boundary). Adds unit tests for the panic isolation. Fixes READEST-1Q Fixes READEST-10 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| foliate-js@c1b1bbf6b7 | ||
| js-mdict@d01bf62af8 | ||
| qcms@fc23a407f1 | ||
| simplecc-wasm@5e5b56f5b8 | ||
| swift-rs | ||
| tauri@405a41ed30 | ||
| tauri-plugins@4350ca652d | ||