# 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