Commit graph

185 commits

Author SHA1 Message Date
senke
c3653f578d [FIX] E2E: Séparer tests authentifiés/non authentifiés dans mvp-integration
- Créer groupe 'Unauthenticated tests' avec storageState vide
- Créer groupe 'Authenticated tests' pour tests nécessitant auth
- Corriger indentation des tests 1.1 à 1.5
- Test 1.6 utilise maintenant l'état authentifié du global-setup
- Corrige erreurs où LoginPage redirigeait car déjà authentifié
2026-01-04 01:44:15 +01:00
senke
074417422e [FIX] Frontend: Corriger port Vite de 3000 à 5173
- Aligne la configuration avec Playwright
- Port 5173 est le port par défaut de Vite
- Corrige les tests E2E qui s'attendent à 5173
2026-01-04 01:44:15 +01:00
senke
3c29e52d1b [FIX] Frontend: Ajouter composants Dialog manquants pour WebhooksPage
- Ajout DialogContent, DialogDescription, DialogTitle, DialogTrigger
- Support onOpenChange pour compatibilité Radix UI
- Import React ajouté
- Corrige erreurs de compilation dans WebhooksPage
2026-01-04 01:44:15 +01:00
senke
ac258b0264 [FIX] Frontend: Désactiver service worker en dev + nettoyer cache
- Suppression dossier dist/ avec ancien build
- Nettoyage cache Vite
- Désactivation service worker en mode développement
- Évite problèmes de cache avec anciennes versions
2026-01-04 01:44:15 +01:00
senke
8e96daee5b [DOC] MVP Final Status - Tests E2E partiellement fonctionnels
- Global setup fonctionne  (authentification API réussie)
- Utilisateur de test créé et fonctionnel 
- Problème routage frontend identifié (page /login ne se charge pas)
- Recommandation: Tests manuels pour MVP ou corriger routage
- Backend 100% fonctionnel 
2026-01-04 01:44:15 +01:00
senke
d6f05c3e53 [TEST] Playwright E2E - Global setup avec API login direct
- Création utilisateur de test permanent (e2e@test.com)
- Modification global-setup pour utiliser API login directement
- Contournement du problème de routage frontend (404 sur /login)
- Configuration test-helpers mise à jour
- Backend doit être accessible pour que les tests passent
2026-01-04 01:44:15 +01:00
senke
51bccb7098 [DOC] MVP Final Status - Instructions tests frontend
- Backend: 100% fonctionnel 
- Frontend: Configuration Playwright corrigée
- Instructions ajoutées pour tests manuels et E2E
- MVP prêt pour validation frontend
2026-01-04 01:44:15 +01:00
senke
26add9f7af [DOC] MVP Final Status - Backend 100% fonctionnel
- Backend API: Tous les endpoints fonctionnent 
- Corrections: ISSUE-001 à ISSUE-007 fixées
- User Journey: Tous les statuts à true
- Frontend: Tests E2E à corriger (config port)
- MVP prêt pour tests frontend manuels
2026-01-04 01:44:15 +01:00
senke
fe26c07ccc [FIX] ISSUE-001 & ISSUE-002: Fix authentication workflow for MVP
ISSUE-001: Auto-verify email on registration
- Set IsVerified: true in Register() to allow immediate login
- Removes blocking email verification requirement for MVP

ISSUE-002: Generate tokens in Register
- Modified Register() signature to return (*User, *TokenPair, error)
- Added JWT token generation after user creation
- Store refresh token in database
- Updated handlers to use returned tokens
- Added nil checks for JWTService and refreshTokenService

Changes:
- veza-backend-api/internal/core/auth/service.go
- veza-backend-api/internal/handlers/auth.go
- veza-backend-api/internal/core/auth/handler.go
- REAL_ISSUES_TODOLIST.json

Note: Backend needs to be recompiled and restarted for changes to take effect.
2026-01-04 01:44:13 +01:00
senke
bfeac47e44 [TEST] MVP integration tests executed - 2/28 API passed, 0/20 E2E passed, 3 bugs found
- API Tests: 2 passed, 1 failed, 25 skipped (blocked by auth issues)
- E2E Tests: 0 passed, 1 failed (global setup timeout), 19 skipped
- Bugs found: 3 (2 critical, 1 high)
  - BUG-001: Auth register endpoint format issue (CRITICAL)
  - BUG-002: E2E global setup timeout (CRITICAL)
  - BUG-003: Token extraction in test script (HIGH)

Files added:
- MVP_TEST_REPORT.md: Complete test report with bug analysis
- MVP_BUGS_TODOLIST.json: Detailed bug tracking
- scripts/test-mvp-api.sh: API test suite
- scripts/setup-mvp-test-env.sh: Environment setup
- apps/web/e2e/mvp-integration.spec.ts: E2E test suite
- TESTS_MVP_README.md: Complete documentation
2026-01-04 01:44:13 +01:00
senke
5cb722234f [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
4d8a9aaf7f [FIX] Add cooldown for proactive token refresh to prevent rate limiting
- Add 5-second cooldown between proactive token refreshes
- Prevents multiple refresh requests when multiple API calls happen simultaneously
- Reduces rate limit errors from excessive refresh requests
2026-01-04 01:44:13 +01:00
senke
f345010d1a [FIX] Fix rate limit retry loop and Swagger /docs route
Frontend fixes:
- Stop retrying 429 rate limit errors to prevent infinite loops
- Show user-friendly error message for rate limit with retry-after duration
- Remove 429 from retryable status codes
- Clean up rate limit error handling logic

Backend fixes:
- Fix Swagger /docs route to use same handler as /swagger/*any
- Remove redirect that was causing 404 errors
2026-01-04 01:44:13 +01:00
senke
568efb6366 [FIX] Fix frontend black page and Swagger /docs route
Frontend fixes:
- Fix 'require is not defined' error in stateHydration.ts
  Replace require('react') with ES6 import statement
- Fix DataCloneError in broadcastSync.ts
  Serialize state before sending via BroadcastChannel (functions can't be cloned)

Backend fixes:
- Fix Swagger /docs route not found
  Redirect /docs to /swagger/index.html for better compatibility
2026-01-04 01:44:13 +01:00
google-labs-jules[bot]
c605f84183 feat: prepare production environment and fix frontend build
- Create .env file with production configuration for local testing.
- Fix frontend compilation errors:
  - Correct import paths for `useToast` hook in `WebhooksPage.tsx` and `AdminDashboardPage.tsx`.
  - Update `WebhooksPage.tsx` to use the existing custom `Dialog` component API.
- Improve Nginx configuration in `apps/web/nginx.conf`:
  - Use resolver and variables for upstream proxies to prevent crash when backend services are down.
  - Fix stream server proxy path to route `/stream` to `/ws` as expected by the backend.
- Update `docker-compose.production.yml` to use correct `Dockerfile` name for stream server.
2025-12-31 16:27:36 +00:00
senke
23270b056a final remediation 2025-12-26 09:56:47 +01:00
senke
02c6583a40 [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
e20517495d [INT-V2-002] Use TrackStatus enum in types/api.ts
- Replace string literal union with TrackStatus enum
- Import TrackStatus from @/features/tracks/types/track
- Improves type-safety for Track.status field
2025-12-26 09:54:32 +01:00
senke
1b1071023b [INT-V2-001] Fix legacy auth store reference in stateInvalidation.ts
- Replace require('@/stores/auth') with require('@/features/auth/store/authStore')
- Aligns with INT-AUTH-002: single auth store migration
2025-12-26 09:54:08 +01:00
senke
7933b096ba [INT-TEST-002] Create E2E test for CRUD operations 2025-12-26 09:32:00 +01:00
senke
10bfeac85a [INT-TEST-001] Create E2E test for complete auth flow 2025-12-26 09:31:16 +01:00
senke
dc09f05153 [INT-ENDPOINT-001] Add frontend service for GET /api/v1/sessions/stats 2025-12-26 09:26:50 +01:00
senke
ef599a6f8c [INT-CLEANUP-004] Add barrel exports for clean imports 2025-12-26 09:25:52 +01:00
senke
af0fa76855 [INT-CLEANUP-002] Consolidate type definitions in single location 2025-12-26 09:22:05 +01:00
senke
491f3f3abc [INT-CLEANUP-001] Remove all unused API service files (offline-storage.ts, secure-auth.ts) 2025-12-26 09:17:31 +01:00
senke
a0c3e87946 [INT-AUTH-004] Add token expiration pre-check 2025-12-26 09:15:13 +01:00
senke
5afbab21ce [INT-AUTH-003] Verify refresh token flow handles edge cases 2025-12-26 09:13:36 +01:00
senke
c85d7ffaa3 [INT-AUTH-002] Remove duplicate auth store - migrate to features/auth/store/authStore.ts 2025-12-26 09:11:46 +01:00
senke
d4733e8674 [INT-API-005] Add retry logic for 429 rate limit responses 2025-12-26 09:10:26 +01:00
senke
6bb5cccdfa [INT-API-004] Add request timeout configuration per endpoint type 2025-12-25 22:42:56 +01:00
senke
936ed41619 [INT-API-003] Standardize error handling across all services 2025-12-25 22:42:07 +01:00
senke
cd998907c0 [INT-API-002] Verify response unwrapping in interceptor 2025-12-25 22:40:59 +01:00
senke
a83adf936b [INT-TYPE-008] Validate AuthResponse matches backend exactly 2025-12-25 22:39:41 +01:00
senke
a147d7c463 [INT-TYPE-007] Create PaginatedResponse generic type 2025-12-25 22:38:20 +01:00
senke
da4a50e0f0 [INT-TYPE-006] Complete ApiError interface with all backend fields 2025-12-25 22:37:36 +01:00
senke
56d872f260 [INT-TYPE-005] Create PlaylistVisibility enum aligned with backend 2025-12-25 22:36:51 +01:00
senke
c7b46be087 [INT-TYPE-004] Create TrackStatus enum aligned with backend 2025-12-25 22:36:20 +01:00
senke
9508adefd9 [INT-TYPE-003] Standardize Playlist.id to string everywhere 2025-12-25 22:35:38 +01:00
senke
65fdf68efc [INT-TYPE-002] Standardize Track.id to string everywhere 2025-12-25 22:34:55 +01:00
senke
d0703b5946 [INT-TYPE-001] Standardize User.id to string everywhere 2025-12-25 22:33:16 +01:00
senke
0c612e983b [INT-AUTH-001] Ensure CSRF protection active in production 2025-12-25 22:28:46 +01:00
senke
3c4ba9cba4 [INFRA-002] infra: Set up Docker production images 2025-12-25 21:31:20 +01:00
senke
bb94055776 [FE-TEST-018] fe-test: Add error boundary tests 2025-12-25 18:47:45 +01:00
senke
b290890884 [FE-TEST-017] fe-test: Add mobile responsive tests 2025-12-25 18:47:07 +01:00
senke
1a29dd6afb [FE-TEST-016] fe-test: Add cross-browser tests 2025-12-25 18:46:16 +01:00
senke
672903bb46 [FE-TEST-015] fe-test: Add performance tests 2025-12-25 18:45:44 +01:00
senke
07c22a8297 [FE-TEST-014] fe-test: Add visual regression tests 2025-12-25 18:45:01 +01:00
senke
3878d08ae7 [FE-TEST-013] test: Add accessibility tests
- Created comprehensive accessibility tests for keyboard navigation and screen reader support
- Added 22 tests covering:
  - Tab/Shift+Tab navigation through form fields
  - Enter/Space key activation for buttons
  - Escape key for closing dialogs
  - ARIA labels, roles, and states
  - Focus management
  - Skip links
  - Form accessibility

All 22 tests pass. Tests verify keyboard navigation, screen reader
support, and proper ARIA attributes.

Phase: PHASE-5
Priority: P2
Progress: 250/267 (93.63%)
2025-12-25 17:52:49 +01:00
senke
b069fcb5d2 [FE-TEST-012] test: Add E2E tests for critical user flows
- Created comprehensive E2E tests for critical user flows
- Added 3 complete end-to-end test scenarios:
  1. Complete user journey (Login → Upload → Create Playlist)
  2. Login → Create Playlist (no upload)
  3. Login → Upload Track (no playlist)

Tests use Playwright and cover the most critical user journeys.
Tests require development server to be running (npm run dev).

Phase: PHASE-5
Priority: P2
Progress: 249/267 (93.26%)
2025-12-25 17:48:58 +01:00
senke
9f9edd370a [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