Skip to content

Allow completed downloads after disconnected cold launch - #267

Merged
jlipworth merged 1 commit into
mainfrom
codex/issue-259-offline-cold-launch
Aug 22, 2026
Merged

jlipworth merged 1 commit into
mainfrom
codex/issue-259-offline-cold-launch

Conversation

@jlipworth

Copy link
Copy Markdown
Owner

Summary

  • distinguish a retained-but-temporarily-unavailable saved session from invalid or missing credentials
  • admit a deliberately restricted Offline launch surface only when a completed local media file is present
  • expose reconnect, sign-in, Settings, local playback, resume, and deletion without fabricating a browse-ready server session
  • keep tvOS on the existing sign-in path because it does not ship downloads
  • document the behavior and add it to the cross-backend manual checklist

Addresses #259.

Validation

  • swift test --package-path PMSKit --no-parallel --skip 'Live.*ProbeTests' (1,662 tests passed)
  • affected native build matrix: visionOS, iPhone/iPad, tvOS, and macOS builds passed
  • targeted SessionRestoreOutcomeTests, BrowseUIGateTests, and OfflineLaunchAvailabilityTests passed
  • strict MkDocs build, repository link validation, Mermaid validation, and scripts/ci-hygiene.sh passed
  • visionOS passive fixture smoke passed and rendered the expected Home surface
  • macOS host build/launch smoke passed; staged host app was removed afterward
  • iPhone passive fixture rendered the expected Home surface, but the helper exited during teardown with a CoreSimulator launchd error; no simulator remained booted

Remaining acceptance gates

  • manually prove disconnected cold launch and local playback with a real completed download for Plex, Jellyfin, and Emby
  • prove expired/revoked credentials still require sign-in
  • prove reconnect transitions back to the normal authenticated shell without duplicate presentation

Test note

The full macOS-hosted test lane reported pre-existing concurrency-sensitive failures in SideAssetFetchCoordinatorTests.testQueuedCancellationMovesAdmissionAuthorityToSurvivingOwner() and DownloadStoreLookupTests.startupRetirementPreservesCrossKindMainMediaAlias(). The former passed on targeted rerun; the feature-specific tests all passed.

@jlipworth
jlipworth force-pushed the codex/issue-259-offline-cold-launch branch from f014436 to 90d5344 Compare August 22, 2026 00:40
@jlipworth
jlipworth marked this pull request as ready for review August 22, 2026 00:40
@jlipworth
jlipworth merged commit 5c0e201 into main Aug 22, 2026
0 of 5 checks passed
@jlipworth
jlipworth deleted the codex/issue-259-offline-cold-launch branch August 22, 2026 00:41
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.

1 participant