- Add Suite0_OnboardingTests with fresh install and login test flows - Add accessibility identifiers to onboarding views for UI testing - Remove deprecated DataCache in favor of unified DataManager - Update API layer to support public upgrade-triggers endpoint - Improve onboarding first task view with better date handling - Update various views with accessibility identifiers for testing - Fix subscription feature comparison view layout - Update document detail view improvements 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
4.9 KiB
TODO Audit - Incomplete Functionality
This document tracks all incomplete functionality, TODOs, and missing features across the iOS and Android/Kotlin codebases.
Last Updated: December 3, 2024
iOS (SwiftUI)
1. Push Notification Navigation
File: iosApp/iosApp/PushNotifications/PushNotificationManager.swift
Three TODO items related to deep-linking from push notifications:
// TODO: Navigate to specific residence
// TODO: Navigate to specific task
// TODO: Navigate to specific contractor
Status: Push notifications are received but tapping them doesn't navigate to the relevant screen.
Priority: Medium - Improves user experience when responding to notifications.
2. File/Document Download
File: iosApp/iosApp/Documents/DocumentDetailView.swift
// TODO: Implement file download functionality
Status: Document viewing is partially implemented, but users cannot download/save documents to their device.
Priority: Medium - Documents can be viewed but not saved locally.
3. Subscription Upgrade Flow
File: iosApp/iosApp/Subscription/FeatureComparisonView.swift
// TODO: Implement upgrade functionality
Status: Feature comparison UI exists but the actual upgrade/purchase flow is not connected.
Priority: High - Required for monetization.
4. Widget App Groups
File: iosApp/TaskWidgetExample.swift
// TODO: Implement App Groups or shared container for widget data access.
Status: Widget shell exists but cannot access shared app data. Widgets always show empty state.
Priority: Low - Widgets are a nice-to-have feature.
Android/Kotlin (Compose Multiplatform)
1. Document Download
File: composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/DocumentDetailScreen.kt
// TODO: Download functionality
Status: Same as iOS - documents can be viewed but not downloaded.
Priority: Medium
2. Subscription Navigation from Residences
File: composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/ResidencesScreen.kt
// TODO: Navigate to subscription/upgrade screen
Status: When user hits residence limit, there's no navigation to the upgrade screen.
Priority: High - Blocks user from upgrading when hitting limits.
3. Subscription Navigation from Residence Detail
File: composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/ResidenceDetailScreen.kt
// TODO: Navigate to subscription screen
Status: Same issue - hitting task limit doesn't navigate to upgrade.
Priority: High
4. Profile Update Disabled
File: composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/ProfileScreen.kt
// Update profile button is disabled/not implemented
Status: Profile editing UI exists but the save/update functionality may be incomplete.
Priority: Medium - Users expect to be able to edit their profile.
5. Contractor Favorite Toggle
File: composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/ResidenceDetailScreen.kt
// Contractor favorite toggle not fully implemented
Status: Favorite toggle button exists on contractor cards but may not persist correctly.
Priority: Low
6. Platform-Specific Image Pickers
Files:
composeApp/src/jvmMain/kotlin/ImagePicker.jvm.ktcomposeApp/src/wasmJsMain/kotlin/ImagePicker.wasmJs.ktcomposeApp/src/jsMain/kotlin/ImagePicker.js.kt
// TODO: Implement for Desktop
// TODO: Implement for WASM
// TODO: Implement for JS
Status: Image picker only works on mobile (Android/iOS). Desktop and web targets show placeholder implementations.
Priority: Low - Mobile is primary target.
Summary by Priority
High Priority
- Subscription navigation from ResidencesScreen (Android)
- Subscription navigation from ResidenceDetailScreen (Android)
- Subscription upgrade flow (iOS)
Medium Priority
- Push notification navigation (iOS)
- Document download (iOS & Android)
- Profile update functionality (Android)
Low Priority
- Contractor favorite toggle (Android)
- Widget App Groups (iOS)
- Platform-specific image pickers (Desktop/Web)
Recommendations
-
Subscription Flow (High): Both platforms need proper navigation to upgrade screens when users hit feature limits. This is critical for monetization.
-
Push Notification Deep Links (Medium): iOS push notification taps should navigate to the relevant residence/task/contractor detail screen.
-
Document Download (Medium): Implement share sheet / file saving for both platforms.
-
Profile Update (Medium): Verify the profile update API call is connected and working.
-
Low Priority Items: Widget, desktop/web image pickers, and contractor favorites can be addressed in future iterations.