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
4dcae6ca00
feat(web): add validate:storybook script (build, serve 6007, audit)
2026-02-14 14:02:57 +01:00
senke
1695606e24
refactor(ui): remove unused design-system package and create STORYBOOK_CONTRACT
...
- Remove packages/design-system/ directory (superseded by SUMI tokens
in apps/web/src/index.css, confirmed no imports exist)
- Update package.json keywords from kodo-design-system to sumi-design-system
- Create docs/STORYBOOK_CONTRACT.md defining mandatory story structure:
Default, Loading, Error, Empty states for feature components
- Typography audit: SUMI utility classes defined in index.css, codebase
correctly uses Tailwind classes with SUMI tokens via @theme — no
migration needed
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 23:00:26 +01:00
senke
d919f8c7c9
fix: critical bugs -- ChatInput var, authService types, dep placement
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 21:53:39 +01:00
senke
ceec16fbd5
fix(security): upgrade axios to fix CVE
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-11 19:51:39 +01:00
senke
95e31646cb
feat(ui): Sidebar refactor, premium skeletons, ContentFadeIn transitions
...
- Sidebar: useSidebarNavigation hook, ARIA, token-based layout
- Layout: lg:ml-main-expanded/collapsed (replace arbitrary ml-64)
- TrackCardSkeleton + PlaylistCardSkeleton: KŌDŌ tokens, min-heights for CLS
- ContentFadeIn: 200ms fade-in with --ease-out
- TrackGrid, PlaylistList, LibraryPage: integrate skeletons + fade-in
- Player: player-bar subcomponents, useAudioAnalyser
- Tests: TrackGrid wrapper (QueryClient, ToastProvider)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-10 22:51:51 +01:00
senke
39b2b642d2
feat(web): UI premium Discord/Spotify-like — tokens, shadows, focus, layout
...
Plan UI premium 6–8 semaines (design system, shell, Storybook, a11y):
- Design system: DESIGN_TOKENS.md, APP_SHELL.md, FULL_LAYOUT_PAGE.md. Single source
for layout/shell (index.css), shadows (design-system.css), durations/easing.
- Tokens: shadow-cover-depth, shadow-gold-glow, shadow-fab-glow; layout max-height
(max-h-layout-drawer, max-h-layout-panel, max-h-layout-list). All duration-200/300/500
replaced by --duration-fast/normal/slow. Arbitrary shadows replaced by token classes.
- Shell & player: Sidebar, Header, GlobalPlayer, MiniPlayer, PlayerQueue, PlayerControls,
AudioPlayer use tokens; focus-visible on Sidebar, PlayerQueue, DropdownMenuTrigger/Item,
TabsTrigger. Typography: text-[10px]/[9px] → text-xs where applicable.
- ESLint: no-restricted-syntax (warn) for w-/h-/rounded-/shadow-/text-/spacing arbitrary.
- Scripts: report-arbitrary-values.mjs, capture/compare/generate visual; visual-complete.spec.ts.
- Stories full layout: Dashboard, Playlists, Library, Settings, Profile in DashboardLayout.stories.
- .cursorrules + README: DESIGN_TOKENS, APP_SHELL, visual commands, no arbitrary without justification.
- apps/web/.gitignore: e2e test artifacts (test-results-visual, playwright-report-visual).
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-08 17:15:58 +01:00
senke
1efafe0cc5
test(storybook): Playwright suite for full Storybook + Spotify/Discord polish
...
- Add playwright.config.storybook.ts: runs against storybook-static on :6007
- Add e2e/tests/storybook/storybook-all.spec.ts: one test per story (load iframe, no errors)
- Add scripts/serve-storybook-static.cjs: serves build or stub (empty index) when no build
- npm run test:storybook:playwright (after build-storybook) for full coverage
- Storybook decorator: use bg-background / design tokens for dark (#121212 )
- Preview: default dark background #121212
- Button: secondary/ghost/glass aligned to Spotify/Discord (white/5, white/10 hover)
- KodoEmptyState: softer orbs, compact copy, primary CTA without heavy glow
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-07 20:30:49 +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
dc8dd90498
chore(storybook): add test:storybook script for local audit
2026-02-05 13:39:56 +01:00
senke
bd8ef90ef6
fix(storybook): disable logger network send in Storybook
...
Set VITE_STORYBOOK=true for storybook dev/build so the logger never
sends POST to /logs/frontend in the isolated UI environment. Prevents
94+ failed network requests in audit and keeps Storybook hermetic.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 12:16:23 +01:00
senke
7b1ec1fb12
fix(storybook): remediate crashes and improve mock stability
...
- Add global AuthProvider and QueryClientProvider
- Fix Loader2 reference error in CommentThread
- Fix coverUrl crash in ProductCard
- Fix double-slash URL bug in logger
- Improve MSW handlers and environment config
2026-02-04 19:33:00 +01:00
senke
9ea47201b5
feat(storybook): integrate msw for data mocking
2026-02-04 01:01:45 +01:00
senke
a2576c4eae
stabilisation: fix commit
2026-02-03 09:56:11 +01:00
senke
ad60247f33
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
f61c0c3dcc
improving UI: adding API doc to Developer Page
2026-01-26 14:12:17 +01:00
senke
8803070c2e
feat(frontend): complete design system migration and cleanup old pages
2026-01-25 12:33:46 +01:00
senke
fe7cea3114
feat: Intégrer Swagger UI dans la page Developer API
...
- Installer swagger-ui-react et swagger-ui-dist
- Créer composant SwaggerUI avec styles personnalisés pour le thème Kodo
- Ajouter système d'onglets dans DeveloperPage (Documentation, API Keys, Usage Stats)
- Configurer Swagger UI pour charger /swagger/doc.json depuis le backend
- Ajouter support de l'authentification Bearer token dans les requêtes Swagger
- Personnaliser les styles pour correspondre au design system Kodo
- La documentation complète de l'API est maintenant accessible directement dans l'interface
2026-01-18 13:50:47 +01:00
senke
9057894e83
implicit-tasks: add type generation and validation scripts to package.json
...
- Added generate:types script (runs generate-types.sh)
- Added validate:schemas script (runs schema validation tests)
- Added validate:types script (runs TypeScript type checking)
- Added validate:all script (runs both type checking and schema validation)
- Improves developer workflow with easy-to-use scripts
2026-01-16 14:36:56 +01:00
senke
b8cad69e3a
api-contracts: add type generation to pre-commit hook
...
- Install husky as dev dependency
- Create pre-commit hook to run type generation script
- Ensures types are always up-to-date with backend API before commit
- Hook runs from apps/web directory to execute generate-types.sh
2026-01-15 17:00:30 +01:00
senke
f74b020d4b
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
8efbb97e6f
stabilisation commit A
2026-01-07 19:39:21 +01:00
senke
99d5f1b61e
chore: resolve property mismatches and type conflicts for snake_case alignment
2026-01-07 11:15:48 +01:00
senke
886462e617
[LOGGING] Fix #20 : Intégration Sentry pour error tracking frontend - Capture automatique, enrichissement contexte, intégration logger
2026-01-04 01:44:16 +01:00
senke
2dfde29f7d
refonte: backend-api go first; phase 1
2025-12-12 21:34:34 -05:00
okinrev
87c6461900
report generation and future tasks selection
2025-12-08 19:57:54 +01:00
okinrev
327ac36a30
BASE: completing the initial repo state
2025-12-03 22:56:50 +01:00