senke
29cdca1e02
docs: update remediation and onboarding for v0.101
...
- REMEDIATION_PROGRESS: add Phase v0.101 section
- V0_101_RELEASE_SCOPE: check build criteria
- VERSION: 0.101.0-dev (release tag will create)
2026-02-18 18:16:06 +01:00
senke
a992d394bb
fix(chat): ensure WebSocket auth token from query or cookie
...
- Chat server: accept token from ?token= or access_token cookie (httpOnly)
- Frontend: append token to WS URL when available (TokenStorage)
2026-02-18 12:42:48 +01:00
senke
aa7980ab71
fix(streaming): ensure HLS audio chain works end-to-end
...
- HAProxy: route /hls to stream server
- Vite proxy: /ws, /stream, /hls for dev
- HLS_BASE_URL: empty when STREAM_URL relative (proxy)
- FEATURE_STATUS: HLS_STREAMING operational
2026-02-18 12:42:42 +01:00
senke
7f72e280a4
docs: add full stack startup procedure for v0.101
2026-02-18 12:04:27 +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
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
b51a331b7a
docs: align FEATURE_STATUS and validation scripts with v0.101 state
...
- docs/FEATURE_STATUS.md: 19 operational features (Gear, Live, Analytics, Roles)
- apps/web/docs/FEATURE_STATUS.md: reference 103 report, 19 features summary
- scripts/validate-full.sh: add full validation (validate-light + go test + npm test)
2026-02-17 15:35:58 +01:00
senke
057d9a8361
chore(docs): reorganize markdown files, add docs/README (P2)
2026-02-16 11:04:24 +01:00
senke
986d4bb0a4
docs: update REMEDIATION_PROGRESS with Phase 2 completion
2026-02-16 10:53:29 +01:00
senke
fed6e715c6
docs(security): document Lot 9 (2FA) and Lot 10 (OAuth) verification (A07)
...
Both flows verified correct - no code changes required.
2026-02-16 10:23:33 +01:00
senke
e866629a58
fix(security): update or remove vulnerable npm devDependencies (A06)
...
- Remove @lhci/cli, newman, pa11y-ci (used only by obsolete Makefile.old)
- Redirect qa:postman, qa:lh, qa:a11y scripts to explanatory message
- npm audit fix for remaining lodash vulnerability
- Document Lot 6 (bypass flags verified) and Lot 8 in REMEDIATION_PROGRESS
2026-02-16 10:20:10 +01:00
senke
effbd7e36f
fix(security): remove or protect education routes (A01)
...
Education packages internal/api/education and internal/core/education were
empty directories with no routes registered. Removed empty dirs and
documented in REMEDIATION_PROGRESS.md.
2026-02-16 10:18:43 +01:00
senke
6cb9e7521d
docs: add developer onboarding guide
2026-02-15 16:13:20 +01:00
senke
277120b0ad
feat(payments): document Hyperswitch activation and validate checkout flow
2026-02-15 16:08:49 +01:00
senke
0fb75f759b
chore(audit 2.2, 2.3): nettoyer .md et .json à la racine
...
- Archiver 131 .md dans docs/archive/root-md/
- Archiver 22 .json dans docs/archive/root-json/
- Conserver 7 .md utiles (README, CONTRIBUTING, CHANGELOG, etc.)
- Conserver package.json, package-lock.json, turbo.json
- Ajouter README d'index dans chaque archive
2026-02-15 14:35:08 +01:00
senke
7f7b6547bc
chore: consolidate pending changes (Hyperswitch, PostCard, dashboard, stream server, etc.)
2026-02-14 21:45:15 +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
b733f47a33
chore: playwright workflow, docs, rapports audit, visual-tests, tmt unit
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-11 22:19:34 +01:00
senke
d534c4e857
ci: add npm audit, govulncheck, cargo audit to CI
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-11 21:33:27 +01:00
senke
ffd578befd
docs: mark veza-mobile as abandoned, document ghost features
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-11 21:31:22 +01:00
senke
875df12d8b
small fixes : cors + login loop
2026-02-07 20:36:48 +01:00
senke
6ce5ea10a4
feat(e2e): Playwright + pixelmatch stack for pixel-perfect visual regression
...
- playwright.config.visual.ts: dedicated config, viewport 1280x720, Chromium only,
snapshots in e2e/tests/visual/__snapshots__
- e2e/tests/visual/visual-regression.spec.ts: login, register, dashboard (full/header/sidebar),
player bar, playlists, 404, mobile/tablet viewports; dark theme + reduceMotion
- scripts/visual-diff.js: optional pixelmatch script to generate diff image from two PNGs
- docs/VISUAL_TESTING_STRATEGY.md: strategy, commands, CI, workflow
- npm scripts: test:visual, test:visual:update, test:visual:report
- deps: pixelmatch, pngjs; @playwright/test aligned to 1.58.1
- baseline snapshots added for login, dashboard, playlists, 404, viewports
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-07 20:01:30 +01:00
senke
0a8aee2178
docs(frontend): update roadmap checklist and implementation log
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-07 19:52:48 +01:00
senke
3f9af329cd
docs(frontend): add Spotify/Discord quality roadmap and checklist
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-07 19:50:43 +01:00
senke
17b57dc885
docs(audit): TrackDetailPage refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-07 06:57:46 +01:00
senke
1474078090
docs(audit): PlaylistDetailPage refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-07 06:47:07 +01:00
senke
b0921cd070
docs(audit): PlaylistActions refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-07 06:10:30 +01:00
senke
92bd9eeef3
docs(audit): EquipmentDetailView refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-07 05:46:19 +01:00
senke
7744e3ca0e
docs(audit): TrackListPagination refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-07 05:04:24 +01:00
senke
5fd968ec4a
docs(audit): PlaylistAnalytics refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-07 04:54:00 +01:00
senke
0352824f06
docs(audit): VirtualizedChatMessages refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-07 04:44:30 +01:00
senke
51c1937b51
docs(audit): LibraryPage refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-07 04:31:15 +01:00
senke
e3fa53925c
docs(audit): router refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-07 04:16:43 +01:00
senke
e342776843
docs(audit): ChatView refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-07 04:01:30 +01:00
senke
509a893b50
docs(audit): AuthView refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-07 03:54:38 +01:00
senke
a5a5e001d0
docs(audit): AdminView refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 22:32:04 +01:00
senke
5a6d647434
docs(audit): NotificationsView refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 22:23:19 +01:00
senke
fe63e56c1f
docs(audit): EducationView refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 22:11:45 +01:00
senke
99517571d3
docs(audit): SettingsView refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 22:00:12 +01:00
senke
0c19958cd2
docs(audit): CartView refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 21:51:30 +01:00
senke
b076b83f19
docs(audit): PurchasesView refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 21:43:08 +01:00
senke
7d8345684d
docs(audit): SocialView refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 21:35:06 +01:00
senke
be4b297a06
docs(audit): MarketplaceView refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 21:26:33 +01:00
senke
ac1cf02544
docs(audit): AnalyticsView refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 18:34:24 +01:00
senke
b74dc97fb4
docs(audit): LiveView refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 18:16:11 +01:00
senke
11611749df
docs(audit): CheckoutView refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 18:04:47 +01:00
senke
2c4ea8b7cd
docs(audit): AdminDashboardView refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 17:54:39 +01:00
senke
a83688dac1
docs(audit): components/settings/account AccountSettings refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 17:43:34 +01:00
senke
ae1b014a4b
docs(audit): ChatInterface refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 14:25:15 +01:00
senke
7278bdccef
docs(audit): CreateProductView refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 14:17:28 +01:00
senke
430c4e730d
docs(audit): FileDetailsView refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 14:06:09 +01:00
senke
00a700b9a9
docs(audit): VirtualizedList refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 13:55:32 +01:00
senke
36a13b10c3
docs(audit): context/AudioContext refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 13:46:58 +01:00
senke
c7c477574e
docs(audit): add features/player AudioPlayer refactor entry to FRONTEND_DEEP_DIVE_AUDIT
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 13:37:31 +01:00
senke
0388888845
docs(audit): add Library UploadModal refactor entry to FRONTEND_DEEP_DIVE_AUDIT
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 13:26:57 +01:00
senke
5cafe00902
docs(audit): add DiscoverView refactor entry to FRONTEND_DEEP_DIVE_AUDIT
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 13:19:48 +01:00
senke
b125e215b2
docs(audit): add UserProfilePage refactor entry to FRONTEND_DEEP_DIVE_AUDIT
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 13:11:09 +01:00
senke
dacda36ac6
docs(audit): GroupDetailView refactor entry
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 12:35:28 +01:00
senke
2d94d09cda
docs(audit): EditProfile refactor entry
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 11:45:29 +01:00
senke
049060cf9a
docs(audit): FormBuilder refactor entry
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 11:36:31 +01:00
senke
f5c9916421
docs(audit): MonitoringDashboardContent subcomponents entry
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 11:28:03 +01:00
senke
1137819c92
docs(audit): Table (data) refactor entry
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 11:23:10 +01:00
senke
8353417f30
docs(audit): tooltip refactor entry
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 10:32:46 +01:00
senke
0d8b1b21f4
docs(audit): tabs refactor entry
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 10:12:56 +01:00
senke
82692c5c8f
docs(audit): accordion refactor entry
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 02:33:34 +01:00
senke
7e420189b1
docs(audit): dropdown-menu refactor entry
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 02:27:58 +01:00
senke
f9ffc4d552
docs(audit): StudioView refactor entry
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 02:18:00 +01:00
senke
564eb059e2
docs(audit): CloudSettingsView refactor entry
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 02:11:58 +01:00
senke
7e139b77c1
docs(audit): AIToolsView refactor entry
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 02:07:27 +01:00
senke
fab2ca1077
docs(audit): ConnectivityView refactor entry
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 02:02:23 +01:00
senke
15fbe672df
docs(audit): GoLiveView refactor entry
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 01:57:44 +01:00
senke
9450e68054
docs(audit): CreateProjectModal refactor entry
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 01:51:46 +01:00
senke
085d3ae049
docs(audit): ProjectsManager refactor entry
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 01:45:05 +01:00
senke
80acd8b50c
docs(audit): TrackHistory refactor entry in FRONTEND_DEEP_DIVE_AUDIT
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 01:35:21 +01:00
senke
3911f1d579
docs(audit): TwoFactorSetup refactor entry in FRONTEND_DEEP_DIVE_AUDIT
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 01:26:01 +01:00
senke
8ee736ba38
docs(audit): UploadView refactor entry in FRONTEND_DEEP_DIVE_AUDIT
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 01:12:44 +01:00
senke
e555235ad8
docs(audit): AddCollaboratorModal refactor entry in FRONTEND_DEEP_DIVE_AUDIT
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 01:04:43 +01:00
senke
b77308476b
docs(audit): ajouter SharePlaylistModal au tableau des refactorisations
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 00:58:07 +01:00
senke
6a31bf9ae9
docs(audit): ajouter CreatePlaylistDialog au tableau des refactorisations
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 00:53:10 +01:00
senke
4937beecf6
docs(audit): ajouter PlaylistSearch au tableau des refactorisations
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 00:47:47 +01:00
senke
4d4123c2a3
docs(audit): ajouter PlaylistBatchActions au tableau des refactorisations
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 00:37:26 +01:00
senke
f4eb6f82d8
docs(audit): ajouter AddTrackToPlaylistModal au tableau des refactorisations
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 00:22:33 +01:00
senke
4e2c920b49
docs(audit): add PlaylistTrackList to refactored components table
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 00:14:41 +01:00
senke
3d31321e96
docs(audit): add NotificationMenu to refactored components table
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 00:07:42 +01:00
senke
6dca8a36d9
docs(audit): add LibraryManager to refactored components table
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 00:00:58 +01:00
senke
b6563112ea
docs(audit): add CourseDetailView to refactored components table
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 23:52:47 +01:00
senke
3120aa96f5
docs(audit): add CourseLearningView to refactored components table
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 23:46:20 +01:00
senke
a88d5a3e7c
docs(audit): mark ProductDetailView (marketplace) as refactored in frontend audit
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 23:38:28 +01:00
senke
56940b16ad
docs(audit): mark PlaybackHeatmap as refactored in frontend audit
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 23:31:25 +01:00
senke
ea2810d64b
docs(audit): mark ProjectDetailView as refactored in frontend audit
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 23:24:57 +01:00
senke
c69124595e
docs(audit): mark SessionsPage as refactored in frontend audit
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 23:19:26 +01:00
senke
9eb27d108b
docs(audit): mark TrackSearchFilters as refactored in frontend audit
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 23:09:51 +01:00
senke
775f28f313
docs(audit): add AccountSettings to refactored components in FRONTEND_DEEP_DIVE_AUDIT
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 23:04:31 +01:00
senke
5001769177
docs(audit): add Dialog to refactored components in FRONTEND_DEEP_DIVE_AUDIT
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 23:00:02 +01:00
senke
6b21655f3f
docs(audit): add PlaylistList to refactored components in FRONTEND_DEEP_DIVE_AUDIT
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 22:55:11 +01:00
senke
aeab65de09
docs(audit): add TrackFilters to refactored components in FRONTEND_DEEP_DIVE_AUDIT
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 22:46:26 +01:00
senke
0b6d1c0511
docs(audit): record AudioPlayer (components/player) refactor in FRONTEND_DEEP_DIVE_AUDIT
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 22:40:19 +01:00
senke
4b6f272861
docs(audit): record DataList refactor in FRONTEND_DEEP_DIVE_AUDIT
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 22:36:06 +01:00
senke
62708affa0
docs(audit): record OptimizedImage refactor in FRONTEND_DEEP_DIVE_AUDIT
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 22:31:48 +01:00
senke
5c228ae374
docs(audit): record AvatarUpload refactor in FRONTEND_DEEP_DIVE_AUDIT
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 22:21:13 +01:00
senke
7d9b7084d6
docs(audit): record DatePicker refactor in FRONTEND_DEEP_DIVE_AUDIT
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 22:15:27 +01:00
senke
5e4266fc5e
docs(audit): record ShareLinkManager refactor in FRONTEND_DEEP_DIVE_AUDIT
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 22:09:42 +01:00
senke
b70900a8f0
docs(audit): record PlaybackDashboard refactor in FRONTEND_DEEP_DIVE_AUDIT
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 22:04:54 +01:00
senke
f61d05b527
docs(audit): record MonitoringDashboard refactor in FRONTEND_DEEP_DIVE_AUDIT
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 21:57:59 +01:00
senke
2b3a5d84b9
docs(audit): record RegisterPage refactor in FRONTEND_DEEP_DIVE_AUDIT
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 21:50:42 +01:00
senke
03f4387f13
docs(audit): record FileManagerView refactor in FRONTEND_DEEP_DIVE_AUDIT
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 21:45:27 +01:00
senke
a4d5e19099
docs(audit): record SearchPage refactor in FRONTEND_DEEP_DIVE_AUDIT
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 21:39:51 +01:00
senke
5d9a9418b7
docs(audit): record NotificationsPage refactor in FRONTEND_DEEP_DIVE_AUDIT
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 21:34:54 +01:00
senke
7541e5a528
docs(audit): mark CloudFileBrowser as module in features/studio, update problemes identifies
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 21:19:58 +01:00
senke
df5e51d105
docs(audit): mark Select as refactored in FRONTEND_DEEP_DIVE_AUDIT
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 21:16:43 +01:00
senke
8fcabd49f5
docs(audit): mark file-upload as refactored in FRONTEND_DEEP_DIVE_AUDIT
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 21:09:32 +01:00
senke
a51640f1a0
docs(audit): mark UploadModal as refactored in FRONTEND_DEEP_DIVE_AUDIT
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 21:03:23 +01:00
senke
4490e78ff6
docs(ui): update audit report and mark LazyComponent as refactored in FRONTEND_DEEP_DIVE_AUDIT
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 20:49:46 +01:00
senke
d7aaa0e69c
docs(views): update audit report and mark GearView as refactored in FRONTEND_DEEP_DIVE_AUDIT
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 20:40:12 +01:00
senke
1eb766d0fa
docs(views): update audit report and mark ProfileView as refactored in FRONTEND_DEEP_DIVE_AUDIT
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 20:31:26 +01:00
senke
335faefe17
docs(user): update audit report and mark ProfileForm as refactored in FRONTEND_DEEP_DIVE_AUDIT
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 20:21:28 +01:00
senke
81cc36d5ff
docs(audit): mark ChatSidebar as refactored in FRONTEND_DEEP_DIVE_AUDIT
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 20:07:56 +01:00
senke
5853cb2432
docs(search): update audit report for Search refactor
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 19:46:03 +01:00
senke
af8387eece
docs(tracks): update audit report for CommentThread refactor
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 19:21:09 +01:00
senke
6be3a9653f
chore(dx): add .cursorrules and design system audit documentation
2026-02-05 14:18:17 +01:00
senke
c377b57e6a
docs(storybook): final comparison 67%→0%, contract update, silent toasts in Storybook
2026-02-05 13:39:59 +01:00
senke
39ab058416
docs: add Storybook contract (decorator, MSW mocks, no app providers in stories)
2026-02-05 13:22:16 +01:00
senke
31c9f2af0c
feat: global update including storybook setup and backend fixes
...
- Web: Setup Storybook, added addons, configured Tailwind, added stories for UI components.
- Backend: Updated API router, database, workers, and auth in common.
- Stream Server: Removed SQLx queries and updated auth.
- Docs & Scripts: Updated documentation and recovery scripts.
2026-02-02 19:34:14 +01:00
senke
5ea70a9250
config(template): add comprehensive .env.template
...
Created centralized environment template with all configuration
variables documented and categorized.
Categories:
- REQUIRED: DATABASE_URL, JWT_SECRET (min 32 chars), REDIS
- RECOMMENDED: SENTRY_DSN, COOKIE_SECURE, CORS_ALLOWED_ORIGINS
- OPTIONAL: RABBITMQ, SMTP, CLAMAV, S3
Features:
- Clear documentation for each variable
- Default values specified
- Validation rules documented
- Environment-specific guidance (dev vs prod)
- Security notes for sensitive values
Impact: Single source of truth for configuration, reduces config drift.
Fixes: P3.4 (part 1) from audit AUDIT_TEMP_29_01_2026.md
2026-01-29 23:32:18 +01:00
senke
0d7586692f
config(dev): add Vite proxy for API requests
...
Added proxy configuration to forward /api requests to backend
on localhost:8080 during development.
Benefits:
- Eliminates CORS errors in dev (requests are same-origin)
- No need for CORS_ALLOWED_ORIGINS in dev environment
- Matches production behavior (frontend and API on same domain)
- Simplifies local development setup
Configuration:
- Target: http://localhost:8080
- changeOrigin: true (modifies Host header)
- secure: false (allows self-signed certs in dev)
Impact: Dev environment more stable, no CORS configuration needed.
Fixes: P2.1 from audit AUDIT_TEMP_29_01_2026.md
2026-01-29 23:22:32 +01:00
senke
6d036133ca
batch 1
2025-12-22 22:00:50 +01:00
senke
d33c351ac6
refonte: backend-api go first; phase 1
2025-12-12 21:34:34 -05:00
okinrev
8d6ce72bb2
report generation and future tasks selection
2025-12-08 19:57:54 +01:00
okinrev
8caa2fd7ca
STABILISATION: phase 3–5 – API contract, tests & chat-server hardening
2025-12-06 17:21:59 +01:00
okinrev
25e82d1e3d
STABILISATION: phase 1 & phase 2
2025-12-06 14:45:07 +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
94dac54d40
P0 UUID Phase A: migrations + backend Go UUID refactor
2025-12-04 02:15:48 +01:00