Commit graph

91 commits

Author SHA1 Message Date
senke
ff7d862f1c chore: remove production logs in features 2026-01-07 10:32:53 +01:00
senke
81d08a4680 stabilisation commit 2026-01-04 01:44:23 +01:00
senke
5bf5780439 fix: use correct WebSocket URL from env config for chat connection
- ChatPage now uses env.WS_URL (ws://127.0.0.1:8081/ws) instead of API response
- API response returns relative path /ws which was causing connection errors
- This fixes WebSocket connection errors in browser console
2026-01-04 01:44:23 +01:00
senke
634d0db22f fix: resolve stream server compilation errors and integrate chat stability fixes 2026-01-04 01:44:22 +01:00
senke
5bdb224970 [T0-003] fix(frontend): Corriger erreurs TypeScript/React
- Variables non utilisées préfixées avec _
- Badge variants corrigés (outline -> default/secondary)
- Types ApiError corrigés (rate_limit supprimé)
- Logger errors corrigés (LogContext au lieu de Error)
- Types PaginatedResponse corrigés (items au lieu de data)
- Types génériques complexes corrigés (stateCleanup, undoRedo)
- Fichiers .example.ts exclus du typecheck
- Status undefined vérifié dans client.ts

Résultats:
- npm run build  (réussit)
- npm run typecheck  (0 erreurs)
- npm run lint ⚠️ (1521 erreurs restantes - style/variables non utilisées)

Files: 35 fichiers modifiés
Hours: 6 estimated, 6 actual
2026-01-04 01:44:20 +01:00
senke
40170e188a [FIX] PROD-010: Corriger ENUM PostgreSQL dans modèle User - Tests E2E passent
- Ajout de type:user_role dans le tag GORM du champ Role
- Amélioration de la détection d'erreurs ENUM dans le service Register
- L'endpoint /auth/register retourne maintenant 201 OK avec tokens
- Score production: 52/70 → 58/70
- PROD-010 marqué comme fixed (P0 blocker résolu)
2026-01-04 01:44:19 +01:00
senke
14ad230e49 [FIX] PROD-007: Corriger erreurs TypeScript critiques (types, signatures, chemins de code) 2026-01-04 01:44:19 +01:00
senke
5068305513 [FIX] PROD-007: Corriger erreurs TypeScript critiques - imports et exports manquants 2026-01-04 01:44:18 +01:00
senke
65609fc19b [FIX] PROD-007: Corriger erreurs TypeScript - ajouter override modifiers 2026-01-04 01:44:18 +01:00
senke
9c12a3a94d [FIX] Update password minimum length validation to match backend
- Change password minimum length from 8 to 12 characters in RegisterForm
- Matches backend requirement (min=12 in RegisterRequest)
- Prevents validation errors when submitting registration form
- RegisterPage already had correct validation (12 chars)
2026-01-04 01:44:13 +01:00
senke
69fdb68cc0 [INT-V2-003] Update documentation with id: string
- Replace id: number with id: string in player/README.md
- Replace id: number with id: string in Table.test.tsx
- Update test data to use string IDs
- Aligns with UUID standard (id: string everywhere)
2025-12-26 09:54:51 +01:00
senke
a4a9bcda71 [INT-ENDPOINT-001] Add frontend service for GET /api/v1/sessions/stats 2025-12-26 09:26:50 +01:00
senke
1d7cd3cce0 [INT-CLEANUP-004] Add barrel exports for clean imports 2025-12-26 09:25:52 +01:00
senke
0ba99548c0 [INT-CLEANUP-002] Consolidate type definitions in single location 2025-12-26 09:22:05 +01:00
senke
c70dc23e70 [INT-AUTH-002] Remove duplicate auth store - migrate to features/auth/store/authStore.ts 2025-12-26 09:11:46 +01:00
senke
8d35484e14 [INT-API-004] Add request timeout configuration per endpoint type 2025-12-25 22:42:56 +01:00
senke
c2af450fd5 [INT-API-003] Standardize error handling across all services 2025-12-25 22:42:07 +01:00
senke
e21ece089b [INT-TYPE-008] Validate AuthResponse matches backend exactly 2025-12-25 22:39:41 +01:00
senke
2b81d5156d [INT-TYPE-005] Create PlaylistVisibility enum aligned with backend 2025-12-25 22:36:51 +01:00
senke
8b4ef0abae [INT-TYPE-004] Create TrackStatus enum aligned with backend 2025-12-25 22:36:20 +01:00
senke
6aff5a7383 [INT-TYPE-003] Standardize Playlist.id to string everywhere 2025-12-25 22:35:38 +01:00
senke
e4ba1ef215 [INT-TYPE-002] Standardize Track.id to string everywhere 2025-12-25 22:34:55 +01:00
senke
9fe0328794 [INT-TYPE-001] Standardize User.id to string everywhere 2025-12-25 22:33:16 +01:00
senke
67454a3ac5 [FE-TEST-011] test: Add integration tests for playlist management
- Enhanced existing integration tests for playlist management
- Added 6 new comprehensive tests covering:
  - Complete playlist creation flow with CreatePlaylistDialog
  - Complete playlist editing flow with PlaylistForm
  - Error handling for creation and update
  - Form rendering and validation

Tests focus on end-to-end user interactions with playlist forms
and services. Fixed component references and ID types.

Phase: PHASE-5
Priority: P2
Progress: 248/267 (92.88%)
2025-12-25 17:47:11 +01:00
senke
474d67c41a [FE-TEST-010] test: Add integration tests for track upload flow
- Created comprehensive integration tests for complete track upload flow
- Added 11 tests covering:
  - Complete upload flow with valid audio file
  - Upload with metadata using trackApi
  - Upload progress tracking
  - Error handling (validation, network, server, quota errors)
  - Async upload with status polling
  - Retryable errors

All 11 tests pass. Tests cover end-to-end upload functionality using
trackService and trackApi services.

Phase: PHASE-5
Priority: P2
Progress: 247/267 (92.51%)
2025-12-25 17:36:08 +01:00
senke
d32ffb40ef [FE-TEST-009] test: Add integration tests for auth flow
- Enhanced existing integration tests with comprehensive flow coverage
- Added 10 new tests for complete authentication flows:
  - Full login flow with form interaction
  - Full registration flow with form interaction
  - Forgot password flow
  - Reset password flow
  - Form validation and error handling
  - Navigation between auth pages
  - Remember me functionality
  - Email verification flow

All 30 tests pass. Tests cover end-to-end user interactions with forms,
validation, navigation, and error handling scenarios.

Phase: PHASE-5
Priority: P2
Progress: 246/267 (92.13%)
2025-12-25 17:27:19 +01:00
senke
61b873e57c [FE-TEST-008] test: Add component tests for player components
- Fixed failing test in AudioPlayer.test.tsx (removed non-existent text assertion)
- Added 8 additional tests for queue functionality and edge cases
- Tests cover queue navigation, compact mode, error/loading states
- All 217 tests pass across all player components

Comprehensive coverage for:
- Audio player component
- Queue management and navigation
- All control components (play/pause, next/previous, volume, repeat/shuffle)

Phase: PHASE-5
Priority: P2
Progress: 245/267 (91.76%)
2025-12-25 17:23:39 +01:00
senke
7ee21e7d28 [FE-TEST-007] test: Add component tests for playlist components
- Created comprehensive tests for CollaboratorManagement component
- Created comprehensive tests for PlaylistHeader component
- Created comprehensive tests for AddCollaboratorModal component
- Created comprehensive tests for PlaylistFollowButton component

All 51 tests pass. These components are essential for playlist detail and collaboration functionality.

Phase: PHASE-5
Priority: P2
Progress: 244/267 (91.39%)
2025-12-25 17:21:59 +01:00
senke
a65e8394b4 [FE-TEST-006] test: Add component tests for track components
- Created comprehensive tests for CommentThread component
- Created comprehensive tests for ShareDialog component

All 30 tests pass. These components are used in TrackDetailPage for comments and sharing functionality.

Phase: PHASE-5
Priority: P2
Progress: 243/267 (91.01%)
2025-12-25 17:18:28 +01:00
senke
bdd2f49cf0 [FE-TEST-005] test: Add component tests for auth components
- Created comprehensive tests for ForgotPasswordForm component
- Created comprehensive tests for AuthButton component
- Created comprehensive tests for AuthFormField component
- Created comprehensive tests for AuthErrorMessage component
- Created comprehensive tests for TwoFactorVerify component

All 48 tests pass. Covers all auth components that were missing tests.

Phase: PHASE-5
Priority: P2
Progress: 242/267 (90.64%)
2025-12-25 17:12:50 +01:00
senke
24cf8f0b9d [FE-TEST-001] fe-test: Add unit tests for API services
- Created comprehensive unit tests for marketplaceService (11 tests)
- Created comprehensive unit tests for profileService (12 tests)
- Created comprehensive unit tests for avatarService (9 tests)
- Created comprehensive unit tests for 2fa-service (8 tests)
- All 40 tests pass successfully
- Tests cover success cases, error handling, edge cases, and validation scenarios

Files modified:
- apps/web/src/services/marketplaceService.test.ts (new)
- apps/web/src/features/profile/services/profileService.test.ts (new)
- apps/web/src/features/profile/services/avatarService.test.ts (new)
- apps/web/src/services/2fa-service.test.ts (new)
- VEZA_COMPLETE_MVP_TODOLIST.json
2025-12-25 15:55:53 +01:00
senke
0c6aaf7335 [FE-TYPE-012] fe-type: Add type safety for hooks 2025-12-25 14:57:57 +01:00
senke
d300d19d1e [FE-TYPE-011] fe-type: Add type safety for stores 2025-12-25 14:54:40 +01:00
senke
b406d8a1a1 [FE-TYPE-001] fe-type: Fix all ID type mismatches
- Created ID normalization utility (idNormalization.ts) with:
  * normalizeId: Convert IDs to strings (handles number/string/null)
  * normalizeObjectIds: Recursively normalize IDs in objects
  * normalizeArrayIds: Normalize IDs in arrays of objects
  * Type guards for ID validation
- Updated stores/chat.ts to use normalization instead of manual String() conversions
- Fixed type definitions:
  * PlaylistAnalytics: playlistId number -> string
  * ImportPlaylistButton: playlistId number -> string
  * ExportPlaylistButton: playlistId number -> string
  * usePlaylistNotifications: lastNotificationId number -> string
- Removed unnecessary String() conversions in comparisons
- Comprehensive test suite (20 tests, all passing)
- Ensures all IDs are consistently strings (UUIDs) throughout the app
2025-12-25 14:27:28 +01:00
senke
b93a5ca149 [FE-STATE-009] fe-state: Add state normalization
- Created state normalization utility (stateNormalization.ts) with functions:
  * normalize/denormalize for converting arrays to normalized state
  * addToNormalized, updateInNormalized, removeFromNormalized
  * Helper functions for working with normalized state
- Applied normalization to LibraryStore (items and favorites)
- Updated storeSelectors to convert normalized state to arrays
- Updated DashboardPage components to use new selectors
- Updated tests to work with normalized state structure
- Improved performance with O(1) lookups instead of O(n) array searches
2025-12-25 14:10:14 +01:00
senke
6737bd397a [FE-API-013] fe-api: Add error handling improvements 2025-12-25 13:20:07 +01:00
senke
936d31f16e [FE-API-012] fe-api: Add conversation service improvements 2025-12-25 13:15:39 +01:00
senke
882f1fe8e1 [FE-API-011] fe-api: Add roles service integration 2025-12-25 13:13:25 +01:00
senke
0a676acecd [FE-API-010] fe-api: Add analytics service integration 2025-12-25 12:31:54 +01:00
senke
4172974be3 [FE-API-009] fe-api: Add notifications service integration 2025-12-25 12:29:29 +01:00
senke
d617ece4a6 [FE-API-008] fe-api: Add search service integration 2025-12-25 12:27:42 +01:00
senke
349475c550 [FE-COMP-019] fix: Correct TypeScript errors in TrackCard keyboard handlers 2025-12-25 12:11:38 +01:00
senke
5d240a18d0 [FE-COMP-019] fe-comp: Add accessibility (a11y) improvements 2025-12-25 12:11:08 +01:00
senke
c10fca8f44 [FE-COMP-017] fe-comp: Add playlist follow/unfollow button 2025-12-25 12:07:29 +01:00
senke
e9ecf97e7e [FE-COMP-016] fe-comp: Add track like/unlike button 2025-12-25 12:04:49 +01:00
senke
a618e995d8 [FE-COMP-015] fix: Remove unused initialFollowerCount prop 2025-12-25 12:02:22 +01:00
senke
d410fce9a5 [FE-COMP-015] fix: Correct TypeScript errors in FollowButton 2025-12-25 12:01:57 +01:00
senke
246d353d12 [FE-COMP-015] fe-comp: Add user follow/unfollow button 2025-12-25 12:00:19 +01:00
senke
32e4730292 [FE-COMP-012] fix: Remove unused refetchReplies variable 2025-12-25 11:52:13 +01:00
senke
b105f61865 [FE-COMP-012] fe-comp: Add comment system UI 2025-12-25 11:51:52 +01:00