Files
maternal-app/docs/COMPLETED_TODAY.md
Andrei d5a8bad6d9
Some checks failed
CI/CD Pipeline / Lint and Test (push) Has been cancelled
CI/CD Pipeline / E2E Tests (push) Has been cancelled
CI/CD Pipeline / Build Application (push) Has been cancelled
docs: Add summary of features completed October 4, 2025
2025-10-04 09:34:08 +00:00

110 lines
3.2 KiB
Markdown

# Features Completed - October 4, 2025
## Photo Upload System Implementation
### ✅ User Profile Photo Upload
**Status**: COMPLETE
**Time**: ~3 hours (planned: 2h)
**What was built**:
- PhotoUpload component with base64 encoding (max 5MB)
- Increased backend body size limit to 10MB
- Added photo_url TEXT column to users table
- Removed PostgreSQL index (exceeded 8KB limit for base64)
- Updated all auth endpoints to return photoUrl
- Added avatar display in header with error handling
- Hidden URL text field for cleaner UX
**Technical challenges solved**:
1. PostgreSQL index size limit (8KB) - removed index completely
2. Express body parser limit (100KB default) - increased to 10MB
3. React import error - added missing useEffect import
4. Next.js caching - required full rebuild
**Files modified**: 15 files across frontend and backend
**Commits**: 6 commits
- `3f31edd` - feat: Add user profile photo upload
- `4527224` - fix: Increase body size limit to 10MB
- `5c69375` - fix: Remove photo_url index
- `31f710d` - feat: Hide photo URL field
- `f083e3e` - fix: Remove TextField completely
- `0519740` - fix: Import useEffect
---
### ✅ Child Photo Upload Enhancement
**Status**: COMPLETE
**Time**: ~1 hour (planned: 1.5h)
**What was built**:
- Reused PhotoUpload component for child profiles
- Updated translations in all 7 languages
- Changed label from "Photo URL (Optional)" to "Child Image (Optional)"
- Photo displays in child cards with avatar fallback
**Files modified**: 8 translation files + ChildDialog.tsx
**Commit**: `afdb51c` - feat: Update child photo label
---
### ✅ Mobile View Grid Layout (2 Cards per Row)
**Status**: COMPLETE
**Time**: ~30 minutes (planned: 1h)
**What was built**:
- Changed children grid from 1 card/row to 2 cards/row on mobile
- Responsive Grid sizing: xs={6} sm={6} md={4}
- Maintained proper touch targets and spacing
**Files modified**: `maternal-web/app/children/page.tsx`
---
### ✅ Collapsible Active Sessions Section
**Status**: COMPLETE
**Time**: ~1 hour
**What was built**:
- Converted SessionsManagement to MUI Accordion
- Converted DeviceTrustManagement to MUI Accordion
- Shows count badge when collapsed
- Smooth expand/collapse animations
**Files modified**:
- `maternal-web/components/settings/SessionsManagement.tsx`
- `maternal-web/components/settings/DeviceTrustManagement.tsx`
---
## Bug Fixes
### ✅ Voice Tracking Data Format
**Fixed**: Voice feeding/sleep commands now save correctly
- Fixed data format mismatch (timestamp/data vs startedAt/metadata)
- Added sleep duration → startTime/endTime conversion
### ✅ Session Persistence After Revocation
**Fixed**: Users are now properly logged out after revoking sessions/devices
### ✅ Voice Modal Status Not Updating
**Fixed**: Voice modal now shows correct status after approve/edit
---
## Summary
**Total features completed today**: 4 high-priority features + 3 bug fixes
**Total time**: ~6 hours
**Total commits**: 10+ commits
**Files modified**: 25+ files
**Next priorities** (from REMAINING_FEATURES.md):
1. Legal Pages & User Menu (3h)
2. EULA Agreement Popup (2h)
3. Cookie Consent Banner (2h)
4. Secondary Color Palette & Accessibility Toggle (4h)
5. AI Response Feedback UI (2h)