Skip to content
This repository was archived by the owner on Jul 7, 2026. It is now read-only.
This repository was archived by the owner on Jul 7, 2026. It is now read-only.

Harden downloads and offline playback #125

Description

@zachyzissou

Problem

Downloads/offline playback need a reliability pass so interrupted downloads, cleanup, storage state, and offline playback are dependable.

Acceptance criteria

  • Reconcile interrupted downloads on launch and after network loss.
  • Verify downloaded episodes play offline and respect playback position/rate.
  • Add cleanup and retry UX for failed downloads.
  • Surface storage/download state clearly in Library, Episode Detail, and Player.
  • Preserve existing download service tests and add missing edge coverage.

Agent execution contract

Readiness: agent:needs-spec
Lane: Downloads/offline

Start in these files:

  • OffScript/DownloadService.swift
  • OffScript/DownloadButton.swift
  • OffScript/EpisodeDetailView.swift
  • OffScript/PlayerView.swift
  • OffScriptTests/OffScriptTests.swift

Required verification:

  • xcodebuild test -project OffScript.xcodeproj -scheme OffScript -destination 'platform=iOS Simulator,OS=latest,name=iPhone 17 Pro' -only-testing:OffScriptTests CODE_SIGNING_ALLOWED=NO
  • Offline playback/manual file-state checklist for touched paths.

Non-goals / guardrails:

  • Do not delete user files without explicit state/retry UI.
  • Do not claim offline playback fixed without offline smoke.

PR expectation: Needs narrowed edge-case spec before low-thinking implementation.

Low-thinking agents must follow docs/AGENT_EXECUTION_RUNBOOK.md. If the touched code falls outside the files above, stop and tighten the issue or ask for senior review before continuing.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    agent:needs-specNeeds a tighter executable spec before implementationarea:appleApple platform integrations and entitlementsarea:performanceRuntime, import, scrolling, and startup performanceenhancementNew feature or requestpriority:mediumImportant but not release-blocking

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions