-
05c39640d0
fix: VITE_API_URL fallback to include /api suffix
main
Tetardtek
2026-03-23 03:09:16 +01:00
-
2c54257c94
fix: CI/CD add missing VITE_OAUTH vars + pm2 reload via tetardtek-brain
Tetardtek
2026-03-23 02:53:51 +01:00
-
e04666865d
fix: CallbackPage handles verification_pending and merge_pending states
Tetardtek
2026-03-23 01:14:50 +01:00
-
8309400466
feat(landing): repositionner plateforme vidéo — supprimer pitch B2B SaaS
Tetardtek
2026-03-22 16:15:02 +01:00
-
d68041e2f1
feat(auth): PKCE client refinements + backend refresh token support
Tetardtek
2026-03-22 16:14:55 +01:00
-
7932659a73
feat(auth): PKCE flow preparation + CallbackPage dual-mode
Tetardtek
2026-03-22 12:50:07 +01:00
-
32b9af7b02
fix(auth): UserMenu sessionStorage → AuthContext — unification auth state
Tetardtek
2026-03-17 07:43:48 +01:00
-
d25bfb7d87
feat(sprint3-step1-2): vision B2B + Tailwind tokens + LandingPage + Pricing B2B
Tetardtek
2026-03-17 06:36:52 +01:00
-
e52aa1e79c
perf: requireAdmin — 2 queries → 1 (User + userRoles eager join TypeORM)
Tetardtek
2026-03-15 18:00:48 +01:00
-
379a9a115b
fix(security): isActive defense-in-depth, MIME magic bytes upload, tenantId=origins OAuth
Tetardtek
2026-03-15 17:34:19 +01:00
-
ef4c23d6a2
fix: OAuth — window.location.href direct, no cross-origin fetch (CORS)
Tetardtek
2026-03-15 03:30:49 +01:00
-
94b607c4d0
fix: OAuth buttons — fetch authUrl then redirect (SuperOAuth JSON flow)
Tetardtek
2026-03-15 03:27:00 +01:00
-
40938be067
fix: OAuth login path — /api/v1/oauth/:provider (pas auth/oauth)
Tetardtek
2026-03-15 03:23:24 +01:00
-
3eb791d4a1
feat: VideoPage — ajouter à une playlist (owned + edit-permitted)
Tetardtek
2026-03-15 02:53:34 +01:00
-
8e78ce50b5
feat: profile avatar, callback setUser fix, admin description/thumbnail, pagination limit=100
Tetardtek
2026-03-15 02:45:50 +01:00
-
61d8a5257d
feat: admin/superadmin — fix response shape, ban/unban, stats tab, role restriction
Tetardtek
2026-03-15 02:30:11 +01:00
-
d69281a2e0
feat: B3 — search vidéos (filtre client-side + param ?q= backend)
Tetardtek
2026-03-15 02:22:04 +01:00
-
426cd4bbbd
feat: B2 — 401 interceptor + auto-refresh token (fix SuperOAuth path + response shape)
Tetardtek
2026-03-15 02:19:40 +01:00
-
6877db3227
fix: login — setUser après auth pour maj header immédiate
Tetardtek
2026-03-15 01:57:41 +01:00
-
2c3d9d95c6
feat(frontend): playlist B1 — edit, delete, share, invitations
Tetardtek
2026-03-15 01:00:26 +01:00
-
df8e594d57
fix(frontend): Error Boundary, HomePage error state, HLS catch — quick wins pre-Bloc-B
Tetardtek
2026-03-15 00:53:46 +01:00
-
f80b8cb81c
fix: instrument bare catch blocks — logger.error sur stream/admin/user
Tetardtek
2026-03-15 00:18:37 +01:00
-
494206b5b3
feat: observability — Winston logging, pagination admin, N+1 playlists
Tetardtek
2026-03-14 23:21:42 +01:00
-
31edea9dd9
feat: rate limiting — login 10req/15min, admin 50req/min, trust proxy
Tetardtek
2026-03-14 23:20:20 +01:00
-
9f53193c7c
feat: vitest setup + auth middleware — token invalide et absent → 401
Tetardtek
2026-03-14 23:19:45 +01:00
-
01d347bce3
fix: ApiError typée + error handling pages video/playlists/admin
Tetardtek
2026-03-14 22:37:36 +01:00
-
4e8c1aa849
feat: sprint 3 — profil utilisateur, badge plan, dropdown Header
Tetardtek
2026-03-14 22:33:47 +01:00
-
30ef7312b5
feat: sprint 3 — profile endpoints + avatar
Tetardtek
2026-03-14 22:25:22 +01:00
-
24ae8854ce
fix: GET /admin/users — find() x5 → variable locale
Tetardtek
2026-03-14 19:35:04 +01:00
-
c25d9ad843
feat: admin page — guard isAdmin, error handling, upload local, role assignment
Tetardtek
2026-03-14 15:25:11 +01:00
-
2a74be2624
feat: GET /api/auth/me retourne roles[]
Tetardtek
2026-03-14 15:18:51 +01:00
-
27e6541425
fix: requireAdmin résout le user local par superOAuthId
Tetardtek
2026-03-14 15:14:03 +01:00
-
c7815aac2f
feat: token refresh, video upload, playlist routes complets
Tetardtek
2026-03-14 14:32:18 +01:00
-
aa15dc0f54
feat: AuthContext, protected routes, admin page, fix VideoPlayer URL
Tetardtek
2026-03-14 14:31:08 +01:00
-
324efcaa3d
feat: login email/password + proxy POST /api/auth/login → SuperOAuth
Tetardtek
2026-03-14 10:26:25 +01:00
-
7e3ee29b13
fix: login page avec sélection provider → /api/v1/auth/oauth/:provider?redirectUrl
Tetardtek
2026-03-14 10:11:30 +01:00
-
34bab532be
fix: login → SuperOAuth root page (redirectUrl), drop LoginPage interne
Tetardtek
2026-03-14 10:04:20 +01:00
-
666cf6a435
feat: stream route, admin subscriptions, fix CORS multi-origin
Tetardtek
2026-03-14 09:58:01 +01:00
-
4265d21c8b
feat: login provider selection, logout, playlists pages
Tetardtek
2026-03-14 09:32:45 +01:00
-
fcd9867670
ci: fix pipeline — vps-runner host mode, remove setup-node, add smoke test
Tetardtek
2026-03-14 09:16:57 +01:00
-
77e5990078
ci: relance pipeline après ajout secrets
Tetardtek
2026-03-14 09:03:32 +01:00
-
5031b31aeb
fix: pipeline CI/CD — vps-runner direct deploy (pm2 + rsync)
Tetardtek
2026-03-14 08:59:10 +01:00
-
df3fe8ebe0
fix(auth): correct SuperOAuth endpoint path — /api/v1/auth not /api/auth
Tetardtek
2026-03-14 08:40:32 +01:00
-
9598cd8715
perf(frontend): drop react-player — YouTube iframe natif, HLS.js lazy seulement si .m3u8
Tetardtek
2026-03-14 08:39:01 +01:00
-
5eb0a43d7f
feat: lazy ReactPlayer, seed 11 vidéos YouTube (niveaux 0/1/2)
Tetardtek
2026-03-14 08:25:41 +01:00
-
11d9432218
fix(routes): resolve superOAuthId → DB userId — critical auth bug
Tetardtek
2026-03-14 08:12:11 +01:00
-
87d076313c
feat(frontend): VideoPage react-player v3, fix data.videos, route /video/:id
Tetardtek
2026-03-14 08:12:08 +01:00
-
5d4bab7d99
chore: add assign-first-admin.sql — run once after first login
Tetardtek
2026-03-14 08:10:16 +01:00
-
253af8f402
fix(auth): upsert user in DB on session creation — first login creates user record
Tetardtek
2026-03-14 08:07:42 +01:00
-
0591cd4528
feat(frontend): useAuth /auth/me, videos list + locked flag, VITE_API_URL
Tetardtek
2026-03-14 08:06:51 +01:00
-
5afcad487e
docs(backend): add .env.example
Tetardtek
2026-03-14 08:01:01 +01:00
-
7c727aa802
feat(admin): requireAdmin middleware + /api/admin routes
Tetardtek
2026-03-14 07:46:35 +01:00
-
75aad8968f
fix(frontend): SuperOAuth flow — VITE_SUPEROAUTH_URL, redirect par provider, pas de client_id
Tetardtek
2026-03-14 07:39:51 +01:00
-
f1de2bb065
fix(backend): resolve migration path relative to __dirname
Tetardtek
2026-03-14 07:32:39 +01:00
-
25733ee3db
feat(frontend): scaffold Tailwind design system + routing + auth callback
Tetardtek
2026-03-14 07:15:19 +01:00
-
f3e392ff1b
feat(backend): mount API routes + cookie-parser + CORS with credentials
Tetardtek
2026-03-14 07:10:47 +01:00
-
71d90eb133
feat: initial schema migration — 9 tables + seed roles & plans
Tetardtek
2026-03-14 07:02:20 +01:00
-
2f47be1305
feat: TypeORM entities — User, Role, SubscriptionPlan, Video, Playlist + relations
Tetardtek
2026-03-14 06:53:02 +01:00
-
4f3c0e6433
feat: SuperOAuth token introspection middleware + /api/profile route
Tetardtek
2026-03-14 06:40:43 +01:00
-
b771f4d1c3
fix: add package-lock.json — required for npm ci in Docker build
Tetardtek
2026-03-14 04:43:26 +01:00
-
4a3be2a323
feat: initial project structure — Express/TS/TypeORM + React/TS + Docker + Gitea CI
Tetardtek
2026-03-14 04:13:58 +01:00