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

3.2 KiB

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)