Commit graph

39 commits

Author SHA1 Message Date
senke
7ede202e95 fix(release): v1.0.1 — Conformité complète ROADMAP checklist
Some checks failed
Backend API CI / test-unit (push) Failing after 0s
Backend API CI / test-integration (push) Failing after 0s
Stream Server CI / test (push) Failing after 0s
- Sécurité: npm 0 CRITICAL, cargo audit 0 vulnérabilités
- OpenAPI: @Param id corrigé pour /tracks/quota/{id}
- Tests: Payment E2E passe, OAuth DATABASE_URL fallback
- Migrations: 000_mark_consolidated.sql
- veza-stream-server: prometheus 0.14, validator 0.19
- docs: SECURITY_SCAN_RC1, V1_SIGNOFF, PROJECT_STATE
2026-03-03 20:17:54 +01:00
senke
4f47cec05d feat(v0.923): API contract tests, OpenAPI generation, CI type sync check 2026-02-27 20:23:10 +01:00
senke
515494007f release(v0.903): Vault - ORDER BY whitelist, rate limiter, VERSION sync, chat-server cleanup, Go 1.24
- ORDER BY dynamiques : whitelist explicite, fallback created_at DESC
- Login/register soumis au rate limiter global
- VERSION sync + check CI
- Nettoyage références veza-chat-server
- Go 1.24 partout (Dockerfile, workflows)
- TODO/FIXME/HACK convertis en issues ou résolus
2026-02-27 09:43:25 +01:00
senke
e11984898d chore: consolidate CI, E2E, backend and frontend updates
- CI: workflows updates (cd, ci), remove playwright.yml
- E2E: global-setup, auth/playlists/profile specs
- Remove playwright-report and test-results artifacts from tracking
- Backend: auth, handlers, services, workers, migrations
- Frontend: components, features, vite config
- Add e2e-results.json to gitignore
- Docs: REMEDIATION_PROGRESS, audit archive
- Rust: chat-server, stream-server updates
2026-02-17 16:43:21 +01:00
senke
3c9d5cd608 feat(backend): OAuth FRONTEND_URL from config, docs update
- Add FrontendURL to config (FRONTEND_URL or VITE_FRONTEND_URL)
- OAuth handlers use config instead of os.Getenv
- Update TODOS_AUDIT: mark UUID migration items as resolved
- Add ISSUES_P2_BACKLOG.md for GitHub issues
- Add ROUTES_ORPHANES.md for routes without UI
- Document FRONTEND_URL in .env.example
2026-02-17 16:42:23 +01:00
senke
ea1b60466a fix(backend): remediation plan — tests, playback_analytics, job queue, gamification
Phase 1 - Backend tests:
- Add PlaybackAnalytics to AutoMigrate in setupTestTrackHandler
- Create migration 081_create_playback_analytics.sql for production
- PlaybackAnalyticsService: return ErrTrackNotFound for missing track
- RecordPlay handler: return 404 when track not found
- CreateShare: use RespondSuccess, fix services.ErrTrackNotFound/ErrForbidden
- GetTrackLikes, UnlikeTrack: use RespondSuccess for consistent response
- GetUserLikedTracks test: fix route /users/:id/likes and params
- GetSharedTrack_InvalidToken: set share service in test

Phase 4 - Job queue transcoding:
- Add EnqueueTranscodingJob to JobEnqueuer interface
- Add TypeTranscoding and processTranscodingJob (stub) in JobWorker
- MockJobEnqueuer: implement EnqueueTranscodingJob

Phase 5 - Gamification cleanup:
- Move api_manager.go to internal/api/archive/
- Add archive/README.md documenting archived modules
- Update TODOS_AUDIT.md and FEATURE_STATUS.md
2026-02-17 16:01:45 +01:00
senke
057d9a8361 chore(docs): reorganize markdown files, add docs/README (P2) 2026-02-16 11:04:24 +01:00
senke
d847374520 refactor(backend): unify architecture - migrate analytics handler to core (ADR-001) 2026-02-15 16:18:13 +01:00
senke
9c23fefe40 fix(backend): require ClamAV in production environment
Add validation in ValidateForEnvironment() to fail startup when
CLAMAV_REQUIRED=false in production. Virus scanning is mandatory
for all file uploads in production.
Phase 1 audit - P1.4
2026-02-15 15:54:58 +01:00
senke
a08d9f109f feat(api): add PostgreSQL read replica support (3.7)
- Add DATABASE_READ_URL config and InitReadReplica in database package
- Add ForRead() helper for read-only handler routing
- Update TrackService and TrackSearchService to use read replica for reads
- Document setup in DEPLOYMENT_GUIDE.md and .env.template
2026-02-14 22:50:23 +01:00
senke
203b45852a docs: update TODO audit docs after Phase 3 2026-02-14 22:45:48 +01:00
senke
4ef3a0bc71 chore: add go.work and optional monorepo orchestrator 2026-02-14 18:21:39 +01:00
senke
e49dba240d refactor(backend): add track, notification, webhook repositories 2026-02-14 18:07:04 +01:00
senke
04c25aa24f Phase 2 stabilisation: code mort, Modal→Dialog, feature flags, tests, router split, Rust legacy
Bloc A - Code mort:
- Suppression Studio (components, views, features)
- Suppression gamification + services mock (projectService, storageService, gamificationService)
- Mise à jour Sidebar, Navbar, locales

Bloc B - Frontend:
- Suppression modal.tsx deprecated, Modal.stories (doublon Dialog)
- Feature flags: PLAYLIST_SEARCH, PLAYLIST_RECOMMENDATIONS, ROLE_MANAGEMENT = true
- Suppression 19 tests orphelins, retrait exclusions vitest.config

Bloc C - Backend:
- Extraction routes_auth.go depuis router.go

Bloc D - Rust:
- Suppression security_legacy.rs (code mort, patterns déjà dans security/)
2026-02-14 17:23:32 +01:00
senke
875df12d8b small fixes : cors + login loop 2026-02-07 20:36:48 +01:00
senke
7a8a6973e3 data-flow: verify backend filter parameter handling
- Completed Action 2.2.1.2: Verified backend handles filter parameters
- Created BACKEND_FILTER_PARAMS_AUDIT.md documenting backend filter support
- Verified backend /tracks endpoint handles: page, limit, user_id, genre, format, sort_by, sort_order
- Identified issue: search parameter not handled in ListTracks (frontend sends 'search', backend doesn't process)
- Separate /tracks/search endpoint exists but uses 'q' parameter
- Recommendation: Add search support to ListTracks or align frontend to use search endpoint
2026-01-11 16:52:29 +01:00
senke
09d7648c61 data-flow: design dashboard aggregation endpoint contract
- Completed Action 2.1.1.1: Designed dashboard endpoint contract
- Created DASHBOARD_ENDPOINT_CONTRACT.md with complete specification
- Defined GET /api/v1/dashboard endpoint consolidating 4+ API calls
- Response structure: stats, recent_activity, library_preview
- Query parameters: activity_limit, library_limit, stats_period
- Documented data sources, error handling, performance considerations
- Migration strategy outlined for phased rollout
- Ready for backend implementation (Action 2.1.1.2)
2026-01-11 16:43:14 +01:00
senke
2e9f05aa4b api-contracts: verify backend response helpers use wrapped format
- Completed Action 1.3.2.4: Audited all response helper functions
- Created RESPONSE_HELPERS_AUDIT.md documenting all helpers
- Verified all helpers use wrapped format: Success(), Created(), Error(), RespondWithAppError(), RespondSuccess()
- Found two implementation approaches (gin.H vs APIResponse struct) - both produce wrapped format
- No changes needed - backend already compliant with wrapped format requirement
2026-01-11 16:36:45 +01:00
senke
389e855440 api-contracts: categorize endpoints by response format type
- Completed Action 1.3.1.3: Categorized all tested endpoints
- Created 4 categories: wrapped (2), auth_required (22), errors (12), path_params
- Documented format consistency: 2/36 verified (5.6%), both use wrapped format
- Identified 34 unverified endpoints requiring auth or specific IDs
- Updated ENDPOINT_FORMAT_AUDIT.md with detailed categorization
2026-01-11 16:36:28 +01:00
senke
291d218235 api-contracts: identify endpoint response formats
- Completed Action 1.3.1.2: Tested 36 endpoints for response format consistency
- Fixed test script to handle subshell issues with RESULTS array
- Created ENDPOINT_FORMAT_AUDIT.md documenting findings
- Found 2 endpoints using wrapped format, 0 direct format
- Most endpoints require auth (22) or have errors (12)
- Limited coverage due to authentication requirements and path parameters
2026-01-11 16:36:13 +01:00
senke
2fce619940 api-contracts: install openapi-generator-cli and create type generation script
- Completed Action 1.1.2.1: Installed @openapitools/openapi-generator-cli
- Completed Action 1.1.2.2: Created generate-types.sh script
- Added swagger annotations to cmd/modern-server/main.go
- Regenerated swagger.yaml with proper info section
- Successfully generated TypeScript types to src/types/generated/

The script generates types from veza-backend-api/openapi.yaml using
typescript-axios generator and creates barrel exports.
2026-01-11 16:30:43 +01:00
senke
d171f29847 api-contracts: audit OpenAPI spec and generate/export to openapi.yaml
- Completed Action 1.1.1.1: Audited existing OpenAPI spec (56 endpoints documented)
- Completed Action 1.1.1.2: Generated swagger.json using swag init
- Completed Action 1.1.1.3: Exported to openapi.yaml (Swagger 2.0 format)
- Created OPENAPI_AUDIT_REPORT.md documenting findings

Note: Spec is in Swagger 2.0 format. Consider upgrading to OpenAPI 3.0 in future.
2026-01-11 16:29:31 +01:00
senke
7452bd637a stabilisation commit A 2026-01-07 19:39:21 +01:00
senke
ffabb99b54 [INT-011] int: Add API versioning strategy 2025-12-25 15:25:33 +01:00
senke
2bed10a018 [DOC-006] doc: Write troubleshooting guide 2025-12-25 11:02:37 +01:00
senke
0efc3d5afd [DOC-005] doc: Write user guide 2025-12-25 10:56:24 +01:00
senke
82cceed173 [DOC-004] doc: Write architecture documentation 2025-12-25 02:57:10 +01:00
senke
a2443e0326 [DOC-003] doc: Write development setup guide 2025-12-25 02:54:47 +01:00
senke
032f7a198f [DOC-002] doc: Write deployment guide 2025-12-25 02:52:14 +01:00
senke
664d1e02af [DOC-001] doc: Write API documentation 2025-12-25 02:48:06 +01:00
senke
8016058ccf [BE-DB-016] be-db: Add database backup strategy 2025-12-24 15:55:46 +01:00
senke
980858b17e stabilizing veza-backend-api: LAST REMEDIATION 2025-12-16 14:07:36 -05:00
senke
d0fe8c8ad7 stabilizing veza-backend-api: phase 1 2025-12-16 11:23:49 -05:00
senke
d33c351ac6 refonte: backend-api go first; phase 1 2025-12-12 21:34:34 -05:00
okinrev
fc1807ea15 refactor(marketplace): enforce unified api response envelope 2025-12-06 17:39:04 +01:00
okinrev
c14c647581 feat(api): remediate missing openapi spec and annotate handlers 2025-12-06 17:34:18 +01:00
okinrev
8caa2fd7ca STABILISATION: phase 3–5 – API contract, tests & chat-server hardening 2025-12-06 17:21:59 +01:00
okinrev
5ffcd50e0a P0: stabilisation backend/chat/stream + nouvelle base migrations v1
Backend Go:
- Remplacement complet des anciennes migrations par la base V1 alignée sur ORIGIN.
- Durcissement global du parsing JSON (BindAndValidateJSON + RespondWithAppError).
- Sécurisation de config.go, CORS, statuts de santé et monitoring.
- Implémentation des transactions P0 (RBAC, duplication de playlists, social toggles).
- Ajout d’un job worker structuré (emails, analytics, thumbnails) + tests associés.
- Nouvelle doc backend : AUDIT_CONFIG, BACKEND_CONFIG, AUTH_PASSWORD_RESET, JOB_WORKER_*.

Chat server (Rust):
- Refonte du pipeline JWT + sécurité, audit et rate limiting avancé.
- Implémentation complète du cycle de message (read receipts, delivered, edit/delete, typing).
- Nettoyage des panics, gestion d’erreurs robuste, logs structurés.
- Migrations chat alignées sur le schéma UUID et nouvelles features.

Stream server (Rust):
- Refonte du moteur de streaming (encoding pipeline + HLS) et des modules core.
- Transactions P0 pour les jobs et segments, garanties d’atomicité.
- Documentation détaillée de la pipeline (AUDIT_STREAM_*, DESIGN_STREAM_PIPELINE, TRANSACTIONS_P0_IMPLEMENTATION).

Documentation & audits:
- TRIAGE.md et AUDIT_STABILITY.md à jour avec l’état réel des 3 services.
- Cartographie complète des migrations et des transactions (DB_MIGRATIONS_*, DB_TRANSACTION_PLAN, AUDIT_DB_TRANSACTIONS, TRANSACTION_TESTS_PHASE3).
- Scripts de reset et de cleanup pour la lab DB et la V1.

Ce commit fige l’ensemble du travail de stabilisation P0 (UUID, backend, chat et stream) avant les phases suivantes (Coherence Guardian, WS hardening, etc.).
2025-12-06 11:14:38 +01:00
okinrev
2425c15b09 adding initial backend API (Go) 2025-12-03 20:29:37 +01:00