fix(playback): harden cache identity, refresh preserve, and fallback#10
Draft
KitsuneKode wants to merge 9 commits into
Draft
fix(playback): harden cache identity, refresh preserve, and fallback#10KitsuneKode wants to merge 9 commits into
KitsuneKode wants to merge 9 commits into
Conversation
…assets GitHub resolves local composite actions from the workspace before any step runs, so nesting checkout inside setup-bun-monorepo made every CI/release/ build-binaries job fail instantly since that action landed. Callers now checkout first; the composite only sets up Bun/caches/install. Also: native smoke matrix for host binaries, fail_on_unmatched_files + asset-count assert on release upload, clearer empty-release installer errors, and fix install.ps1 returning early after mpv so yt-dlp is offered. Co-authored-by: Manash Pratim Bhuyan <bhuyanmanash2002@gmail.com>
v0.2.6.json has an empty sections array (changelog body has no ### headings). The docs test required sections and failed once CI actually ran again after the checkout fix. Co-authored-by: Manash Pratim Bhuyan <bhuyanmanash2002@gmail.com>
cursor
Bot
force-pushed
the
cursor/playback-reliability-cache-and-fallback-ad11
branch
from
July 9, 2026 20:52
dea2f8b to
ef7d346
Compare
These failures only surfaced once CI started executing the full suite again (#8). Fix the durable diagnostics retention time bomb, make install.ps1 dry-run succeed without LOCALAPPDATA/network, stop mock.module leaking from palette tests into history/overlay tests, and gate live Miruro network checks.
2 tasks
cursor
Bot
force-pushed
the
cursor/playback-reliability-cache-and-fallback-ad11
branch
from
July 9, 2026 21:08
ef7d346 to
26a9e05
Compare
Typecheck failed because openSetupWizardFromShell was mocked as Promise<void> instead of Promise<SetupWizardResult>, which also broke Format (turbo depends on typecheck for fmt:check).
…rship Make the deprecated preferred-source unit test mock network instead of live fetch, and harden Videasy so deprecated preferred ids never bias cycle order or probe Sanji/1movies. Document that resolveEscTransition stays unused at runtime because root-overlay-shell + resolveOverlayBackStack already own Esc.
Replace mock.module in watch-genre-stats with a restored spy so later tmdb-proxy/title-detail/recommendation tests see the real module, and use relative timestamps in stats-service so windowed averages stay valid.
cursor
Bot
force-pushed
the
cursor/playback-reliability-cache-and-fallback-ad11
branch
from
July 9, 2026 21:15
26a9e05 to
912486b
Compare
Include qualityPreference in source-inventory cache keys, force-health-check cached streams before preserve-on-fresh-failure, pass live cancellationReason from PlaybackPhase aborts, pick health-aware fallback providers, and use the actual failing provider name in title-health suggestion copy.
cursor
Bot
force-pushed
the
cursor/playback-reliability-cache-and-fallback-ad11
branch
from
July 9, 2026 21:19
912486b to
72a0448
Compare
4 tasks
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.
Problem
Playback felt flaky after recent resolve/cache/media-panel work for several root causes (not symptoms):
preserveCachedStreamOnFreshFailurecould return a cached stream after fresh resolve failed without a forced health check.cancellationReasonexisted but PlaybackPhase never set it, so late valid resolves after navigation/fallback were discarded instead of persist-only cache warmth.Fix
qualityPreferencein source-inventory cache preimage and wire through resolve/invalidationuser-navigation/provider-fallback/user-shutdowncancellation reasons from PlaybackPhasedown, prefer title-health suggestion)CI note
Rebased onto #8. Prior CI failures were the shared
setup-bun-monorepocheckout bug.Tests
Targeted unit tests for inventory identity, preserve-cache health, work cancellation, and fallback picker.
Out of scope
Shell overlay keep-alive, diagnostics trust, and provider UI honesty (separate PRs).