senke
22f0c04b3f
stabilisation commit: while implementing v0.10.5
2026-03-09 19:36:33 +01:00
senke
ac182d9f35
feat(v0.10.4): Playlists collaboratives - F136, F140, F141, F143, F145
...
Backend API CI / test-unit (push) Failing after 0s
Backend API CI / test-integration (push) Failing after 0s
Frontend CI / test (push) Failing after 0s
Storybook Audit / Build & audit Storybook (push) Failing after 0s
Backend:
- F141: GET /discover/playlists/editorial for editorial playlists
- F143: GET /playlists/shared/:token (public, no auth)
- F145: POST /playlists/import (JSON), GET /playlists/:id/export/m3u
- F136: GET /playlists/favoris (creates Favoris playlist if needed)
- Repo: GetFavorisByUserID, service GetOrCreateFavorisPlaylist
Frontend:
- SharedPlaylistPage at /playlists/shared/:token (public route)
- Editorial playlists section in DiscoverPage
- Export M3U in ExportPlaylistButton dropdown
- Import JSON via ImportPlaylistButton (PlaylistListPage)
- Favoris sidebar link, FavorisRedirectPage, AddToFavorisButton on tracks
Roadmap: v0.10.4 marked DONE
2026-03-09 16:49:05 +01:00
senke
6111ae6136
feat(v0.10.3): Commentaires & Interactions Sociales - F201-F215
...
Backend API CI / test-unit (push) Failing after 0s
Backend API CI / test-integration (push) Failing after 0s
Frontend CI / test (push) Failing after 0s
Storybook Audit / Build & audit Storybook (push) Failing after 0s
- F201: Commentaires avec timestamp cliquable, modération mots-clés
- F202: Likes privés (compteur visible créateur uniquement)
- F203: Reposts de tracks sur le profil, bouton Repost, onglet Reposts
- F204: Notifications (commentaire, repost), pas de gamification
Backend: migrations 127/128, comment_moderation_service, track_repost_service,
GetTrackLikes/GetTrack masquent like_count pour non-créateurs
Frontend: LikeButton isCreator, RepostButton, Reposts tab profil, timestamp seek
2026-03-09 10:30:47 +01:00
senke
171a154763
feat(v0.10.2): Recherche fulltext Elasticsearch - F361-F365
...
- Elasticsearch 8.x dans docker-compose.dev
- Package internal/elasticsearch: client, config, mappings, indices
- Sync PG→ES: reindex tracks/users/playlists, IndexTrack/DeleteTrack
- SearchService ES: multi_match + fuzziness (typo tolerance), highlighting
- Fallback gracieux: PostgreSQL si ELASTICSEARCH_URL absent
- Routes: GET /search, GET /search/suggestions, POST /admin/search/reindex
- Frontend: searchApi cursor/limit params (extensibilité)
- docs/ENV_VARIABLES: ELASTICSEARCH_URL, ELASTICSEARCH_INDEX, ELASTICSEARCH_AUTO_INDEX
- Roadmap v0.10.2 → DONE
2026-03-09 10:13:18 +01:00
senke
4a422fc4c3
feat(v0.10.1): Tags & Genres discover - F351-F355
...
- Tags déclaratifs (max 10, 30 chars) via track_tags + tags
- Genres normalisés (max 3) via track_genres + taxonomy
- GET /api/v1/discover/genre/:genre, tag/:tag (browse chrono)
- POST/DELETE follow genre/tag
- Section feed "Nouvelles sorties dans vos genres"
- Track update: SyncTrackTags, SyncTrackGenres via discover service
- Frontend: discoverService, FeedPage by_genres, DiscoverPage
- Migration 126_tags_genres_discover
- MSW handlers for discover
2026-03-09 01:52:56 +01:00
senke
9024fa92a0
v0.9.8 beta
Backend API CI / test-unit (push) Failing after 0s
Backend API CI / test-integration (push) Failing after 0s
2026-03-07 00:54:35 +01:00
senke
2a4de3ce21
v0.9.8
2026-03-06 19:13:16 +01:00
senke
41d55e107d
v0.9.7 beta
2026-03-06 18:58:37 +01:00
senke
05467c1c2f
v0.9.7
2026-03-06 18:52:08 +01:00
senke
257077ad49
v0.9.6
2026-03-06 10:29:30 +01:00
senke
f5bca2b642
v0.9.5
2026-03-06 10:02:53 +01:00
senke
2ed2bb9dcf
v0.9.4
2026-03-05 23:03:43 +01:00
senke
b6c004319c
v0.9.2
Backend API CI / test-unit (push) Failing after 0s
Backend API CI / test-integration (push) Failing after 0s
2026-03-05 19:27:34 +01:00
senke
2df921abd5
v0.9.1
2026-03-05 19:22:31 +01:00
senke
ecf8d73e55
fix(release): v1.0.2 — Conformité complète V1_SIGNOFF (21 critères)
...
Backend API CI / test-unit (push) Failing after 0s
Backend API CI / test-integration (push) Failing after 0s
Frontend CI / test (push) Failing after 0s
Storybook Audit / Build & audit Storybook (push) Failing after 0s
- Couverture Go: script coverage_report.sh, 39% mesuré
- Vitest thresholds frontend 50%
- Load test WebSocket: CHAT_ORIGIN→backend, WS_URL=/api/v1/ws
- Tests: chat_service (WSUrl), password_service (hash/expired)
- V1_SIGNOFF: 14 PASS, 7 N/A documentés
- PERFORMANCE_BASELINE, RGPD, PWA tables v1.0.2
- Runbooks, Grafana, Secrets validés
2026-03-03 21:18:53 +01:00
senke
7cfd48a82a
fix(release): v1.0.1 — Conformité complète ROADMAP checklist
...
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
354c747cce
feat(security): add global and per-IP DDoS rate limiting (1000/s, 100/s)
...
SEC1-04: Redis sliding window 1s, excluded paths (health, swagger, auth)
2026-03-03 09:25:08 +01:00
senke
d577f8c9be
chore(release): v0.971 — Phantom (gamification removal, WebRTC Beta, limits doc)
Backend API CI / test-unit (push) Failing after 0s
Backend API CI / test-integration (push) Failing after 0s
Frontend CI / test (push) Failing after 0s
Storybook Audit / Build & audit Storybook (push) Failing after 0s
2026-03-02 19:25:37 +01:00
senke
da837fc085
chore(release): v0.951 — Loadtest (500 req/s, 1000 WS, 50 uploads, perf indexes)
Backend API CI / test-unit (push) Failing after 0s
Backend API CI / test-integration (push) Failing after 0s
2026-03-02 19:22:38 +01:00
senke
d92b7fd975
chore(release): v0.943 — Refactor (split track batch ops to track_batch_service)
Backend API CI / test-unit (push) Failing after 0s
Backend API CI / test-integration (push) Failing after 0s
2026-03-02 19:07:49 +01:00
senke
40fba3cbbf
chore(release): v0.942 — Compress (migration consolidation procedure, mark script)
Backend API CI / test-unit (push) Failing after 0s
Backend API CI / test-integration (push) Failing after 0s
2026-03-02 19:05:54 +01:00
senke
7e015f8e73
chore(release): v0.941 — Cleanup (dead code, migrations dedup, deprecated routes)
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
2026-03-02 19:04:30 +01:00
senke
1318a53a64
chore(release): v0.931 — Cursor (cursor-based pagination, performance baseline)
Backend API CI / test-unit (push) Failing after 0s
Backend API CI / test-integration (push) Failing after 0s
2026-03-02 12:35:49 +01:00
senke
2a0a6a1ec9
chore(release): v0.922 — Greenlight (handler tests: dashboard, presence)
2026-03-02 12:30:51 +01:00
senke
72d40990c5
feat(v0.923): API contract tests, OpenAPI generation, CI type sync check
Backend API CI / test-unit (push) Failing after 0s
Backend API CI / test-integration (push) Failing after 0s
Frontend CI / test (push) Failing after 0s
Storybook Audit / Build & audit Storybook (push) Failing after 0s
2026-02-27 20:23:10 +01:00
senke
7cb4ef56e1
feat(v0.912): Cashflow - payment E2E integration tests
...
Backend API CI / test-unit (push) Failing after 0s
Backend API CI / test-integration (push) Failing after 0s
- Add MarketplaceServiceOverride and AuthMiddlewareOverride to config for tests
- Wire overrides in routes_webhooks and routes_marketplace (authForMarketplaceInterface)
- payment_flow_test: cart -> checkout -> webhook -> order completed, license, transfer
- webhook_idempotency_test: 3 identical webhooks -> 1 order, 1 license
- webhook_security_test: empty secret 500, invalid sig 401, valid sig 200
- refund_flow_test: completed order -> refund -> order refunded, license revoked
- Shared computeWebhookSignature helper in webhook_test_helpers.go
- SetMaxOpenConns(1) for sqlite :memory: in idempotency test to avoid flakiness
Ref: docs/ROADMAP_V09XX_TO_V1.md v0.912 Cashflow
2026-02-27 20:00:51 +01:00
senke
4720bb20b2
feat(auth): v0.911 Keystone - OAuth and auth integration tests
...
Backend API CI / test-unit (push) Failing after 0s
Backend API CI / test-integration (push) Failing after 0s
- Add access token blacklist on logout (VEZA-SEC-006)
- Extend OAuthService for mock provider injection in tests
- Add oauth_google_test.go: full OAuth Google flow with mocked provider
- Add oauth_github_test.go: OAuth GitHub flow with PKCE verification
- Add token_refresh_test.go: E2E refresh via httpOnly cookies
- Add logout_blacklist_test.go: E2E logout + token blacklist
- Fix testutils import path in resume_upload_test, track_quota_test
- Fix CreatorID -> UserID in track_quota_test
- Add test:integration script to package.json
Release: v0.911 Keystone
2026-02-27 09:58:53 +01:00
senke
f9120c322b
release(v0.903): Vault - ORDER BY whitelist, rate limiter, VERSION sync, chat-server cleanup, Go 1.24
...
Backend API CI / test-unit (push) Failing after 0s
Backend API CI / test-integration (push) Failing after 0s
Frontend CI / test (push) Failing after 0s
Storybook Audit / Build & audit Storybook (push) Failing after 0s
Stream Server CI / test (push) Failing after 0s
- 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
6823e5a30d
release(v0.902): Sentinel - PKCE OAuth, token encryption, redirect validation, CHAT_JWT_SECRET
...
Backend API CI / test-unit (push) Failing after 0s
Backend API CI / test-integration (push) Failing after 0s
- PKCE (S256) in OAuth flow: code_verifier in oauth_states, code_challenge in auth URL
- CryptoService: AES-256-GCM encryption for OAuth provider tokens at rest
- OAuth redirect URL validated against OAUTH_ALLOWED_REDIRECT_DOMAINS
- CHAT_JWT_SECRET must differ from JWT_SECRET in production
- Migration script: cmd/tools/encrypt_oauth_tokens for existing tokens
- Fixes: VEZA-SEC-003, VEZA-SEC-004, VEZA-SEC-009, VEZA-SEC-010
2026-02-26 19:49:15 +01:00
senke
51984e9a1f
feat(security): v0.901 Ironclad - fix 5 critical/high vulnerabilities
...
Backend API CI / test-unit (push) Failing after 0s
Backend API CI / test-integration (push) Failing after 0s
- OAuth: use JWTService+SessionService, httpOnly cookies (VEZA-SEC-001)
- Remove PasswordService.GenerateJWT (VEZA-SEC-002)
- Hyperswitch webhook: mandatory verification, 500 if secret empty (VEZA-SEC-005)
- Auth middleware: TokenBlacklist.IsBlacklisted check (VEZA-SEC-006)
- Waveform: ValidateExecPath before exec (VEZA-SEC-007)
2026-02-26 19:34:45 +01:00
senke
62e3e96884
test(v0.803): unit tests for CCPA, reports, announcements, feature flags
2026-02-25 20:02:24 +01:00
senke
c782bcb5b3
feat(admin): feature flags CRUD with DB persistence
2026-02-25 19:56:24 +01:00
senke
99b7cd8d97
feat(admin): global announcements CRUD and public banner endpoint
2026-02-25 19:55:21 +01:00
senke
f30a9562a9
feat(admin): maintenance mode middleware with 503 responses
2026-02-25 19:54:22 +01:00
senke
911fc525a2
feat(admin): moderation queue with reports CRUD
2026-02-25 19:53:04 +01:00
senke
d35b7d37fb
feat(api): add Swagger annotations for privacy opt-out and account deletion
2026-02-25 19:51:54 +01:00
senke
9636613eaa
feat(users): account deletion hardening with anonymization, S3 cleanup, session revocation
2026-02-25 19:51:21 +01:00
senke
3f56e49791
feat(compliance): CCPA Do Not Sell middleware and opt-out endpoint
2026-02-25 19:49:25 +01:00
senke
470162ade8
feat(audit): HTTP audit middleware for auto-logging POST/PUT/DELETE
2026-02-25 19:48:03 +01:00
senke
7692c4b8b9
feat(v0.802): frontend Cloud/Gear, MSW, docs, scope v0.803, archive
...
- Cloud: CloudFileVersions, CloudShareModal, versions/share in CloudView
- Gear: GearDocumentsTab, GearRepairsTab, warranty badge, initialTab
- MSW: cloud versions/share, gear documents/repairs, tags suggest
- Stories: CloudFileVersions, CloudShareModal, GearDetailModal variants
- gearService: listDocuments, uploadDocument, deleteDocument, listRepairs, createRepair, deleteRepair
- cloudService: listVersions, restoreVersion, shareFile, getSharedFile
- gear_warranty_notifier: 24h ticker, notifications for expiring warranty
- tag_handler_test: unit tests
- docs: API_REFERENCE, CHANGELOG, PROJECT_STATE, FEATURE_STATUS v0.802
- SCOPE_CONTROL, .cursorrules: scope v0.803
- archive: V0_802_RELEASE_SCOPE, RETROSPECTIVE_V0802
2026-02-25 14:00:58 +01:00
senke
596233aaaf
feat(upload): tags auto-suggest endpoint and additional audio formats
2026-02-25 13:39:59 +01:00
senke
8162d1b419
feat(cloud): GDPR data export and automatic backup cron
2026-02-25 13:35:16 +01:00
senke
dced768c01
feat(cloud): file versioning, restore, and sharing
2026-02-25 13:33:08 +01:00
senke
689d9164f6
feat(db): add migrations 119-122 for cloud versions, gear warranty/documents/repairs
2026-02-25 13:30:49 +01:00
senke
d161a3739d
feat(users): add user_preferences migration with appearance fields
2026-02-25 09:45:03 +01:00
senke
63867f1d09
feat(v0.703): Go Live & Streaming Complet
...
Backend API CI / test-unit (push) Failing after 0s
Backend API CI / test-integration (push) Failing after 0s
Frontend CI / test (push) Failing after 0s
Storybook Audit / Build & audit Storybook (push) Failing after 0s
- Backend: room creation for live streams, permissions CanJoin/CanSend/CanRead for stream rooms
- LiveViewChat: useLiveStreamChat hook, WebSocket connection, stream_id as room
- LiveViewPlayer: real-time viewer count via polling (5s)
- Media Session: seekbackward/seekforward handlers (10s step)
- GoLiveView.stories.tsx: Default, Loading, Error, StreamKeyVisible
- Docs: API_REFERENCE, CHANGELOG, PROJECT_STATE, FEATURE_STATUS, RETROSPECTIVE_V0703
- SCOPE_CONTROL, .cursorrules: update to v0.801
- Archive V0_703_RELEASE_SCOPE.md
2026-02-25 09:35:22 +01:00
senke
038f6d4991
test(live): add live stream service unit tests
...
Use serializer:json for LiveStream.Tags to support SQLite in-memory tests.
2026-02-24 09:56:08 +01:00
senke
b49045073e
feat(monitoring): add live stream Prometheus metrics
2026-02-24 09:53:29 +01:00
senke
8062ec685c
feat(live): add handler endpoints for Go Live (me, key, regenerate, update)
2026-02-24 09:53:01 +01:00
senke
083fe2e50d
feat(live): stream key generation, ListByUser, RegenerateStreamKey
2026-02-24 09:52:04 +01:00