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.

Expand Player feature polish and reliability #124

Description

@zachyzissou

Problem

The Player is central to the app and needs a focused pass beyond background playback: chapters, transcripts/show notes, sleep timer, playback rates, queue actions, lock screen, and remote command behavior.

Acceptance criteria

  • Audit Player controls for Tuner consistency and reachable touch targets.
  • Verify chapters/transcripts/show notes render and navigate correctly.
  • Confirm sleep timer, playback speed, queue actions, downloads, and remote commands behave consistently.
  • Add smoke coverage or a manual checklist for real-device playback scenarios.

Agent execution contract

Readiness: agent:senior-required
Lane: Player reliability

Start in these files:

  • OffScript/PlayerView.swift
  • OffScript/PlaybackController.swift
  • OffScript/EpisodeDetailView.swift
  • OffScript/NowPlayingPublisher.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
  • Real-device/TestFlight playback checklist for remote commands, lock screen, route changes.

Non-goals / guardrails:

  • Do not claim remote/lock-screen behavior from simulator-only tests.

PR expectation: Senior player PR with manual playback proof.

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    agent:senior-requiredRequires senior judgment, owner action, real-device validation, or release/signing authorityarea:appleApple platform integrations and entitlementsarea:uiTuner UI, layout, navigation, and visual polishenhancementNew feature or requestpriority:mediumImportant but not release-blocking

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions