Repository navigation
front: integrate #24, #25 and #26 and make the app work end to end - #27
Merged
Merged
Conversation
…ols panel, linear coverage, skeletons) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…sition end, header radius, keyboard-reachable activity list, contrast) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…e, Ghost Type, 3D Text Reveal, Animated List) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…, P&L trend line (from the photo references) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ckdrop filters, isolated clock), two panels instead of cards, story dots, growing collateral card, depth effect on the activity list Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ark, lockup, favicon) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…logo), keep only the invisible performance fixes Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… photo sections and the performance rework), keep the invisible performance fixes Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… effects (1cd42b1 plus the invisible performance fixes) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…, star border, dividers, input rings) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…while PGlite opens (photo reference) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ilters, memoized panels, gliding heights) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ed story dots, floating lock screen, new logo Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts: # app/src/auth/LockScreen.tsx
# Conflicts: # app/src/dashboard/Landing.tsx
…est real-mode labels, signing guards, hidden-tab safe transitions, bank cash owed) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…lway) Write routes need a team access code, hosted mode refuses the fund key, the session is saved and reloaded, unconfirmed transactions are reconciled by hash before any new write, /config states the backend, the front asks for the access code. Adds Dockerfile, railway.json, vercel.json, docs/deploy.md and interfaces v1.4. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…n network errors Review fixes: the hash of a keeper-signed transaction is captured at signing through the wallet signer and saved before the send; a pending entry found after a restart blocks writes; a session is dropped only when the vault is gone; SIGTERM waits for the write in progress; the data directory is probed at start-up; streams are capped per address; hosted start-up rules moved to hosted.ts with tests. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ore send, tighten hosted rules Second review fixes: chain() releases the guard only on a definite outcome; a hash that cannot be saved stops the send; DUPLICATE is not a refusal; wallet-signed transactions must expire within 200 s; localhost origins are refused on a hosted keeper; restore no longer holds the listening socket; the Euribor seed is copied into a fresh data directory; send() is tested with the real signer. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…th on a hosted keeper, add the Render variant GET /api/health skips the Host check on a hosted keeper only (nothing else does); deploy guide gains a Render + UptimeRobot variant and the cost/limits of the free tier. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…rom the landing page Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…osted proofs), ?demo mode README: project status, live demo section, architecture diagram, demo instructions, Freighter and hosted-keeper proofs (read back from Horizon), progress table, known limits. App: ?demo plays the flow on the in-browser mock on any build, with a link from the access-code window. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…I and third-party disclosure, contract-audit limit Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…DME, ?demo mode keeper, front: hosted deployment (Vercel + Railway) with write authorization and durable session
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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] Intégration finale de #24 (front et logo de Nathan), #25 (authentification locale complète) et #26 (Collateral Market Advisor), puis corrections de ce qui empêchait l'application de fonctionner réellement. Base :
origin/staging@ 3ed1704. À fusionner à la place de #24, #25 et #26, ou après elles : les trois PR sont incluses telles quelles par des merges explicites.Ce qui change
Assemblage
LockScreen.tsx: la logique de front: complete local authentication and recovery #25 (connexion, inscription avec confirmation, yeux, récupération par code local, double soumission, outil admin réservé au dev) est rendue dans le design de front: final Liquid Glass redesign (aura, keystone lock screen, Controls panel, linear coverage, skeletons) #24 : logo, champs flottants, flèche de validation. L'ancienne interface de front: complete local authentication and recovery #25 (horloge, avatar) n'est pas reprise.Landing.tsx: la Landing de front: final Liquid Glass redesign (aura, keystone lock screen, Controls panel, linear coverage, skeletons) #24 est conservée, et « Compare market conditions » est placé au-dessus de Start dans le panneau de choix du collatéral. Le panneau de l'advisor est restylé sans contours.Correctifs fonctionnels
query()mais pas aprèstransaction().durable()appellesyncToFs()après chaque transaction (vérification du code, reset, outils dev).AnimatePresence mode="wait"attendait la fin d'une animation de sortie, qui ne finit jamais sans frames. La page (le squelette, par exemple) restait donc bloquée. Passage enpopLayout: la page sortante estinert(ni clic, ni focus, ni lecteur d'écran). Au retour de l'onglet, la chorégraphie se met au repos sur le dernier état confirmé, sans boutons bloqués.signerMode=keeper.proofOf.RpcUnavailable), refus d'en préparer une autre pendant 200 s : un XDR préparé est valide 180 s et pourrait encore passer. Ce délai est mémorisé localement et lu aussi dans le flux.RpcUnavailableexplicite : ne pas signer de nouveau avant l'issue.Aucun changement au contrat, aux formules de marge, au keeper, à
packages/sharedni àdocs/interfaces.mden dehors des merges de #26. Aucune transaction Stellar.Revue
Niveau standard, avec la grille renforcée pour l'authentification et les gardes. Sous-agent Claude neuf, sur les deux résolutions de conflit et le diff des correctifs.
NaNtraité comme récent),openingqui pouvait rester actif, page sortanteinert, README aligné.Tests
Unit tested
npm ci: OK.npm run typecheck: OK.npm test: 136 tests verts (app 25, keeper 82, shared 16, scripts 13).npm run build -w @keystone/app: OK. Bundle de production sanskeystoneDemoAccountsniRESET LOCAL DEMO ACCOUNTS.cargo test --locked(contrat) : 18 verts.Browser tested (Chrome, mode démo = mock keeper)
Real keeper tested (lecture seule,
KEEPER_BACKEND=fake,SIGNER=freighter, front enVITE_USE_MOCKS=false)GET /config,/session,/eventset/market-advisor.getHealth: healthy.Real Freighter tested : non. On-chain confirmed : non (aucune transaction, GO requis).
inspectSigned(une seule invocationdeposit/withdrawi128, sur le bon vault, signée) etsubmitSigned(attente SUCCESS/FAILED,RpcUnavailableaprès 60 s).Points keeper à traiter (pour Grégoire, non modifiés ici)
keeper/src/session.ts,chain(): aprèsRpcUnavailable, l'entrée restependingpour toujours. Le hash est connu danssubmitSignedet n'est pas re-sondé. Suggestion : garder le hash et le re-sonder en arrière-plan, puis passer l'entrée àconfirmedoufailed. Le front limite donc sa garde à 200 s.KeystoneConfign'expose pas le backend : un keeperKEEPER_BACKEND=fakeaffiche aussi « Stellar Testnet » dans l'en-tête. Ses hashesFAKE…restent bien « Demo tx ». Suggestion (ajout compatible) :backend: "testnet" | "fake"dans/config.inspectSignedne vérifie pas que le montant signé égale le montant préparé. C'est mineur, puisque le fonds signe lui-même.Premier scénario Testnet (préparé, NON exécuté, GO requis)
Un seul Mac,
.envréel (KEEPER_BACKEND=testnet,SIGNER=freighter,VITE_USE_MOCKS=false,VITE_KEEPER_URL=http://127.0.0.1:8787/api,KEEPER_SECRETlocal) :npm run keeper, puisnpm run dev -w @keystone/app.GDQ6AW…MQOY./health,/configet les soldes : KMMF 999 et environ 9 999 XLM pour les frais et réserves.POST /session, déploie un vault C2).Interfaces
Aucun changement dans les correctifs. Les seuls changements d'interface viennent du merge de #26 (
GET /market-advisor, typesMarketSnapshot, interfaces v1.3).Documentation
README section Front mis à jour, plus les sections de #25 et #26 issues des merges.
Checklist
🤖 Generated with Claude Code