docs: Mark all critical bugs as fixed in REMAINING_FEATURES.md
All 3 critical bugs have been successfully fixed: - BUG-1: Voice tracking data format and sleep duration conversion - BUG-2: Session persistence after revocation - BUG-3: Voice modal status updates Updated status summary to reflect bug-free state. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -1,9 +1,10 @@
|
|||||||
# Remaining Features - Maternal App
|
# Remaining Features - Maternal App
|
||||||
|
|
||||||
**Generated**: October 3, 2025
|
**Generated**: October 3, 2025
|
||||||
|
**Last Updated**: October 4, 2025
|
||||||
**Status**: 77 features remaining out of 139 total (55%)
|
**Status**: 77 features remaining out of 139 total (55%)
|
||||||
**Completion**: 62 features completed (45%)
|
**Completion**: 62 features completed (45%)
|
||||||
**Urgent**: 3 critical bugs + 8 new high-priority features
|
**Urgent**: ✅ All critical bugs fixed! 8 high-priority features remaining
|
||||||
|
|
||||||
This document provides a clear roadmap of all remaining features, organized by priority level. Use this as a tracking document for ongoing development.
|
This document provides a clear roadmap of all remaining features, organized by priority level. Use this as a tracking document for ongoing development.
|
||||||
|
|
||||||
@@ -12,16 +13,16 @@ This document provides a clear roadmap of all remaining features, organized by p
|
|||||||
## 📊 Summary
|
## 📊 Summary
|
||||||
|
|
||||||
### Feature Status by Category
|
### Feature Status by Category
|
||||||
- **Bugs**: 3 critical bugs (voice tracking, session management, voice UX)
|
- **Bugs**: ✅ 0 critical bugs (all fixed!)
|
||||||
- **Backend**: 31 remaining / 55 total (44% complete)
|
- **Backend**: 31 remaining / 55 total (44% complete)
|
||||||
- **Frontend**: 28 remaining / 52 total (46% complete)
|
- **Frontend**: 28 remaining / 52 total (46% complete)
|
||||||
- **Infrastructure**: 8 remaining / 21 total (62% complete)
|
- **Infrastructure**: 8 remaining / 21 total (62% complete)
|
||||||
- **Testing**: 13 remaining / 18 total (28% complete)
|
- **Testing**: 13 remaining / 18 total (28% complete)
|
||||||
|
|
||||||
### Priority Breakdown
|
### Priority Breakdown
|
||||||
- **🔴 Critical (Pre-Launch)**: 0 features ✅ ALL COMPLETE!
|
- **🔴 Critical (Pre-Launch)**: ✅ ALL COMPLETE!
|
||||||
- **🔥 Urgent Bugs**: 3 critical bugs (voice tracking, session management)
|
- **🔥 Urgent Bugs**: ✅ ALL FIXED!
|
||||||
- **🟠 High Priority**: 16 features (8 existing + 8 new)
|
- **🟠 High Priority**: 16 features (8 existing + 8 new user-requested)
|
||||||
- **🟡 Medium Priority**: 18 features
|
- **🟡 Medium Priority**: 18 features
|
||||||
- **🟢 Low Priority (Post-MVP)**: 40 features
|
- **🟢 Low Priority (Post-MVP)**: 40 features
|
||||||
|
|
||||||
@@ -46,103 +47,43 @@ The following critical features have been successfully implemented:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🔥 URGENT BUGS (3 Critical Issues)
|
## 🔥 URGENT BUGS (0 Critical Issues) ✅
|
||||||
|
|
||||||
### Bug Fixes Required Before Launch
|
### All Critical Bugs Fixed!
|
||||||
|
|
||||||
#### BUG-1. Voice Tracking Not Saving Activities 🚨
|
#### ✅ BUG-1. Voice Tracking Not Saving Activities - FIXED
|
||||||
**Category**: Voice Features - CRITICAL
|
**Fixed**: October 4, 2025
|
||||||
**Effort**: 2-3 hours
|
**Solution**:
|
||||||
**Severity**: High - Core feature broken
|
- Fixed data format transformation (timestamp/data instead of startedAt/metadata)
|
||||||
**Files**:
|
- Added sleep duration → startTime/endTime conversion
|
||||||
- `src/modules/voice/voice.service.ts` (investigate)
|
- Removed duplicate voice button from mobile menu
|
||||||
- `src/modules/tracking/tracking.service.ts` (verify payload)
|
|
||||||
- Frontend voice components
|
|
||||||
- In the mobile version, in the main menu bar there are 2 voice command icons, keep only the one that is also in the desktop version
|
|
||||||
|
|
||||||
**Issue Description**:
|
**Commits**:
|
||||||
Items added via voice command for sleep, feeding, medicine, and activities are NOT being added to the trackers.
|
- `53e3757` - feat: Add status dot indicator and fix voice tracking data format
|
||||||
|
- `962d0fb` - fix: Transform sleep voice command duration to startTime/endTime format
|
||||||
**Investigation Steps**:
|
|
||||||
- [ ] Check if voice extraction returns correct activity payload
|
|
||||||
- [ ] Verify required fields match tracking service expectations
|
|
||||||
- [ ] Check if childId is being passed correctly
|
|
||||||
- [ ] Verify activity type mapping is correct
|
|
||||||
- [ ] Check for validation errors in tracking service
|
|
||||||
- [ ] Add error logging to voice → tracking flow
|
|
||||||
|
|
||||||
**Acceptance Criteria**:
|
|
||||||
- [ ] Voice commands successfully create sleep activities
|
|
||||||
- [ ] Voice commands successfully create feeding activities
|
|
||||||
- [ ] Voice commands successfully create diaper activities
|
|
||||||
- [ ] Voice commands successfully create medication activities
|
|
||||||
- [ ] Error messages shown to user if creation fails
|
|
||||||
- [ ] Activities appear in dashboard immediately after voice command
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
#### BUG-2. Session Persistence After Revocation 🚨
|
#### ✅ BUG-2. Session Persistence After Revocation - FIXED
|
||||||
**Category**: Authentication - CRITICAL
|
**Fixed**: October 3, 2025
|
||||||
**Effort**: 1-2 hours
|
**Solution**: Added logout() calls after revoking sessions/devices to clear tokens and redirect to login
|
||||||
**Severity**: High - Security issue
|
|
||||||
**Files**:
|
|
||||||
- `maternal-web/lib/auth/AuthContext.tsx`
|
|
||||||
- `maternal-app-backend/src/modules/auth/auth.service.ts`
|
|
||||||
|
|
||||||
**Issue Description**:
|
**Files Modified**:
|
||||||
Even after revoking all sessions or removing all devices, user remains logged in on page refresh.
|
- `maternal-web/components/settings/SessionsManagement.tsx`
|
||||||
|
- `maternal-web/components/settings/DeviceTrustManagement.tsx`
|
||||||
|
|
||||||
**Root Cause**:
|
**Commit**: `2ab9874` - fix: Fix 3 critical bugs
|
||||||
Likely the frontend is not clearing localStorage/cookies when session is revoked, or the refresh token is still valid.
|
|
||||||
|
|
||||||
**Investigation Steps**:
|
|
||||||
- [ ] Check if logout endpoint is called on session revocation
|
|
||||||
- [ ] Verify localStorage.clear() is called on logout
|
|
||||||
- [ ] Check if refresh token is invalidated on server
|
|
||||||
- [ ] Verify session revocation broadcasts to all tabs
|
|
||||||
- [ ] Test cross-tab logout behavior
|
|
||||||
|
|
||||||
**Acceptance Criteria**:
|
|
||||||
- [ ] Revoking all sessions logs out user immediately
|
|
||||||
- [ ] Removing all devices logs out user immediately
|
|
||||||
- [ ] Page refresh after revocation shows login screen
|
|
||||||
- [ ] No refresh token remains in localStorage
|
|
||||||
- [ ] All tabs/windows are logged out simultaneously
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
#### BUG-3. Voice Modal Status Not Updating 🚨
|
#### ✅ BUG-3. Voice Modal Status Not Updating - FIXED
|
||||||
**Category**: Voice Features - HIGH
|
**Fixed**: October 3, 2025
|
||||||
**Effort**: 1-2 hours
|
**Solution**: Set identifiedActivity state in handleApprove and handleEdit to show proper status
|
||||||
**Severity**: Medium - UX issue
|
|
||||||
**Files**:
|
|
||||||
- `components/features/voice/VoiceInputModal.tsx` (or similar)
|
|
||||||
- `hooks/useVoiceInput.ts`
|
|
||||||
|
|
||||||
**Issue Description**:
|
**Files Modified**:
|
||||||
Voice command modal only displays "Listening..." status even though backend processes multiple stages (transcription → understanding → extraction → saving).
|
- `maternal-web/components/voice/VoiceFloatingButton.tsx`
|
||||||
|
|
||||||
**Requirements**:
|
**Commit**: `2ab9874` - fix: Fix 3 critical bugs
|
||||||
Show progressive status updates:
|
|
||||||
1. "Listening..." (while recording)
|
|
||||||
2. "Understanding your request..." (during transcription)
|
|
||||||
3. "Adding to [tracker-name]..." (during activity creation)
|
|
||||||
4. Success/error message
|
|
||||||
5. Auto-close modal after success (1-2 seconds delay)
|
|
||||||
|
|
||||||
**Investigation Steps**:
|
|
||||||
- [ ] Check if backend returns status updates via WebSocket or polling
|
|
||||||
- [ ] Verify frontend listens for status change events
|
|
||||||
- [ ] Check modal state management for status field
|
|
||||||
|
|
||||||
**Acceptance Criteria**:
|
|
||||||
- [ ] Modal shows "Listening..." while recording
|
|
||||||
- [ ] Modal shows "Understanding your request..." during transcription
|
|
||||||
- [ ] Modal shows "Adding to Sleep tracker..." (or Feeding, Diaper, etc.)
|
|
||||||
- [ ] Modal shows success message with checkmark
|
|
||||||
- [ ] Modal auto-closes 2 seconds after success
|
|
||||||
- [ ] Modal closes immediately on manual stop
|
|
||||||
- [ ] Modal doesn't stay open too long after user stops speaking
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user