Repository navigation
[agent:front] Compléter la navigation Accueil/Dashboard et ses tests - #38
Merged
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Lagouze
force-pushed
the
codex/front-landing-navigation
branch
from
October 26, 2026 11:05
f57430d to
018ea6a
Compare
This was referenced Oct 26, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
[agent:front]
Ce qui change
F3 — compléter la navigation landing/dashboard de #36 et couvrir la conservation de session.
Chaque ouverture/reload arrive sur la landing, après la connexion existante si nécessaire. L’état de navigation est indépendant de la session reçue par GET/SSE. « Accueil » retourne à la landing ; « Dashboard » et « Reprendre la session » ouvrent le vault courant sans POST. Une création explicite réussie ouvre son nouveau dashboard ; un échec conserve la page et la session précédentes.
Les composants, animations, sections au scroll et tokens de Nathan sont conservés. Les boutons réutilisent Button. La même navigation s’applique au mode réel et à
?demo, avec leurs mentions visibles. Aucun changement au keeper, à session.json, aux contrats, calculs de marge, preuves Testnet, authentification ou Market Advisor. Aucune fusion ni commande de déploiement exécutée.Revue
Standard — trois sessions Claude neuves, locales, sans conversation auteur ; seuls
git diff origin/staging...HEAD, AGENTS.md §7–8 et les interfaces utiles ont été fournis. Aucun problème bloquant. La dernière passe relit le diff contre le staging actuel après intégration de #36. La première passe a signalé l’absence de couverture TypeScript des tests navigateur : corrigée, typecheck relancé avec succès.Une passe a mentionné deux remarques mineures : une disparition hypothétique de session (non représentable par les événements state actuels : le hook n’efface pas une session reçue) et la bibliothèque DOM ajoutée au projet TypeScript node pour typer les expressions navigateur des tests. La dernière passe note aussi que le drapeau d’animation startedHere reste actif après un échec : comportement préexistant, sans écriture ni effet sur la session. Aucune interface partagée modifiée.
Tests
Exécutés sur macOS, worktree isolé initialement depuis origin/staging @ 89d0c4f, puis rebasé sur d0ff38c (#36). Après résolution,
git diff f57430d HEAD -- app package-lock.jsonest vide : le code, les dépendances et les tests restent exactement ceux validés ci-dessous ; seule la documentation a été réconciliée.npm ci: succès, y compris après mise à jour du lockfile.npm run typecheck: succès sur tous les workspaces ; inclut maintenant Playwright et ses tests.npm test: 174 tests verts (app 31, keeper 114, shared 16, scripts 13). Première exécution sandbox : deux tests SSE bloqués par EPERM ; relance avec écoute loopback autorisée : tous verts.npm run build -w @keystone/app: succès. Avertissements existants : tailles de chunks et eval de PGlite.PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH='/Applications/Google Chrome.app/Contents/MacOS/Google Chrome' npm run test:browser -w @keystone/app: 18 tests verts, Chrome, 1440×900 et 390×844.Parcours navigateur : accueil sans session et avec les trois statuts, reprise du même vault, retour à l’accueil, reload, connexion, GET/SSE tardifs, session remplacée par SSE sans navigation, scroll jusqu’au choix du collatéral, retour en haut, création uniquement par Start, échec de création et mode
?demo. Captures landing/collatéral/dashboard inspectées ; aucun débordement horizontal sur les accueils contrôlés.Le double HTTP/SSE ne tourne que sur 127.0.0.1. Les requêtes navigateur non locales sont bloquées. Les tests constatent zéro POST pour Accueil/Dashboard/Reprendre et une session inchangée ; les seuls POST de création vont au double local, sans SDK ni clés. Aucune transaction Stellar et aucune écriture au keeper public.
Limites : site hébergé, téléphones physiques et autres navigateurs non testés. Le mock
?demogarde son comportement existant : sa session est en mémoire et disparaît au reload. L’installation du Chromium fourni par Playwright n’a pas été exécutée ; le Chrome installé a été utilisé.Interfaces
Aucun impact sur l’API ni les types partagés. GET/SSE restent des lectures. POST /session conserve sa sémantique de remplacement explicite. Aucun accord interface-change requis.
Documentation
README, sections Live demo et Front : navigation, conservation de session, limite du mock, procédure et résultats des tests navigateur. AGENTS.md et docs/interfaces.md v1.4 consultés ; inchangés car aucune règle ni interface ne change. package-lock.json ne change que pour la dépendance de test Playwright du front. Les modifications locales du checkout initial ont été conservées.
Checklist