Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>

This commit is contained in:
Matt Bruce 2026-01-10 14:24:06 -06:00
parent d5d92a6333
commit 2516a7012d

View File

@ -63,6 +63,12 @@ This document tracks planned features and their implementation status.
- Creates contacts marked as `isReceivedCard`
- "Scan Card" button in Contacts toolbar
- [x] **watchOS companion app** - Show default card QR code on Apple Watch
- Full-screen default card display (no card picker)
- QR codes pre-generated on iPhone (CoreImage not available on watchOS)
- Syncs via WatchConnectivity framework
- Automatic sync when cards created, edited, or deleted on iPhone
---
## 🔲 Planned Features
@ -132,11 +138,18 @@ This document tracks planned features and their implementation status.
- [x] **SwiftData persistence** with CloudKit sync
- [x] **Bedrock integration** - Design system, QR code generator
- [x] **iOS-Watch sync** via App Groups
- [x] **iOS-Watch sync** via WatchConnectivity framework
- ⚠️ App Groups do NOT work for iPhone ↔ Watch (different devices)
- Uses `updateApplicationContext` for persistent sync
- Watch app must be embedded in iOS app with "Code Sign On Copy" checked
- [x] **Unit tests** for models, stores, and new features
- [x] **Fixed data persistence** - Removed aggressive store deletion on startup
- [x] **Custom symbol assets** - Brand icons in asset catalog with proper rendering
- [x] **Drag-and-drop reordering** - Using `draggable` and `dropDestination` modifiers
- [x] **Single source of truth for names** - Removed legacy `displayName` property
- `fullName` computed from individual name fields (prefix, firstName, lastName, etc.)
- `vCardName` for plain vCard export
- No stored displayName that can get out of sync
### Planned
@ -144,7 +157,6 @@ This document tracks planned features and their implementation status.
- [ ] **Spotlight indexing** - Search cards from iOS search
- [ ] **Siri shortcuts** - "Share my work card"
- [ ] **App Intents** - iOS 17+ action button support
- [ ] **Migrate legacy properties** - Move all cards to new ContactField array
---
@ -153,8 +165,9 @@ This document tracks planned features and their implementation status.
- Features marked with 🔲 are planned but not yet implemented
- Features requiring backend are deferred until infrastructure is available
- Priority may shift based on user feedback
- Legacy contact properties (email, phone, linkedIn, etc.) maintained for backward compatibility
- watchOS uses WatchConnectivity (NOT App Groups) - see `Agents.md` for details
- `fullName` is computed, not stored - never add a `displayName` property
---
*Last updated: January 9, 2026*
*Last updated: January 10, 2026*