Skip to content

feat: prefer complete local downloads before streaming extraction - #3290

Closed
SonAndE14 wants to merge 1 commit into
recloudstream:masterfrom
SonAndE14:contrib/local-first-playback
Closed

SonAndE14 wants to merge 1 commit into
recloudstream:masterfrom
SonAndE14:contrib/local-first-playback

Conversation

@SonAndE14

Copy link
Copy Markdown

Resolve a complete, readable downloaded file before requesting remote streaming links in the internal player. Keep the full episode list, local subtitle loading and next-episode behavior. Casting and explicit cache-clearing retry retain the remote path; a setting restores streaming-first behavior.

Completion requires a known matching size or a newly recorded completion marker and excludes active downloads. Unreadable, missing, partial or ambiguous old files fall back to remote extraction. The wrapper preserves the original Skip loading capability when remote links are available. Existing download metadata is not rewritten to a different schema.

Regression tests cover completeness decisions. Physical local/remote transitions, storage permissions and casting still require device QA.

Validation: :library:checkKotlinAbi, :app:testPrereleaseDebugUnitTest, and :app:assemblePrereleaseDebug passed locally. 12 JVM tests passed without failures or errors. Lint is left to this PR's GitHub workflow; the complete integration branch previously passed Lint. These results are not physical-device validation.

AI disclosure: implementation, code review and automated test execution used OpenAI Codex assistance, as required by AI-POLICY.md. This draft submits the implemented work for human review; pending physical checks and limitations above are not claimed complete. No changes to provider source code or the projector launcher are included.

@fire-light42

Copy link
Copy Markdown
Collaborator

This feature is interesting, but does not meet our code standards.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants