Design decision 0003 · accepted

iCloud carries shares from your iPhone to your Mac

Shares travel through your private CloudKit database. Offline shares wait in an on-device outbox.

Context

The iPhone captures; the Mac does the work. They need a private, reliable channel without a Stash backend or an account.

Decision

Use CloudKit’s private database in a custom zone. The share extension saves a record (create-only, with a 10-second timeout). If that fails, the record goes to an app-group outbox the app flushes later. The Mac claims records with optimistic locking and writes back status, the tip’s title, type, takeaway, score and cover. Change tokens stay in memory, so a reinstall resyncs cleanly.

Consequences

← All design decisions