Repository navigation
Merge uxjulia/crossink development 3efe61b into development - #70
Merged
Merged
Conversation
side/front buttons now move between tabs and rows when in settings instead of only up/down.
Adapt the contributor build fixes to current development and repair clean-checkout dependencies and stale parser fixtures exposed by the full native suites.
Co-authored-by: LegendaryDrogan <98139046+LegendaryDrogan@users.noreply.github.com>
Queue Library touch gestures and button actions while the screen refreshes, preserving input order and the existing tap tolerance and device controls. Keep a clean Library scan across deep sleep so waking opens it faster. External SD-card edits while asleep require Library > Refresh; cold boots, failed scans, and in-app file changes still reconcile the index.
…ized epubs can still sync (fixes uxjulia#804)
Conflicts kept CrossInk's implementation where both sides built the same feature (sleep-before-exit, state CRC skip, silent-reboot light, Library index reuse/input latching), adapting upstream intent where it adds to it. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QZEz8VPAD7dH6CuVCTHHwL
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QZEz8VPAD7dH6CuVCTHHwL
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Clankmaster · project thread
Before:
developmentwas 23 upstream commits behind uxjulia/crossinkdevelopment.After:
developmentcarries upstream through3efe61b. Upstream has nodevbranch;developmentis the one that moves.Merged range:
9dd334d..3efe61b(our basefe30164). SDK pin unchanged (upstream didn't touch it).Upstream commits
Display-safety review (timing / sleep-wake)
No LUT, VCOM, PLL or waveform changes upstream. Touching sleep/wake or refresh choice:
onExit(), Direct grayscale skips the B/W decode. We already had the same (bf19c41/perf(sleep): show image and cover sleep screens sooner #45); kept ours, see conflicts.RTC_NOINITScanSleepTokensaved just beforeStorage.shutdown()inenterDeepSleep()and consumed on deep-sleep wake (main.cpp). Merged in.FAST_REFRESHafter a theme change in the drawer.Conflicts (24 files)
CHANGELOG.mdplatformio.inicheck_flags(more suppressions), plus upstream's commentlib/LibraryIndex/LibraryBuilder.cpprestoreLibraryIndexAfterSleep()+ ourbuildLibraryIndexsignaturesrc/CrossPointState.{h,cpp}Storage.exists()check so a deleted state file is rewritten (upstream testRecreatesDeletedStateFile); dropped upstream's unusedStateCrcWritersrc/SettingsList.hSettingsList.cpp, #69); ported upstream's Orientation Aware Toggle into the .cppsrc/activities/ActivityManager.cppliveAmounttracking inside upstream'sleftEdgeBandguard.goToSleep: our staticrendersBeforeExit, plus upstream'smakeUniqueNoThrow+ allocation-failure fallbacksrc/activities/boot_sleep/SleepActivity.{h,cpp}rendersBeforeExit, compile-time S3 gate, Extend margin sizing)src/activities/home/HomeActivity.cppopenBookname kept; upstream's removedupdateSlidingWindowCachestub droppedsrc/activities/library/LibraryActivity.{h,cpp}src/activities/reader/EpubReaderDrawerActivity.{h,cpp}#if CROSSINK_APP_READER_SAMPLE_PREVIEWblocks; upstream touch-aware default drawer state, kept as const ref to match our .cppsrc/activities/reader/XtcReaderActivity.cppsrc/main.cppSILENT_REBOOT_FRONTLIGHT_*bit flags). Sleep: ours + upstreamlibraryScanSleepToken.save(). Wake: ourreleaseAfterWake()+ upstream boot-state log. Loop:InputWake::wait(inputPollDelayMs)(our wake-early wait at upstream's per-activity rate)src/network/CrossPointWebServer.cppsrc/util/BookCacheUtils.cpp,src/util/ReaderStatusBarConfig.htest/content_opf_parser/ContentOpfParserTest.cpptest/section_persistence/*test/chapter_html_slim_parser/*ImageDimsProbestubs (our CMake links the real file)Also:
scripts/test_silent_restart_frontlight.pyremoved (it drives upstream's bit-flag encoding, which we don't use);src/simulator/SimulatorSmokeTest.cppkeeps our Library steps instead of upstream's Recent Library / input-buffer steps.Not carried: e1fd43e + 3ebedbf Library parts
Both sides rewrote
LibraryActivity(~400 lines each). Ours already latches input while rendering and reuses the index by storage generation, with the background prewarm and row cache built on that. Upstream's ordered input queue (LibraryInputBuffer) and the Recently Read path that skips the index are built on its index-dirty model. Porting them is a follow-up, not a merge resolution.LibraryInputBuffer.hand its test come in unused.Checks
pio run -e default(C3): flash 96.1% (6,300,901 B) vs basefe3016496.0% (6,288,745 B): +12,156 B. RAM unchanged (19.8%).BookmarkStore/ClippingStoreraw loops from b61acd1,LyraCarouselTheme::drawReadingProgressconst renderer from e111710,KeyboardEntryActivitywraparound false positive from bfba2bb, suppressed inline). Fixed in 126d1c6;pio checkdefault + sticky clean locally.🤖 Generated with Claude Code
https://claude.ai/code/session_01QZEz8VPAD7dH6CuVCTHHwL