- Conflit SQLx résolu (alignement sur version 0.7)
- build.rs configurés pour protoc dans chat/stream servers
- API Prometheus migrée vers HistogramOpts
- Traits Display/Debug corrigés (String au lieu de &dyn Display)
- API TOTP corrigée (totp-rs 5.4 avec Secret::Encoded)
- Layers tracing-subscriber corrigés (types conditionnels)
- VezaError/VezaResult exportés dans lib.rs
- TransactionProvider simplifié (retour void au lieu de Box<dyn>)
- VezaConfig contraint Serialize pour to_json()
Files: veza-common/Cargo.toml, veza-common/src/*.rs, veza-chat-server/Cargo.toml, veza-chat-server/build.rs, veza-stream-server/Cargo.toml, veza-stream-server/build.rs, VEZA_ROADMAP.json
Hours: 8 estimated, 3 actual
- 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)
- 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
- 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)
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
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
- 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.
- 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)
- Replace string literal union with TrackStatus enum
- Import TrackStatus from @/features/tracks/types/track
- Improves type-safety for Track.status field