Commit graph

414 commits

Author SHA1 Message Date
google-labs-jules[bot]
e35ef8a6ec feat: production-ready fixes and hybrid deployment support
- Frontend Fixes:
  - Correct import paths for `useToast` hook in `WebhooksPage.tsx` and `AdminDashboardPage.tsx` (camelCase vs kebab-case).
  - Update `WebhooksPage.tsx` to use the existing custom `Dialog` component API instead of non-existent composed components.
- Backend Fixes:
  - Remove explicit transaction blocks from `011_cleanup_refresh_tokens.sql` to avoid conflict with migration runner's transaction handling.
- Configuration:
  - Create `.env` file with production configuration for local testing.
  - Fix Nginx configuration in `apps/web/nginx.conf`:
    - Use resolver and variables for upstream proxies to ensure frontend starts even if backends are down.
    - Fix stream server proxy path to route `/stream` to `/ws`.
  - Fix `docker-compose.production.yml` to use correct `Dockerfile` for stream server.
  - Add `docker-compose.hybrid.yml` to support running infrastructure (DBs) in Docker with `network_mode: host` while running apps natively (bypassing Docker build rate limits).
2025-12-31 17:09:47 +00:00
google-labs-jules[bot]
59ead9e2b8 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
123022a7b3 final remediation 2025-12-26 09:56:47 +01:00
senke
4b9f8bd9f6 [INTEGRATION] Achieve 10/10 integration score
 All 3 V2 tasks completed:
- INT-V2-001: Fixed legacy auth store reference
- INT-V2-002: Use TrackStatus enum in types/api.ts
- INT-V2-003: Updated documentation with id: string

Integration score: 8.5/10 → 10/10
All 35 tasks completed (32 initial + 3 V2)
2025-12-26 09:55:05 +01:00
senke
24319874a2 [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
75d1081488 [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
badd652577 [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
e07a1fc805 [AUDIT] Post-implementation integration audit - Score: 8.5/10
- 32/32 tâches d'intégration complétées (100%)
- Score amélioré: 6.5/10 → 8.5/10 (+2.0)
- Production-ready avec 3 améliorations mineures optionnelles
- Rapport complet: INTEGRATION_AUDIT_POST_IMPLEMENTATION.md
- TodoList V2: VEZA_INTEGRATION_V2_TODOLIST.json (3 tâches P3)
2025-12-26 09:41:52 +01:00
senke
10060bf878 [INT-DOC-001] Generate OpenAPI/Swagger documentation (already configured, added /docs alias) 2025-12-26 09:32:56 +01:00
senke
81918d35ba [INT-TEST-002] Create E2E test for CRUD operations 2025-12-26 09:32:00 +01:00
senke
fd1fc4346b [INT-TEST-001] Create E2E test for complete auth flow 2025-12-26 09:31:16 +01:00
senke
d122e909dc [INT-ENDPOINT-006] Implement backend conversation management endpoints (already implemented) 2025-12-26 09:29:24 +01:00
senke
dcee3f4080 [INT-ENDPOINT-005] Implement backend playlist collaborator endpoints (already implemented) 2025-12-26 09:28:54 +01:00
senke
468ef6e38f [INT-ENDPOINT-004] Implement backend GET /api/v1/playlists/search (already implemented) 2025-12-26 09:28:26 +01:00
senke
7683f779c8 [INT-ENDPOINT-003] Implement backend GET /api/v1/tracks/search (already implemented) 2025-12-26 09:27:56 +01:00
senke
c700953728 [INT-ENDPOINT-002] Implement backend GET /api/v1/users/search (already implemented) 2025-12-26 09:27:26 +01:00
senke
9747aaa041 [INT-ENDPOINT-001] Add frontend service for GET /api/v1/sessions/stats 2025-12-26 09:26:50 +01:00
senke
40591f70fc [INT-CLEANUP-004] Add barrel exports for clean imports 2025-12-26 09:25:52 +01:00
senke
75b6c7197b [INT-CLEANUP-003] Remove legacy hooks using old API client (already completed - no legacy hooks found) 2025-12-26 09:24:01 +01:00
senke
f54e5e558f [INT-CLEANUP-002] Consolidate type definitions in single location 2025-12-26 09:22:05 +01:00
senke
1fc6a66d37 [INT-CLEANUP-001] Remove all unused API service files (offline-storage.ts, secure-auth.ts) 2025-12-26 09:17:31 +01:00
senke
087aaa5a2e [INT-AUTH-004] Add token expiration pre-check 2025-12-26 09:15:13 +01:00
senke
546bc9fba3 [INT-AUTH-003] Verify refresh token flow handles edge cases 2025-12-26 09:13:36 +01:00
senke
563eb264b6 [INT-AUTH-002] Remove duplicate auth store - migrate to features/auth/store/authStore.ts 2025-12-26 09:11:46 +01:00
senke
11b61b14a7 [INT-API-005] Add retry logic for 429 rate limit responses 2025-12-26 09:10:26 +01:00
senke
2fd5b3935f [INT-API-004] Add request timeout configuration per endpoint type 2025-12-25 22:42:56 +01:00
senke
550d98b531 [INT-API-003] Standardize error handling across all services 2025-12-25 22:42:07 +01:00
senke
64b56b5e56 [INT-API-002] Verify response unwrapping in interceptor 2025-12-25 22:40:59 +01:00
senke
90f86da7d9 [INT-API-001] Remove duplicate API client (lib/apiClient.ts) - already completed 2025-12-25 22:40:05 +01:00
senke
b0557335d5 [INT-TYPE-008] Validate AuthResponse matches backend exactly 2025-12-25 22:39:41 +01:00
senke
99e02b6a3d [INT-TYPE-007] Create PaginatedResponse generic type 2025-12-25 22:38:20 +01:00
senke
259ddeb9dd [INT-TYPE-006] Complete ApiError interface with all backend fields 2025-12-25 22:37:36 +01:00
senke
fbf6973643 [INT-TYPE-005] Create PlaylistVisibility enum aligned with backend 2025-12-25 22:36:51 +01:00
senke
38eccdfcaa [INT-TYPE-004] Create TrackStatus enum aligned with backend 2025-12-25 22:36:20 +01:00
senke
a183599fb1 [INT-TYPE-003] Standardize Playlist.id to string everywhere 2025-12-25 22:35:38 +01:00
senke
961149d837 [INT-TYPE-002] Standardize Track.id to string everywhere 2025-12-25 22:34:55 +01:00
senke
3d9f116649 [INT-TYPE-001] Standardize User.id to string everywhere 2025-12-25 22:33:16 +01:00
senke
89928e186a [INT-AUTH-001] Ensure CSRF protection active in production 2025-12-25 22:28:46 +01:00
senke
df426df2c6 [INT-CORS-002] Add preflight request handling validation 2025-12-25 22:27:05 +01:00
senke
5719e47a1c [INT-CORS-001] Configure CORS_ALLOWED_ORIGINS for production 2025-12-25 22:26:41 +01:00
senke
18420dbee8 [INFRA-012] infra: Set up auto-scaling
🎉 ALL 267 TASKS COMPLETED! 🎉
2025-12-25 21:43:00 +01:00
senke
177f3b3f79 [INFRA-011] infra: Set up load balancing 2025-12-25 21:41:39 +01:00
senke
d8f613b9b3 [INFRA-010] infra: Set up disaster recovery plan 2025-12-25 21:40:31 +01:00
senke
c83980c61b [INFRA-009] infra: Set up secrets management 2025-12-25 21:38:32 +01:00
senke
82e4614cba [INFRA-008] infra: Set up environment management 2025-12-25 21:37:06 +01:00
senke
51c19549ec [INFRA-007] infra: Set up CDN configuration 2025-12-25 21:35:52 +01:00
senke
bfe85e937a [INFRA-006] infra: Set up SSL/TLS certificates 2025-12-25 21:34:39 +01:00
senke
ba33e83cfe [INFRA-005] infra: Set up database backups 2025-12-25 21:33:44 +01:00
senke
5f2b93e390 [INFRA-004] infra: Set up monitoring and logging 2025-12-25 21:32:57 +01:00
senke
cfef0560ab [INFRA-003] infra: Set up Kubernetes deployment 2025-12-25 21:32:07 +01:00