Repository navigation
Conversation
|
No actionable comments were generated in the recent review.
|
| Layer / File(s) | Summary |
|---|---|
Choose route history action packages/web/src/app.tsx |
Route app links replace the current history entry when the paths match without query strings. Otherwise, they push navigation. Non-route app-link handling is unchanged. |
Priority:
Estimated code review effort: 2 (Simple) | ~10 minutes
Change: Bug fix
Possibly related PRs
- Viren070/AIOStreams#1674: Adds Vimu as an Android external player and generates a return URL used in the external-player route flow.
Suggested reviewers: viren070
Merge Risk: 
Minimal · up to 5ec21
-
No actionable merge-blocking risk is identified in the route-history change. It appears mergeable subject to normal checks.
Pre-merge checks: 
5
-
Full details: Docstring Coverage
-
Explanation
Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 1 functions across 1 files.
-
Finishing Touches
-
🧪 Generate unit tests (beta)
-
- Create a new PR
-
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
A rabbit hops along the route,
And checks the query on the way.
Same path? Replace the history.
New path? Push it into play.
Then nibble clover by the bay.
Comment @coderabbitai help to get the list of available commands.
Coming back from an external player (VLC, MX Player, mpv, Vimu or another app) on Android, the first press of Back did nothing visible and the second did what the first should have.
The app hands the player's return link (
aiostreams://return/item/…?played=…&source=…) to the page, which navigated to it with a push. The item page was already the current entry, so the history held it twice: once as the user left it, once as the return.useExternalReturnthen stripped the marks withreplaceState, which left two identical entries. Back moved from one to the other.The route handler now replaces the entry when the link names the page already shown (path compared without its query, so an episode's
?season=…&episode=…still matches its series page) and pushes otherwise, so a link that opens a different page, or the app from cold, keeps its history as before.Tested:
pnpm -F @aiostreams/web typecheck,lintand prettier pass. Reasoned from the code on a Homatics Box R 4K Plus (Android TV 14) where the double Back was reproduced with Vimu; the same path serves every link player.Summary by CodeRabbit