Files
crosspoint-reader-mod/chat-summaries/2026-02-19_10-46-summary.md
cottongin dfbc931c14 mod: Phase 1 - bring forward mod-exclusive files with ActivityManager migration
Brings ~55 mod-exclusive files to the upstream-based mod/master-resync branch:

Activities (migrated to new ActivityManager pattern):
- Clock/Time: SetTimeActivity, SetTimezoneOffsetActivity, NtpSyncActivity
- Dictionary: DictionaryDefinitionActivity, DictionarySuggestionsActivity,
  DictionaryWordSelectActivity, LookedUpWordsActivity
- Bookmark: EpubReaderBookmarkSelectionActivity
- Book management: BookManageMenuActivity, EndOfBookMenuActivity
- OPDS: OpdsServerListActivity, OpdsSettingsActivity
- Utility: DirectoryPickerActivity, NumericStepperActivity

Utilities (unchanged):
- BookManager, BookSettings, BookmarkStore, BootNtpSync
- Dictionary, LookupHistory, TimeSync, OpdsServerStore

Libraries: PlaceholderCover, TableData, ChapterXPathIndexer
Scripts: inject_mod_version, generate_book_icon, preview_placeholder_cover
Docs: KOReader sync XPath mapping

Migration changes:
- ActivityWithSubactivity -> Activity base class
- Callback constructors -> finish()/setResult() pattern
- enterNewActivity() -> startActivityForResult()
- Activity::RenderLock&& -> RenderLock&&

These files won't compile yet - they reference mod settings and I18n
strings that will be added in subsequent phases.

Made-with: Cursor
2026-03-07 15:10:00 -05:00

2.7 KiB

Sync mod/master with upstream 1.1.0-RC

Task Description

Integrated 19 missing upstream PRs from master (1.1.0-RC) into mod/master via phased cherry-picking, preserving all existing mod enhancements.

Changes Made

Branch Setup

  • Created safety branch mod/backup-pre-sync from mod/master
  • Created integration branch mod/sync-upstream-1.1.0 (19 cherry-picked commits + 1 cleanup)

Phase 1: Low-Risk PRs (8 PRs)

  • #646 Ukrainian hyphenation support (resolved conflict: merged with mod's OMIT_HYPH_* conditional compilation guards)
  • #732 Lyra screens (resolved 5 conflicts: preserved mod's clock, 3-cover layout, cover rendering; added upstream's drawSubHeader, popup, keyboard/text field methods)
  • #725 Lyra Icons (resolved conflicts: added icon infrastructure, iconForName(), Lyra icon assets; removed stale Lyra3CoversTheme.cpp)
  • #768 Tweak Lyra popup UI (resolved conflicts: preserved mod's epub loading logic, added upstream popup constants)
  • #880 Flash objects listing script (clean)
  • #897 Keyboard font size increase (clean)
  • #927 Translators list update (clean)
  • #935 Missing up/down button labels (resolved conflicts: kept GUI.drawList() over old manual rendering)

Phase 2: Medium-Risk PRs (8 PRs - all applied cleanly)

  • #783 KOSync repositioning fix
  • #923 Bresenham line drawing
  • #933 Font map lookup performance
  • #944 4-bit BMP support
  • #952 Skip large CSS files to prevent crashes
  • #963 Word width and space calculation fix
  • #964 Scale cover images up
  • #970 Fix prev-page teleport to end of book

Phase 3: Large PR

  • #831 Compressed fonts (30.7% flash reduction, 73 files). Resolved 2 conflicts: merged font decompressor init in main.cpp, merged clearFontCache with mod's silent indexing in EpubReaderActivity.

Phase 4: Overlap Assessment

  • #556 (JPEG/PNG image support): Confirmed mod already has complete coverage. All converter files identical. No action needed.
  • #980 (Basic table support): Confirmed mod's column-aligned table rendering is a strict superset. No action needed.

Post-Sync

  • Removed stale Lyra3CoversTheme.h (3-cover support merged into LyraTheme)
  • Fixed UITheme.cpp to use LyraTheme for LYRA_3_COVERS variant
  • Updated open-x4-sdk submodule to 91e7e2b (drawImageTransparent support for Lyra Icons)
  • Ran clang-format on all source files
  • Build verified: RAM 31.4%, Flash 57.0%

Follow-Up Items

  • Merge mod/sync-upstream-1.1.0 into mod/master when ready
  • On-device smoke testing (book loading, images, tables, bookmarks, dictionary, sleep screen, clock, home screen)
  • Safety branch mod/backup-pre-sync available for rollback if needed