M2-02: Playback — hear a memo #29
Labels
No labels
area/agent
area/capture
area/editor
area/geo
area/security
area/sync
area/transcription
area/ui
area/vault
area/voice-memos
blocked
milestone/M1
milestone/M2
milestone/M3
milestone/M4
needs-decision
needs-hardware
p0
p1
p2
type/bug
type/enhancement
type/feature
type/idea
type/infrastructure
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Stash/stash-ios#29
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Play a memo back from its detail view. Play, pause, scrub, elapsed and remaining.
Why
M1 produces audio nobody has heard inside the app. Confirming a memo recorded is currently a
matter of trusting the file size, or pulling it off the phone and playing it somewhere else.
M2-01 (#27) shows what the speech engine heard; this shows what the microphone got, which is the
other half of trusting the recording.
Scope
Playback is blocked while a recording is running
Decided 2026-08-08. The audio session is configured for capture, and reconfiguring it
mid-recording is the class of change that broke v2. Tapping play during a recording says why
rather than showing a transport that does nothing, or worse, one that disturbs the capture.
That means the session category has to be handed between the two modes deliberately, and coming
back from playback must leave capture able to start again. A recording that will not start
because a playback left the session in the wrong category is the failure this issue can
introduce, and it is what the device test below is for.
The audio may not be playable
A capture killed mid-recording is playable up to the last fragment flush — that is what
movieFragmentIntervalbuys — but a file truncated by a full disk, or replaced by hand throughthe Files app now that #12 opened the directory, may not decode at all. That fails out loud with
a reason. A dead transport that never starts is the wrong answer.
Not in this
No lock screen or Control Center playback controls, no
MPNowPlayingInfoCenter, no backgroundplayback. This is playback while looking at the memo. Background audio is a category the app
already declares for recording, and extending it to playback is a separate decision.
Done when
Milestone 2 of the Stash v3 rebuild. M2 is still app-side — no sync, no account, no server. It
turns a list of memos into something you can open, listen to, read and see the route of. Sync
arrives in M3. There is no
milestone/M2label yet (creating org labels needs owner rights), sothe title carries the milestone.
Working agreement for every issue in this repo: feature branch, tested before the PR opens
(on-device where the label says so), then Wes reviews the PR and we walk the code together. Docs
update in the same commit. A PR that takes more than 20 minutes to review is too big — say so and
split it.