feat: holding back button while booting, boots to home screen as a mean of escaping boot loop#587
Conversation
…an of escaping boot loop
|
That’s much needed, thanks. Do you think we can automatically escape the boot loop? Perhaps we could add a flag alongside the book cache. |
That's a great idea, that will definitely help improve the UX if any boot loop were to occur. I will take a look into that and see what can be done |
|
Yes, perhaps add a flag after starting the processing of an EPUB file and clear it after it finishes. Upon boot, if such a flag is present, we know that the previous load had failed and don’t start again. |
|
Hi @osteotek, I have added the changes as requested. Instead of using a flag, I chose to use a counter to track the number of attempts as an app wide state. The attempts counter will be reset on successful exit of any form of reader (epub, txt, xtc) activity which implies that it was able to exit safely. A decision that I made was to allow the reader have up to 3 attempts to load the book. I'm not sure if this retry mechanism is required |
|
@GenesiaW Often, wrong configurations loaded in settings.ini generate that loop. I suppose it could also be added to the deletion by holding down the button when starting the device. |
crosspoint-reader#576, crosspoint-reader#587, crosspoint-reader#600 into custom-v16 Integrate 5 upstream PRs: - crosspoint-reader#612: WiFi error text fixes - crosspoint-reader#552: Home cover dimension fix - crosspoint-reader#576: Don't wake on USB connect - crosspoint-reader#587: Boot loop escape - crosspoint-reader#600: System-wide continuous navigation (ButtonNavigator) Manually added ButtonNavigator to EpubReaderMenuActivity (custom file not in upstream) for hold-to-navigate support in reading menu. Co-Authored-By: Claude Opus 4.5 <[email protected]>
Co-authored-by: Arthur Tazhitdinov <[email protected]>
* master: feat: add shift lock to KeyboardEntryActivity (crosspoint-reader#513) feat: rename and move in file manager (crosspoint-reader#630) feat: Implement fix for sunlight fading issue (crosspoint-reader#603) chore: Add PR title check on sync (crosspoint-reader#698) feat: Go To Position for epubs (crosspoint-reader#666) feat: Calibre Web Automated (CWA) koreader sync server support (crosspoint-reader#594) chore: Add CI check job to consolidate status (crosspoint-reader#696) chore: CI Build Summary - firmware stats, firmware artifact (crosspoint-reader#601) feat: quick rotate option in epub reader menu (crosspoint-reader#685) feat(settings): add "Cover + Custom" sleep screen mode (crosspoint-reader#582) fix: Artifacts on Thumb on Home Screen (crosspoint-reader#662) feat: holding back button while booting, boots to home screen as a mean of escaping boot loop (crosspoint-reader#587) docs: Add small SCOPE.md and GOVERNANCE.md documents (crosspoint-reader#640) feat: front button remapper (crosspoint-reader#664) feat: UI themes, Lyra (crosspoint-reader#528) feat: Add CSS parsing and CSS support in EPUBs (crosspoint-reader#411) fix: move http upload state to heap (crosspoint-reader#657)
…an of escaping boot loop (crosspoint-reader#587) ## Summary * **What is the goal of this PR?** (e.g., Implements the new feature for file uploading.) - Allows back button to be held to escape boot loops when reader activity crashes and device attempts to boot to previous state - Reduces the need of removing SD card and access to another device to delete the `/.crosspoint/state.bin` * **What changes are included?** - Back button can be held while booting to boot to home screen - Update of User Guide section to include this feature ## Additional Context * Add any other information that might be helpful for the reviewer (e.g., performance implications, potential risks, specific areas to focus on). --- ### AI Usage While CrossPoint doesn't have restrictions on AI tools in contributing, please be transparent about their usage as it helps set the right context for reviewers. Did you use AI tools to help write this code? _**NO**_ --------- Co-authored-by: Arthur Tazhitdinov <[email protected]>
Summary
What is the goal of this PR? (e.g., Implements the new feature for file uploading.)
/.crosspoint/state.binWhat changes are included?
Additional Context
specific areas to focus on).
AI Usage
While CrossPoint doesn't have restrictions on AI tools in contributing, please be transparent about their usage as it
helps set the right context for reviewers.
Did you use AI tools to help write this code? NO