fix: Fix 3 critical bugs - voice tracking, session persistence, and status updates
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

BUG-1: Voice tracking not saving activities
- Fix activity data format to match backend CreateActivityDto
- Change 'timestamp' to 'startedAt' and 'data' to 'metadata'
- Remove duplicate voice button from mobile TabBar

BUG-2: Session persistence after revocation
- Add logout() call when revoking all sessions
- Add logout() call when removing all devices
- Ensures user is logged out after session/device revocation
- Clears tokens and redirects to login

BUG-3: Voice modal status not updating
- Set identifiedActivity before saving to show tracker name
- Display "Adding to [tracker] tracker..." during save
- Improves UX by showing which tracker is being updated

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-10-04 06:19:09 +00:00
parent e2ca04c98f
commit 2ab98746da
5 changed files with 22 additions and 36 deletions

View File

@@ -110,34 +110,7 @@ export const TabBar = () => {
</BottomNavigation>
</Paper>
{/* Voice Command Floating Button - Mobile Only */}
<Fab
color="secondary"
aria-label="voice command"
onClick={() => {
// Trigger voice command - will integrate with existing VoiceFloatingButton
const voiceButton = document.querySelector('[aria-label="voice input"]') as HTMLButtonElement;
if (voiceButton) {
voiceButton.click();
}
}}
sx={{
display: { xs: 'flex', md: 'none' },
position: 'fixed',
bottom: 40,
left: '50%',
transform: 'translateX(-50%)',
zIndex: 1100,
width: 56,
height: 56,
bgcolor: '#FF69B4',
'&:hover': {
bgcolor: '#FF1493',
},
}}
>
<Mic />
</Fab>
{/* Voice Command Floating Button is now centralized in layout.tsx - removed duplicate */}
</>
);
};