senke
fae4588d70
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
b05d7a04e3
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
36c03e1cba
docs: add developer onboarding guide
2026-02-15 16:13:20 +01:00
senke
37e6e426f0
feat(payments): document Hyperswitch activation and validate checkout flow
2026-02-15 16:08:49 +01:00
senke
43af35fd93
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
92f432fb9e
chore: consolidate pending changes (Hyperswitch, PostCard, dashboard, stream server, etc.)
2026-02-14 21:45:15 +01:00
senke
ae586f6134
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
8a0f008345
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
bbbe557eca
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
816676906a
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
b1ed46b142
small fixes : cors + login loop
2026-02-07 20:36:48 +01:00
senke
be7d7b02cc
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
995063383f
docs(frontend): update roadmap checklist and implementation log
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-07 19:52:48 +01:00
senke
d4f4e41e1a
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
3298295d75
docs(audit): TrackDetailPage refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-07 06:57:46 +01:00
senke
793ad47e27
docs(audit): PlaylistDetailPage refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-07 06:47:07 +01:00
senke
75c9472b36
docs(audit): PlaylistActions refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-07 06:10:30 +01:00
senke
ce166e320f
docs(audit): EquipmentDetailView refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-07 05:46:19 +01:00
senke
b54f6cf00a
docs(audit): TrackListPagination refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-07 05:04:24 +01:00
senke
7edd6267fc
docs(audit): PlaylistAnalytics refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-07 04:54:00 +01:00
senke
e6adea58d3
docs(audit): VirtualizedChatMessages refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-07 04:44:30 +01:00
senke
41050fce5d
docs(audit): LibraryPage refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-07 04:31:15 +01:00
senke
f9eda10044
docs(audit): router refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-07 04:16:43 +01:00
senke
70614a86af
docs(audit): ChatView refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-07 04:01:30 +01:00
senke
d56cf96900
docs(audit): AuthView refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-07 03:54:38 +01:00
senke
1dd0896d0b
docs(audit): AdminView refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 22:32:04 +01:00
senke
14d81649ad
docs(audit): NotificationsView refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 22:23:19 +01:00
senke
cb72f73f52
docs(audit): EducationView refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 22:11:45 +01:00
senke
c6c254bb05
docs(audit): SettingsView refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 22:00:12 +01:00
senke
837269e361
docs(audit): CartView refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 21:51:30 +01:00
senke
8d1ac73507
docs(audit): PurchasesView refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 21:43:08 +01:00
senke
3e5f8e49d2
docs(audit): SocialView refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 21:35:06 +01:00
senke
6b7ac3582f
docs(audit): MarketplaceView refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 21:26:33 +01:00
senke
833b66e0b6
docs(audit): AnalyticsView refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 18:34:24 +01:00
senke
88b6581b8d
docs(audit): LiveView refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 18:16:11 +01:00
senke
193f2f204b
docs(audit): CheckoutView refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 18:04:47 +01:00
senke
a848d9d2f4
docs(audit): AdminDashboardView refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 17:54:39 +01:00
senke
27db3ef8ed
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
a98989db87
docs(audit): ChatInterface refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 14:25:15 +01:00
senke
197162072b
docs(audit): CreateProductView refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 14:17:28 +01:00
senke
5dd242d847
docs(audit): FileDetailsView refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 14:06:09 +01:00
senke
366d44d65f
docs(audit): VirtualizedList refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 13:55:32 +01:00
senke
610f727d3b
docs(audit): context/AudioContext refactorised 2026-02-05
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 13:46:58 +01:00
senke
a1b5ef6d65
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
4a3eda6101
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
94dc4c6ae2
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
c2d7d32f3d
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
b44fadf66f
docs(audit): GroupDetailView refactor entry
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 12:35:28 +01:00
senke
6cf1b96617
docs(audit): EditProfile refactor entry
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 11:45:29 +01:00
senke
9165ec1033
docs(audit): FormBuilder refactor entry
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 11:36:31 +01:00
senke
7eefd94a4b
docs(audit): MonitoringDashboardContent subcomponents entry
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 11:28:03 +01:00
senke
f6e4b2bd17
docs(audit): Table (data) refactor entry
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 11:23:10 +01:00
senke
432807f1a5
docs(audit): tooltip refactor entry
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 10:32:46 +01:00
senke
5f6644b93a
docs(audit): tabs refactor entry
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 10:12:56 +01:00
senke
d0c7faafc2
docs(audit): accordion refactor entry
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 02:33:34 +01:00
senke
c1722ba846
docs(audit): dropdown-menu refactor entry
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 02:27:58 +01:00
senke
b827386abf
docs(audit): StudioView refactor entry
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 02:18:00 +01:00
senke
87028a213a
docs(audit): CloudSettingsView refactor entry
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 02:11:58 +01:00
senke
cc1f835636
docs(audit): AIToolsView refactor entry
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 02:07:27 +01:00
senke
d0b2f27ac1
docs(audit): ConnectivityView refactor entry
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 02:02:23 +01:00
senke
3547ce1096
docs(audit): GoLiveView refactor entry
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 01:57:44 +01:00
senke
d5f2ec7178
docs(audit): CreateProjectModal refactor entry
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 01:51:46 +01:00
senke
3ad473fde2
docs(audit): ProjectsManager refactor entry
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 01:45:05 +01:00
senke
b4bd5022a9
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
2f72c2cb8a
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
6e4d37df3a
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
e07e4f3e0e
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
930d96c954
docs(audit): ajouter SharePlaylistModal au tableau des refactorisations
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 00:58:07 +01:00
senke
81b7dac001
docs(audit): ajouter CreatePlaylistDialog au tableau des refactorisations
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 00:53:10 +01:00
senke
213c569dc8
docs(audit): ajouter PlaylistSearch au tableau des refactorisations
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 00:47:47 +01:00
senke
116871795f
docs(audit): ajouter PlaylistBatchActions au tableau des refactorisations
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 00:37:26 +01:00
senke
b5d91cd713
docs(audit): ajouter AddTrackToPlaylistModal au tableau des refactorisations
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 00:22:33 +01:00
senke
7ed4a8decd
docs(audit): add PlaylistTrackList to refactored components table
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 00:14:41 +01:00
senke
0e9c2b1f39
docs(audit): add NotificationMenu to refactored components table
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 00:07:42 +01:00
senke
b2aae4d4a4
docs(audit): add LibraryManager to refactored components table
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 00:00:58 +01:00
senke
6641b78677
docs(audit): add CourseDetailView to refactored components table
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 23:52:47 +01:00
senke
cbd730f6b5
docs(audit): add CourseLearningView to refactored components table
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 23:46:20 +01:00
senke
1280c85fa1
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
983989090b
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
d836e9e085
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
9f7cac0395
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
f1b71d4208
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
430d5c0bea
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
e73ccd8750
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
e52a4dd5a3
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
b223491af8
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
e5deb99cc0
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
1d97cd6cf6
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
4ac08f005a
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
73e55725a1
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
e3c2f9b01b
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
a3208e12b6
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
a60665a031
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
6d11a424f1
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
c2fc94c16b
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
2701ce18d2
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
ed4ff109b0
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
26c26cc55e
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
d67c132c93
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
5721862798
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