diff --git a/chat-summaries/2026-03-08_12-00-summary.md b/chat-summaries/2026-03-08_12-00-summary.md new file mode 100644 index 00000000..46de4a78 --- /dev/null +++ b/chat-summaries/2026-03-08_12-00-summary.md @@ -0,0 +1,31 @@ +# Fix Three Reader Bugs on mod/master + +**Date**: 2026-03-08 +**Branch**: mod/master +**Commit**: 422cad7 + +## Task + +Fixed three bugs reported after merging the upstream PR ports: + +## Changes + +### Bug 1: Confirm button ignored after TOC navigation +- **File**: `src/activities/reader/EpubReaderActivity.cpp` +- **Root cause**: `ignoreNextConfirmRelease` was set to `true` on long-press but never cleared after being transferred to the child `EpubReaderChapterSelectionActivity`. The parent's flag remained `true`, causing the next Confirm press to be silently consumed. +- **Fix**: Added `ignoreNextConfirmRelease = false;` immediately after capturing the value into `consumeRelease`. + +### Bug 2: Footnotes inaccessible from reader menu +- **File**: `src/activities/reader/EpubReaderMenuActivity.cpp` +- **Root cause**: `buildMenuItems()` accepted a `hasFootnotes` parameter but never used it to add the `MenuAction::FOOTNOTES` entry. +- **Fix**: Added conditional `FOOTNOTES` menu item after DICTIONARY when `hasFootnotes` is true. + +### Bug 3: Phantom screen re-render at idle +- **File**: `src/main.cpp` +- **Root cause**: The clock update logic in `loop()` called `activityManager.requestUpdate()` every minute when the displayed minute changed. Reader activities don't show the clock, but still received full page re-renders, causing visible e-ink flashes while idle. +- **Fix**: Guarded the clock block with `!activityManager.isReaderActivity()`. + +## Follow-up + +- Hardware testing needed for all three fixes +- Bug 3 fix means the clock won't update while reading; it resumes updating when returning to non-reader activities