Persist auto page turn interval per book#192
Conversation
…tation With CW, CCW, Inverted orientations When in Reader If you open Book menu > Reader Options > Customize Status Bar The preview is drawn in the incorrect location due to a hardcoded offset, this commit sets this to change based on orientation
* fix(opds): show more specific opds errors for low memory scenario * fix(opds): free sd font before catalog loading * fix: improve font download timeout diagnostics * fix(opds): show more specific opds errors for low memory scenario * fix(opds): free sd font before catalog loading * fix: increase opds transfer buffer back up to 4096 and increase font buffer to 2048kb
…CrossInk into fix/per-book-auto-turn-interval
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c8c6f6a431
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| setError("Could not read device id"); | ||
| return; |
There was a problem hiding this comment.
Localize nearby-sync error strings
The new activity shows raw English error literals directly to users (for example via setError("Could not read device id") and then rendering errorMessage_), which bypasses the existing tr(STR_*) localization path and breaks non-English UI behavior. This violates the repo’s UI-string rule and makes the new flow inconsistent with the rest of the product in translated builds.
Useful? React with 👍 / 👎.
| peerSeen_ = true; | ||
| peerSourceMac_ = event.sourceMac; | ||
| peerDeviceMac_ = event.deviceMac; | ||
| peerId_ = bytesToHex(peerDeviceMac_.data(), peerDeviceMac_.size()); |
There was a problem hiding this comment.
Bind sync state to a single peer per session
While syncing, each incoming packet overwrites peerSourceMac_/peerDeviceMac_ unconditionally, so packets from different nearby readers can mix into one session. In a multi-device environment, an ACK from reader B can satisfy localStatsAcked_ for stats saved from reader A, and subsequent retries are sent to the wrong peer MAC, causing false “synced” success or partial exchange. The session should lock onto the first peer for an attempt and ignore other senders until reset.
Useful? React with 👍 / 👎.
Summary
NoneAuto Page Turn interval inreader_settings.binunder that book's cache folder.Root Cause
The Auto Page Turn picker previously used
pageTurnDuration, which only lived in the activeEpubReaderActivityinstance. Reopening a book reset that value to0, so the picker fell back to the default interval instead of the user's last chosen interval.Validation
pio run -e simulatorpio run -e tinyHardware QA
Noneor by backing out.