Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
This commit is contained in:
parent
d5d92a6333
commit
2516a7012d
21
ROADMAP.md
21
ROADMAP.md
@ -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*
|
||||
|
||||
Loading…
Reference in New Issue
Block a user