Repository navigation
perf: skip the plugin sleep event setup when plugins are off - #625
Merged
Merged
Conversation
enterDeepSleep() took the render lock, read the battery and copied the book path for pluginevents::prepareSleep() before that function returned on plugins off. Gate the block at the call site. The readers' progress save in preparePluginSleep() and trustedtime::note() (the clock floor restored at every cold boot) still run. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QrEdpxLkuVrifx7ahhZV13
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
Review finding (plugins port): every sleep took the render lock, read the battery and copied the book path for
pluginevents::prepareSleep()before that function returned on plugins off; andtrustedtime::note()does an NVS read plus a write when the clock moved 60 s, plugins on or off.Fix:
enterDeepSleep()gates the SleepEnter block onSETTINGS.pluginsEnabled. Saves a render-lock wait (can block on an in-flight frame), a gauge read and a string copy per sleep with plugins off.Left as is, with reasons:
activityManager.preparePluginSleep(): despite the name it runs the readers' progress save, so it must run with plugins off (comment added).trustedtime::note(): it persists the clock floor thattrustedtime::init()restores at every cold boot, so the clock keeps moving forward after power loss for everyone, not only plugins. One small NVS write per sleep once the clock moved 60 s.Hardware check: X4 Pro, plugins off, read a book, sleep and wake: book reopens at the same page (progress saved). Plugins on: SleepEnter still fires.
No changelog: internal sleep-path trim, no user-visible change.
Generated by Claude Code