From 5ca72ef2315716d5cb5008ecc5d27b2b34103843 Mon Sep 17 00:00:00 2001 From: cottongin Date: Sun, 8 Mar 2026 06:04:25 -0400 Subject: [PATCH] docs: add chat summary for three reader bug fixes Made-with: Cursor --- chat-summaries/2026-03-08_12-00-summary.md | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 chat-summaries/2026-03-08_12-00-summary.md 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