Skip to content

feat: holding back button while booting, boots to home screen as a mean of escaping boot loop#587

Merged
daveallie merged 4 commits intocrosspoint-reader:masterfrom
GenesiaW:feat/bootloop-reset-button
Feb 5, 2026
Merged

feat: holding back button while booting, boots to home screen as a mean of escaping boot loop#587
daveallie merged 4 commits intocrosspoint-reader:masterfrom
GenesiaW:feat/bootloop-reset-button

Conversation

@GenesiaW
Copy link
Contributor

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

@GenesiaW GenesiaW marked this pull request as draft January 28, 2026 09:54
@GenesiaW GenesiaW marked this pull request as ready for review January 28, 2026 10:00
@osteotek
Copy link
Member

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.

@GenesiaW
Copy link
Contributor Author

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

@osteotek
Copy link
Member

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.

@GenesiaW
Copy link
Contributor Author

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

@pablohc
Copy link
Contributor

pablohc commented Jan 29, 2026

@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.

nkocher added a commit to nkocher/crosspoint-reader that referenced this pull request Jan 31, 2026
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]>
@GenesiaW GenesiaW requested a review from osteotek February 3, 2026 14:05
@daveallie daveallie merged commit c868334 into crosspoint-reader:master Feb 5, 2026
1 check passed
jdk2pq added a commit to jdk2pq/crosspoint-reader that referenced this pull request Feb 5, 2026
* 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)
Unintendedsideeffects pushed a commit to Unintendedsideeffects/crosspoint-reader that referenced this pull request Feb 17, 2026
…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]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants