* fix: harden preload argv parsing for popup windows * fix: align youtube playback with shared overlay startup * fix: unwrap mpv youtube streams for anki media mining * docs: update docs for youtube subtitle and mining flow * refactor: unify cli and runtime wiring for startup and youtube flow * feat: update subtitle sidebar overlay behavior * chore: add shared log-file source for diagnostics * fix(ci): add changelog fragment for immersion changes * fix: address CodeRabbit review feedback * fix: persist canonical title from youtube metadata * style: format stats library tab * fix: address latest review feedback * style: format stats library files * test: stub launcher youtube deps in CI * test: isolate launcher youtube flow deps * test: stub launcher youtube deps in failing case * test: force x11 backend in launcher ci harness * test: address latest review feedback * fix(launcher): preserve user YouTube ytdl raw options * docs(backlog): update task tracking notes * fix(immersion): special-case youtube media paths in runtime and tracking * feat(stats): improve YouTube media metadata and picker key handling * fix(ci): format stats media library hook * fix: address latest CodeRabbit review items * docs: update youtube release notes and docs * feat: auto-load youtube subtitles before manual picker * fix: restore app-owned youtube subtitle flow * docs: update youtube playback docs and config copy * refactor: remove legacy youtube launcher mode plumbing * fix: refine youtube subtitle startup binding * docs: clarify youtube subtitle startup behavior * fix: address PR #31 latest review follow-ups * fix: address PR #31 follow-up review comments * test: harden youtube picker test harness * udpate backlog * fix: add timeout to youtube metadata probe * docs: refresh youtube and stats docs * update backlog * update backlog * chore: release v0.9.0
4.0 KiB
id, title, status, assignee, created_date, updated_date, labels, dependencies, references, priority, ordinal
| id | title | status | assignee | created_date | updated_date | labels | dependencies | references | priority | ordinal | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TASK-228 | Assess and address PR #31 subsequent CodeRabbit review round | Done |
|
2026-03-24 04:10 | 2026-03-24 06:41 |
|
|
medium | 146500 |
Description
Inspect the subsequent CodeRabbit review round on PR #31 after commit cdb12827, verify each newly reported issue against the current branch, implement the valid fixes with regression coverage where appropriate, and prepare/update PR thread replies.
Acceptance Criteria
- #1 New CodeRabbit comments after
cdb12827are triaged into valid fixes vs declined suggestions with rationale. - #2 Confirmed issues are fixed with regression coverage where appropriate.
- #3 Relevant verification passes for the touched areas.
- #4 PR threads are updated for the addressed comments.
Implementation Plan
- Verify the new CodeRabbit comments after
cdb12827and separate valid bugs from refactor-only suggestions. - Add failing regression coverage for the valid runtime issues:
track.selectedfallback in the YouTube primary-subtitle notifier and consistent no-track handling in the picker. - Inspect existing test seams for the
main.tsflow-entry guards; if lightweight coverage exists, add it before patching. Otherwise apply the minimalmain.tsfixes and rely on typecheck plus targeted regression tests around the affected runtime helpers. - Implement the confirmed fixes: picker re-entry guard, broader
inFlightcleanup,track.selectedfallback, and a single canonicalhasTrackscheck. - Run targeted tests/typecheck and update the new PR threads with landed fix refs.
Implementation Notes
Triaged the post-cdb12827 CodeRabbit round. Implemented the 4 concrete follow-ups: manual picker re-entry guard, broader setAppOwnedFlowInFlight(...) cleanup, track.selected fallback in the YouTube primary-subtitle notifier, and a single canonical payloadHasTracks(...) helper in the picker. Also took the adjacent replaceChildren() cleanup while touching the same picker paths.
Verification passed: bun test src/main/runtime/youtube-primary-subtitle-notification.test.ts src/renderer/modals/youtube-track-picker.test.ts launcher/commands/playback-command.test.ts src/core/services/cli-command.test.ts and bun run typecheck.
Updated the new CodeRabbit inline threads with landed fix refs and left a top-level PR comment noting the large refactor suggestions are intentionally out of scope for this bugfix round.
Final Summary
Assessed the subsequent CodeRabbit review round on PR #31 after cdb12827 and applied the valid follow-ups in commit 5f6f93cd. Added a guard in openYoutubeTrackPickerFromPlayback() so the manual picker cannot re-enter while another YouTube flow session is active, widened the app-owned in-flight suppression to cover synchronous Windows mpv bootstrap and connect failures, taught the primary-subtitle notifier to honor track.selected before sid arrives, and unified the picker’s subtitle-availability logic behind payloadHasTracks(...) while swapping node clearing to replaceChildren().
Verification passed with bun test src/main/runtime/youtube-primary-subtitle-notification.test.ts src/renderer/modals/youtube-track-picker.test.ts launcher/commands/playback-command.test.ts src/core/services/cli-command.test.ts and bun run typecheck.
Updated the latest inline CodeRabbit threads plus a top-level PR comment summarizing the round and explicitly deferred the large refactor suggestions as non-blocking maintainability nits.