Commit Graph
4 Commits
Author SHA1 Message Date
neckfireandClaude Opus 5 4890a29ba3 Page admin : lit le vrai jeton au lieu d'une chaîne vide
Build & Deploy / build (push) Successful in 21s
Admin.tsx gardait le TODO d'origine :

    const token = '' // token should be passed / read from auth in real app

Tous les appels authentifiés partaient donc en `?token=` et retombaient en
401 : « Impossible de charger les utilisateurs / les statistiques / les logs
de scrapers ». Seul l'onglet documents fonctionnait, parce qu'il tape sur
/documents qui est public.

Le jeton est lu dans localStorage, là où App.tsx le pose au login. Corrige du
même coup les actions de la page (suppression d'utilisateur, changement de
rôle, suppression de document) qui utilisent la même constante.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-15 16:25:26 +02:00
neckfireandClaude Opus 5 0c1b9f5670 Page admin : appelle l'API au lieu du front, et resynchronise le rôle
Build & Deploy / build (push) Successful in 20s
Admin.tsx faisait ses 8 appels en relatif (`/admin/users?token=…`), donc vers
le nginx du front et non vers l'API. Le fallback SPA répondait index.html en
HTTP 200 : le res.json() partait en erreur de parsing — « The string did not
match the expected pattern » sous Safari. Les appels passent désormais par
API_URL, comme le reste du front.

App.tsx ne lisait le user que depuis localStorage, instantané pris au login :
une promotion en admin n'y apparaissait jamais et AdminRoute éjectait le compte
de /admin jusqu'à reconnexion. Le profil est resynchronisé depuis /me au
montage.

Restent 404 côté API : /admin/scrapers/logs et /admin/scrapers/run, que la page
appelle mais que le backend n'expose pas (les scrapers tournent via le cron
hôte). Le panneau affichera une erreur franche au lieu d'une erreur de parsing.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-15 16:13:55 +02:00
neckfireandClaude Opus 5 b5f362fde1 URL de l'API : lit VITE_API_URL au lieu d'une adresse locale en dur
Build & Deploy / build (push) Successful in 20s
theapi.ts pointait sur http://127.0.0.1:8000 et AuthPage.tsx sur
http://localhost:8000. Depuis un navigateur sur https://regwatch.nfteam.ovh,
ces appels visent la machine du visiteur : « Failed to fetch » au login et
plus aucun document affiché (doublé d'un blocage mixed-content https -> http).

Le Dockerfile bake déjà ARG VITE_API_URL=https://regwatch-api.nfteam.ovh ;
le code ne le lisait simplement pas. Le repli garde l'adresse locale, donc
`pnpm dev` sans .env continue de fonctionner — c'est ce qui manquait au
commit « Fix : URL API production », codé en dur puis reverté pour cette raison.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-15 15:56:19 +02:00
neckfireandClaude Opus 4.8 2307d9a134 RegWatch frontend : React/Vite -> nginx + Docker/CI homelab
Build & Deploy / build (push) Successful in 18s
- URL d'API externalisée (VITE_API_URL bakée au build), plus de localhost en dur
- Dockerfile multi-stage pnpm build -> nginx (fallback SPA)
- docker-compose (Watchtower) + .gitea/workflows/build.yml

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-24 18:43:29 +02:00