Repository navigation
Previous Chapter restarts the chapter you're in, unless you're at its start - #115
Merged
Merged
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
… start The player screen's Previous Chapter button always jumped to the chapter before. It now restarts the current chapter when you are more than 3 seconds in, and only goes back one inside that window. It also stays enabled in chapter 1 so you can restart it. The rule lives in one place (previousChapterTarget) and the MediaSession (Android Auto, notification, lock screen) uses it too, so the two cannot drift apart again. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014XfNSe18pmZggK4TswCohg
Codex review: the button read the 500 ms position poll, which freezes on pause, so right at the 3 second line it could pick the wrong chapter. It now reads the player directly and works out the chapter from that. The notification, media keys and Android Auto now call the same PlaybackManager method as the button (books without chapters keep the plain player Previous). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014XfNSe18pmZggK4TswCohg
Codex review: after a failed load of another book the player has no media items and reads 0, which would send the shown book to chapter 1. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014XfNSe18pmZggK4TswCohg
After rebasing onto #114: a book parked at its end has the player at 0:00, so Previous reads the shown end position there instead of the player. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014XfNSe18pmZggK4TswCohg
StaticHumStudio
force-pushed
the
fix/220i-chapter-back
branch
from
November 5, 2026 14:14
8618880 to
7870e27
Compare
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.
Jeff found it in the 2.2.0 test build. The player screen's Previous Chapter button always jumped to the start of the chapter before. Now:
The rule lives in one place (
previousChapterTarget), and the notification, media keys and Android Auto now call the samePlaybackManager.skipToPreviousChapter()as the button. Books without chapters keep the plain player Previous.It reads the live player position, not the 500 ms poll (which freezes on pause), and keeps the retained position when the player is empty after a failed load of another book.
Checks
Known, not from this change: after a seek while paused, the system media session keeps the old position until playback resumes.
🤖 Generated with Claude Code
https://claude.ai/code/session_014XfNSe18pmZggK4TswCohg