M1-12: File sharing — get memos off the phone #12
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#12
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?
Expose the app's Documents directory so memos can be pulled off by hand.
Why this is in M1 rather than waiting for sync
Sync arrives in M3. Without this, M1 and M2 produce an app that records beautifully and
strands everything on the phone — which is precisely the failure being fixed, and Wes is
travelling to California within the week. He had already resigned himself to it:
"yes, I can manually send files here and there, which I will be doing. It's still not
ideal."
The cost is two Info.plist keys, so the ratio is hard to argue with.
Scope
UIFileSharingEnabled— Documents appears in Finder over a cable.LSSupportsOpeningDocumentsInPlace— Documents appears in the Files app, so memos can bemoved to iCloud Drive from the phone itself.
README.md.Architecturally free
This costs nothing structurally because the on-disk format is already plain files with no
database behind them. It adds no obligation that M3 has to unpick.
Done when
Milestone 1 of the Stash v3 rebuild, scoped 2026-08-06. M1 is a functioning iOS app on Wes's
phone with no sync at all — the entire goal is recording voice memos reliably and getting
them off the device by hand. Sync arrives in M3.
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.