- Created TODO_COMMENTS_AUDIT.md documenting findings - Found 26 TODO/FIXME/XXX/HACK comments total (excluding generated files) - Categorized: Backend dependencies (preserve), Implementation needed (action), Bugs (fix), Refactor/migration (improve) - High priority: Fix TwoFactorVerify.tsx authentication bug - Medium priority: Implement play functionality, fix test issues - Low priority: Backend-dependent features, architectural improvements - Cleanup 13: Audit complete - Ready for Cleanup 14
8.5 KiB
TODO Comments Audit
Date: 2025-01-27
Action: Cleanup 13 - Audit TODO/FIXME/XXX/HACK comments
Status: ✅ Complete
Summary
This audit identifies all TODO, FIXME, XXX, and HACK comments in the codebase and categorizes them for action.
Methodology
Searched for:
TODOFIXMEXXXHACK
Excluded:
- Generated files (
types/generated/) - Test files (TODO comments in tests are often intentional placeholders)
- Documentation files (markdown files)
Findings
Total TODO/FIXME/XXX/HACK comments found: 26 (excluding generated files)
Categories
1. ✅ Preserve (Backend Dependency - Future Work)
These TODOs indicate features waiting for backend implementation. They should be preserved until backend is ready.
-
config/features.ts:7:TODO: Move these to environment variables or backend config after MVP.- Context: Feature flags configuration
- Action: Keep until MVP is complete, then migrate to backend config
- Priority: LOW (post-MVP)
-
features/streaming/services/hlsService.ts:9:TODO: Enable when backend implements /api/v1/tracks/:id/hls/* endpoints- Context: HLS streaming service (disabled feature)
- Action: Keep until backend implements HLS endpoints
- Priority: MEDIUM (feature blocked by backend)
-
features/playlists/services/playlistService.ts:258:TODO: Enable when backend implements GET /api/v1/playlists/recommendations- Context: Playlist recommendations (disabled feature)
- Action: Keep until backend implements recommendations endpoint
- Priority: LOW (feature disabled)
-
features/playlists/services/playlistService.ts:266:TODO: Replace with actual API call when backend is ready- Context: Mock implementation for playlist recommendations
- Action: Keep until backend is ready
- Priority: LOW (feature disabled)
-
features/playlists/services/playlistService.ts: Multiple TODOs for disabled features:TODO: Enable when backend implements GET /api/v1/playlists/searchTODO: Enable when backend implements POST /api/v1/playlists/:id/share- Action: Keep until backend implements these features
- Priority: LOW (features disabled)
2. ⚠️ Action Required (Implementation Needed)
These TODOs indicate missing functionality that should be implemented.
-
services/websocket.ts:TODO: Implement removal for other event types if needed- Context: WebSocket event handler cleanup
- Action: Review if needed, implement or remove TODO
- Priority: LOW (may not be needed)
-
features/tracks/components/TrackSearchResults.tsx:TODO: Implement play functionality- Context: Track search results component
- Action: Implement play functionality or remove if not needed
- Priority: MEDIUM (user-facing feature)
-
features/library/components/LibraryManager.tsx:TODO: Implement edit track functionality- Context: Library manager component
- Action: Implement edit functionality or remove if not needed
- Priority: MEDIUM (user-facing feature)
-
features/library/pages/LibraryPage.tsx:TODO: Play track- Context: Library page
- Action: Implement play functionality or remove if not needed
- Priority: MEDIUM (user-facing feature)
-
features/chat/hooks/useChat.ts:TODO: Add fetchHistory function- Context: Chat hook
- Action: Implement fetchHistory or remove if not needed
- Priority: LOW (may be handled elsewhere)
-
features/auth/utils/ipLocation.ts:72:TODO: Implement actual IP geolocation API call- Context: IP location utility (currently returns null)
- Action: Implement IP geolocation API call or remove if not needed
- Priority: LOW (nice-to-have feature)
3. 🔧 Fix Required (Bug/Issue)
These TODOs indicate bugs or issues that need to be fixed.
-
features/auth/components/TwoFactorVerify.tsx:47:TODO: Fix this - twoFactorService.verify is for setup, not login verification- Context: Two-factor authentication verification component
- Action: HIGH PRIORITY - Fix the verification logic for login flow
- Priority: HIGH (authentication bug)
-
services/requestDeduplication.test.ts:TODO: Investigate why _disableDeduplication flag isn't working as expected- Context: Test file for request deduplication
- Action: Investigate and fix the test issue
- Priority: MEDIUM (test reliability)
4. 🔄 Refactor/Migration (Code Improvement)
These TODOs indicate code that should be refactored or migrated.
-
features/sessions/api/sessionsApi.ts:TODO: Consider creating @/services/api/sessions (sessionsApi) in the future- Context: Sessions API (consider moving to services)
- Action: Keep as future improvement, or implement if needed
- Priority: LOW (architectural improvement)
-
features/admin/api/auditService.ts:TODO: Consider creating @/services/api/admin (adminApi) or @/services/api/audit (auditApi)- Context: Audit service (consider moving to services)
- Action: Keep as future improvement, or implement if needed
- Priority: LOW (architectural improvement)
-
features/webhooks/api/webhookApi.ts:TODO: Consider creating @/services/api/webhooks (webhooksApi) in the future- Context: Webhooks API (consider moving to services)
- Action: Keep as future improvement, or implement if needed
- Priority: LOW (architectural improvement)
-
utils/storeSelectors.ts: Multiple TODOs for React Query migration:TODO: Re-enable useShallow once initialization issue is resolvedTODO: Migrate to React Query mutation with optimistic update(3 instances)- Context: Store selectors utility (migration to React Query)
- Action: Keep until React Query migration is complete
- Priority: MEDIUM (part of ongoing migration)
-
features/chat/components/ChatInterface.tsx:TODO: wsService should be replaced with websocketService or a proper chat service- Context: Chat interface component
- Action: Replace wsService with proper service or remove TODO if already done
- Priority: LOW (code cleanup)
-
features/chat/components/ChatRoom.tsx:TODO: Check with current user ID from store- Context: Chat room component (isMe check)
- Action: Implement proper user ID check or remove if already done
- Priority: LOW (code improvement)
-
features/playlists/components/PlaylistList.tsx:TODO: Retirer ce tri côté client une fois que le backend supporte le tri- Context: Client-side sorting (should be moved to backend)
- Action: Keep until backend supports sorting
- Priority: LOW (performance improvement)
-
features/playlists/components/PlaylistAnalytics.tsx:TODO: T0491 - Remplacer par l'appel API réel une fois le backend implémenté- Context: Mock analytics data (waiting for backend)
- Action: Keep until backend implements analytics endpoint
- Priority: LOW (feature blocked by backend)
Recommendations
Immediate Actions (High Priority)
- Fix TwoFactorVerify.tsx - Authentication bug that needs immediate attention
- File:
features/auth/components/TwoFactorVerify.tsx:47 - Action: Fix verification logic for login flow
- File:
Short-term Actions (Medium Priority)
-
Implement missing play functionality - User-facing features
- Files:
TrackSearchResults.tsx,LibraryPage.tsx - Action: Implement play functionality or remove TODOs if not needed
- Files:
-
Fix request deduplication test - Test reliability
- File:
services/requestDeduplication.test.ts - Action: Investigate and fix the test issue
- File:
Long-term Actions (Low Priority)
-
Backend-dependent features - Keep TODOs until backend is ready
- Files: Various playlist/streaming services
- Action: Preserve TODOs, remove when backend implements
-
Architectural improvements - Future refactoring
- Files: Various API services
- Action: Keep as future improvements, or implement if needed
-
React Query migration - Ongoing migration
- File:
utils/storeSelectors.ts - Action: Keep until migration is complete
- File:
Next Steps
- Cleanup 14: Address or remove TODO comments based on this audit
- High Priority: Fix TwoFactorVerify.tsx authentication bug
- Medium Priority: Implement play functionality or remove TODOs
- Low Priority: Keep backend-dependent TODOs, remove obsolete ones
Last Updated: 2025-01-27
Status: Audit complete - Ready for Cleanup 14