Repository navigation
fix(console): a read made again keeps the rows of Members on the screen (FRU-271) - #296
Conversation
…en (FRU-271) After a message that did not leave, or an invitation that was gone, the screen reads its lists again. It put « Loading… » in place of the table for the time of the read: the table (367 px with five rows) gave way to one line, what is under it went up and down again, and no action of a row was there to press. A list that is shown now stays while it is read again; only a list that is not shown says that it is read. The new case of console-members.spec.ts makes the worker slow to answer the second read: the rows, the height of the table and the place of the legend do not change, and « Cancel » of a row still asks. It 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 · Le changement peut être fusionné : il corrige l'effacement de la table pendant une relecture sans toucher au contrat ; le seul point non vérifié est le comportement de Listed et des rangées sans l'état de chargement.
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,056 $ · Le résumé, le diagramme et la liste des constats sont à la fin de la description de la PR.
… again (FRU-271) Co-Authored-By: Claude Opus 5.5 <[email protected]>
There was a problem hiding this comment.
Score de confiance : 4/5 · ✅ Rien de bloquant · Peut être fusionnée : le changement garde les lignes affichées pendant une relecture, et le code tient avec le type Listed défini dans listed.ts ; seule une vérification de la forme du type reste à faire.
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. Part of FRU-271 (parent FRU-230): the Members screen. The Connectors screen is #295. Same family as My account (#293, #294).
The defect, measured
The Members screen reads its lists again in two cases: an invitation whose message did not leave (
mail-unavailable), and an invitation that was gone when somebody cancelled it.read()then set both lists to « loading », and the screen drew « Loading… » in place of the table for the time of the read. With the five rows of the spec, a table of 367 px gave way to one line: the legend under it went up, then down again, and no action of a row (« Remove », « Cancel », « Resend ») was there to press. The form « Invite someone » is above the table and never moved.The fix
A list that is shown stays while it is read again (
whileReadinroutes/members.tsx). Only a list that is not shown yet, or one that could not be read, says « Loading… ». The answer then replaces the rows, as before. A second read that fails still gives the alert and « Try again ».Proof
e2e/console-members.spec.ts, one new case, on stubs. The screen is open with its rows; the worker then refuses an invitation withmail-unavailableand does not answer the read that follows. No « Loading… » is drawn, the rows are the same number, the table has the same height, the legend is at the same distance under it, and « Cancel » of a row still asks twice. It failed before the change: the table was gone. Locally:console-members17,console-invitation13. The first read is unchanged (« while the members are read, the screen says so and draws no table » still passes), and so are the measures of the mockup.Seen and not changed
On the first visit the invitations are read after the members: their rows are added at the bottom of the table once they answer, and the legend goes down by their height. Nothing to press is under them, so it is left.
Not verified
Firefox, Safari, a touch screen, a screen reader.
🤖 Generated with Claude Code
Sakuga Review · Score de confiance : 4/5
Peut être fusionnée : le changement garde les lignes affichées pendant une relecture, et le code tient avec le type Listed défini dans listed.ts ; seule une vérification de la forme du type reste à faire.
Résumé
La PR remplace le passage à « loading » lors d'une relecture de la liste des membres et des invitations par une fonction whileRead qui garde la liste affichée, et ajoute un test e2e ainsi qu'une note dans la documentation de la console. J'ai vérifié la fonction whileRead contre le type Listed fourni dans le contexte : elle ne renvoie 'loading' que si la valeur courante est une chaîne, ce qui couvre 'loading' et 'failed'. Non vérifié : les autres appelants de read et le comportement de listedOf.
Non relu
Revues (3) · Dernier commit relu : style(console): the comment of the Members scre... · Niveau
lite·anthropic/claude-haiku-5.5· 0,003 $