Repository navigation
fix(console): « Sign out » does not move when the list of the browsers arrives (FRU-248) - #294
Conversation
…s arrives (FRU-248) My account drew « Sign out » and « Sign out everywhere », then read the list of the browsers, which arrives above them: the buttons went down 53 px. A press that started before and ended after was lost: no request, no message, and the person still signed in. While the list is read, and when it could not be, its place is now the one of the row of this browser, which every list has. The new cases of console-account.spec.ts hold GET /console/sessions between the press and the release: the two buttons keep their box and the sign-out is sent. Both failed before the change. Co-Authored-By: Claude Opus 5.5 <[email protected]>
There was a problem hiding this comment.
Score de confiance : 4/5 · ✅ Rien de bloquant · La PR peut être fusionnée : le bouton « Sign out » garde sa place pendant le chargement de la liste des navigateurs, et je n'ai relevé aucun défaut de logique dans le code modifié.
Niveau lite · anthropic/claude-haiku-5.5 · 0,003 $ · Le résumé, le diagramme et la liste des constats sont à la fin de la description de la PR.
|
@sakuga-review review balanced |
There was a problem hiding this comment.
Score de confiance : 4/5 ·
Niveau balanced · anthropic/claude-sonnet-5.5 · 0,051 $ · Le résumé, le diagramme et la liste des constats sont à la fin de la description de la PR.
… again (FRU-248) Co-Authored-By: Claude Opus 5.5 <[email protected]>
There was a problem hiding this comment.
Score de confiance : 4/5 · ✅ Rien de bloquant · Fusion probablement sans risque : le changement réserve la place d'une ligne pendant le chargement de la liste des navigateurs, pour que le bouton « Sign out » ne bouge plus ; aucun défaut démontré dans le diff.
Niveau lite · anthropic/claude-haiku-5.5 · 0,003 $ · Le résumé, le diagramme et la liste des constats sont à la fin de la description de la PR.
Not critical: one screen of the console, no route, no safeguard. Decided by the orchestrator on 2026-10-13: the lost press is a defect of the screen, and is fixed here. #293 makes the test that found it wait; this makes the screen right.
The defect
My account (FRU-248, #269) draws « Sign out » and « Sign out everywhere », then reads the list « Where you are signed in », which arrives above them. The buttons go down 53 px. A press that starts before the list and ends after it is lost: no request, no message, and the person is still signed in. On a slow line, that is a person who believes they signed out.
The fix
While the list is read, and when it could not be read, its place is the one of the row of this browser, which every list has: the same two rules, the same height (
ONE_ROWinroutes/account.tsx). The words do not change (« Loading… », the sentence of a list that was not read, « Try again »).What it does not do. A person signed in in several browsers still sees the buttons go down when the list arrives, by one row per other browser. Their number is not known before the list is read. Keeping it between visits would be one more thing stored in the browser, and putting the list under the buttons would leave the order of the mockup. Either is a decision for the owner, and is not taken here.
Proof
e2e/console-account.spec.ts, two new cases, on stubs.GET /console/sessionsis held, the pointer goes down on « Sign out », the list is released (read with one browser, then not read), the pointer goes up. The boxes of the two buttons are the same before and after, the sign-out is sent, and the page is the setup. Both failed before the change (the boxes differed). The whole spec passes locally (15), the measures of the mockup of the screen included: they are read with the list there, and nothing of that state changes.The same shift elsewhere, listed and not fixed here
Read in the code, not measured:
read()after a mail that was not sent, or an invitation that is gone) puts « Loading… » in place of the table for a moment: the legend and the block of a link under it jump.Not verified
Firefox, Safari, a touch screen (the press was made with a mouse in Chromium), a screen reader.
🤖 Generated with Claude Code
Sakuga Review · Score de confiance : 4/5
Fusion probablement sans risque : le changement réserve la place d'une ligne pendant le chargement de la liste des navigateurs, pour que le bouton « Sign out » ne bouge plus ; aucun défaut démontré dans le diff.
Résumé
La PR fait réserver à la liste des navigateurs de la page Mon compte la hauteur d'une ligne pendant le chargement et en cas d'échec, via la constante ONE_ROW, afin que « Sign out » ne se déplace plus sous un appui. Elle ajoute un test e2e qui retient la liste et vérifie que la position des boutons reste identique pendant un appui, et met à jour docs/decisions/console.md. J'ai relu le code de account.tsx et la règle documentée ; la classe ONE_ROW et les nouveaux blocs ne semblent pas introduire de régression visible. Non vérifié : le rendu réel en navigateur, la mise en page de ONE_ROW dans les autres tailles d'écran et le comportement de la constante ONE_ROW hors de ce fichier.
Non relu
Revues (3) · Dernier commit relu : style(console): the comment of a row of My acco... · Niveau
lite·anthropic/claude-haiku-5.5· 0,003 $