Files
crosspoint-reader-mod/chat-summaries/2026-03-08_12-00-summary.md
2026-03-08 06:04:25 -04:00

1.6 KiB

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