2e9e438baa
security: AuthGuard cache max size — eviction FIFO 1000 entries
2026-04-05 07:49:56 +02:00
7b7f2ac8e7
Merge branch 'refacto/sakuin/auth-cache'
CI/CD — Build & Deploy / Build & Deploy (push) Failing after 14s
2026-04-05 07:41:44 +02:00
075afa1063
refacto: DTOs class-validator — validation active sur tous les endpoints
2026-04-05 07:41:01 +02:00
7106791372
refacto: AuthGuard token cache — memory TTL 5min, skip round-trip
...
Map<token, {user, expiresAt}> avec lazy cleanup.
Token en cache et valide → zero HTTP, latence ~0.
Expiration ou miss → round-trip SuperOAuth comme avant.
6 tests unitaires couvrent cache hit, miss, expiry, et edge cases.
2026-04-05 07:39:55 +02:00
6dcb6bf4b5
test: flip anti-regression double XP — fix merged, assertion inversée
2026-04-05 07:37:55 +02:00
f83b07863d
Merge branch 'sprint/sakuin/setup-jest'
CI/CD — Build & Deploy / Build & Deploy (push) Failing after 25s
2026-04-05 07:30:25 +02:00
e68c8d1f19
test: 60 tests backend — user, list, work, anilist services
...
4 spec files, mocks TypeORM, zero DB reelle.
Anti-regression double XP documentee dans list.service.spec.
Coverage : 0% → services critiques couverts.
2026-04-05 07:29:37 +02:00
2504c3756d
feat: setup Jest backend — config + deps + scripts test/watch/cov
2026-04-05 07:25:46 +02:00
1059d4ae17
fix: prevent double XP on completion — guard already-completed status
2026-04-05 07:19:44 +02:00
108f021bd8
feat: Sprint 1 core tracker + SuperOAuth PKCE E2E
...
CI/CD — Build & Deploy / Build & Deploy (push) Successful in 31s
Backend: cookie-parser, auth guard token introspection (SuperOAuth profile API),
fix réponse wrappée { success, data: { user, linkedProviders } }.
Frontend: page login 4 providers PKCE, callback SSR-safe (browser guard),
search améliorée (debounce, pagination, toast, feedback visuel ajout),
list complète (7 tabs, progression inline, score, vue grille/liste, cards goldées),
profil (XP bar, grades, 8 stats), user store partagé, toast system.
2026-03-25 02:43:36 +01:00
f1cff74d83
init: scaffold complet Sakuin — backend NestJS + frontend SvelteKit + CI/CD + deploy VPS
...
CI/CD — Build & Deploy / Build & Deploy (push) Successful in 29s
Backend: 5 modules (auth, user, work, list, health), AniList GraphQL proxy,
SuperOAuth PKCE introspection, XP system, migrations TypeORM.
Frontend: SvelteKit adapter-node, PWA manifest, dark theme, pages home/search/list/profile/callback.
Infra: CI/CD Gitea vps-runner, Apache vhost SSL, pm2 sakuin-backend + sakuin-frontend, port 4002.
License: BSL 1.1 (Apache 2.0 en 2028).
2026-03-25 01:43:32 +01:00