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
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
senke
076a132c0f
feat(live): add migration 117 and model fields for Go Live
2026-02-24 09:51:21 +01:00
senke
7895e7ed50
test(marketplace): add refund order unit tests
2026-02-24 00:19:42 +01:00
senke
c22866fe8c
test(marketplace): add invoice generation unit tests
2026-02-24 00:19:10 +01:00
senke
a40c27bcc9
test(marketplace): add product review unit tests
2026-02-24 00:18:45 +01:00
senke
c785e61e69
feat(v0.701): AdminTransfers page/route, MSW, stories, Deep Health, API ref, docs, scope v0.702
...
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
- Step 13: AdminTransfersPage, LazyAdminTransfers, route /admin/transfers
- Step 14: MSW handlers admin transfers
- Step 15: AdminTransfersView stories (Default, Empty, WithFailedTransfers, Error, Loading)
- Step 16-17: DeepHealth handler (disk, config), GET /health/deep
- Step 19: health_deep_test.go (4 tests)
- Step 20: docs/API_REFERENCE.md
- Step 21: Archive V0_604, MIGRATIONS.md migration 116
- Step 22: CHANGELOG, PROJECT_STATE, FEATURE_STATUS v0.701
- Step 23: RETROSPECTIVE_V0701, V0_702 placeholder, SCOPE_CONTROL, .cursorrules
- Step 24: Archive V0_701_RELEASE_SCOPE
- Fix: AdminTransfersView Select component (use options API)
2026-02-23 23:42:02 +01:00
senke
b3a74d6740
test(admin): add admin transfer handler tests
2026-02-23 23:35:11 +01:00
senke
7d530f9612
feat(routes): wire admin transfer endpoints in /admin group
2026-02-23 23:33:54 +01:00
senke
9ee4b18c33
feat(admin): add admin transfer handler (GET list, POST retry)
2026-02-23 23:33:35 +01:00
senke
06db7d6936
test(marketplace): add transfer retry worker tests
2026-02-23 23:32:59 +01:00
senke
8272f4770a
feat(marketplace): add TransferRetryWorker background goroutine
2026-02-23 23:32:03 +01:00
senke
2a9e6084fc
feat(monitoring): add transfer retry Prometheus metrics
2026-02-23 23:31:35 +01:00
senke
42764110f0
feat(config): add transfer retry configuration (v0.701)
2026-02-23 23:31:09 +01:00
senke
706a97b824
feat(marketplace): add retry fields to SellerTransfer model
2026-02-23 23:30:51 +01:00
senke
5e7e506fe3
test(commerce): add transfer tests — success, multi-seller, transfer-fails
2026-02-23 22:58:16 +01:00
senke
fdd750d772
feat(seller): add transfers history card to SellerDashboard
2026-02-23 22:57:28 +01:00
senke
b3c74428d8
feat(commerce): add GET /sell/transfers endpoint
2026-02-23 22:56:26 +01:00
senke
22ce89f3da
feat(commerce): trigger seller transfers on payment succeeded
2026-02-23 22:56:01 +01:00
senke
6d1d861a52
feat(commerce): wire TransferService in marketplace and webhook routes
2026-02-23 22:55:39 +01:00
senke
31833c01f1
feat(commerce): add TransferService interface and WithTransferService option
2026-02-23 22:55:18 +01:00
senke
6a468e5ffb
feat(commerce): add SellerTransfer model
2026-02-23 22:55:08 +01:00
senke
535e76adfe
feat(commerce): add PLATFORM_FEE_RATE config (default 10%)
2026-02-23 22:54:50 +01:00
senke
83ed4f315b
chore(release): v0.602 — Payout, Dette Technique & Tests E2E
...
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
- Stripe Connect: onboarding, balance, SellerDashboardView
- Interceptors: auth.ts, error.ts extracted, facade
- Grafana: dashboards enriched (p50, top endpoints, 4xx, WS, commerce)
- E2E commerce: product->order->review->invoice
- SMOKE_TEST_V0602, RETROSPECTIVE_V0602, PAYOUT_MANUAL
- Archive V0_602 scope, V0_603 placeholder, SCOPE_CONTROL v0.603
- Fix sanitizer regex (Go no backreferences)
- Marketplace test schema: product_licenses, product_images, orders, licenses
2026-02-23 22:32:01 +01:00
senke
941f6e6f3e
feat(seller): add seller_stripe_accounts migration and model
2026-02-23 22:11:11 +01:00
senke
ae81e171c7
feat(seller): add Stripe Connect config
2026-02-23 22:09:23 +01:00
senke
cc9fbf4f24
feat(commerce): Hyperswitch LIVE_MODE configuration
...
Backend API CI / test-unit (push) Failing after 0s
Backend API CI / test-integration (push) Failing after 0s
- config: HyperswitchLiveMode (HYPERSWITCH_LIVE_MODE)
- routes_marketplace: warn when production + LiveMode=false
- docker-compose.prod: HYPERSWITCH_LIVE_MODE env var
2026-02-23 19:56:52 +01:00
senke
218b4b33d6
feat(streaming): wire HLS pipeline end-to-end with serving routes
...
- Add HLSEnabled and HLSStorageDir to backend config (HLS_STREAMING env)
- Register HLS serving routes (master.m3u8, quality playlist, segments)
behind HLSEnabled feature flag on existing track routes
- Add GetHLSStatus and TriggerHLSTranscode methods to StreamService
for stream server communication
- Update docker-compose (dev, staging, prod) with HLS env vars and
shared hls-data volume between backend and stream-server
- Stream callback already correctly updates stream_manifest_url
2026-02-22 21:20:35 +01:00
senke
1ed7fe2ebb
feat(chat): Redis rate limiter, persistent presence, PostgreSQL full-text search
...
- Rewrite chat rate limiter with Redis sliding window (sorted sets) and
automatic in-memory fallback when Redis is unavailable
- Add ChatPresenceService with Redis-backed online/offline/heartbeat
tracking (2min TTL), integrated into Hub register/unregister
- Add migration 113: tsvector column with GIN index and auto-update
trigger on messages table for full-text search
- Update Search repository method to use ts_rank ordering instead of ILIKE
- Wire Redis client into chat WebSocket setup in router.go
- Add comprehensive tests: rate limiter, presence, 100-user concurrent benchmark
2026-02-22 21:17:51 +01:00
senke
02605b0405
test(chat): Sprint 5 -- unit tests, E2E tests, feature parity validation
...
- Add hub_test.go: register/unregister, join/leave room, broadcast, exclude sender,
send to user, multiple clients same user (6 tests)
- Add handler_messages_test.go: send message, missing fields, edit ownership check,
soft delete (4 tests)
- Add handler_realtime_test.go: typing broadcast, read receipts, reactions add/remove,
delivered status (5 tests)
- Add e2e_chat_ws_test.go: auth valid, missing token, invalid token, ping/pong
- Add e2e_chat_messages_test.go: 2-client message flow, typing indicator
- Create CHAT_FEATURE_PARITY.md: 25-feature checklist (all OK or IMPROVED)
2026-02-22 20:49:32 +01:00