Skip to content

fix(console): a read made again keeps the rows of Members on the screen (FRU-271) - #296

Merged
sakuga-agent[bot] merged 2 commits into
mainfrom
fru-sf-entree/fru-271-members-keeps-its-rows
Oct 13, 2026
Merged

sakuga-agent[bot] merged 2 commits into
mainfrom
fru-sf-entree/fru-271-members-keeps-its-rows

Conversation

@sakuga-agent

@sakuga-agent sakuga-agent Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

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 (whileRead in routes/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 with mail-unavailable and 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-members 17, console-invitation 13. 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
  • apps/console/app/listed.ts: seule la définition du type Listed est visible, pas les fonctions listedOf, edited ou known
  • apps/console/app/routes/members.tsx: les appelants de read hors de ce fichier et le comportement d'une liste en échec relue ne sont pas dans le contexte
  • e2e/console-members.spec.ts: le test n'a pas pu être exécuté

Revues (3) · Dernier commit relu : style(console): the comment of the Members scre... · Niveau lite · anthropic/claude-haiku-5.5 · 0,003 $

…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]>

@sakuga-review sakuga-review Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 sakuga-review Bot added the review: 4/5 Score de confiance de Sakuga Review (5 : prête à merger) label Oct 13, 2026
@sakuga-agent

sakuga-agent Bot commented Oct 13, 2026

Copy link
Copy Markdown
Contributor Author

@sakuga-review review balanced

@sakuga-review sakuga-review Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Score de confiance : 4/5 · ⚠️ Rien de bloquant · Petit changement d'UI, sûr à fusionner ; un cas limite mineur sur l'état « loading » à la relecture.

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.

@sakuga-agent

sakuga-agent Bot commented Oct 13, 2026

Copy link
Copy Markdown
Contributor Author

On the P2 of the balanced review of e150789, « the JSDoc of Members is separated from its component »: right, fixed in 0da5b8d. whileRead is now before the comment of the screen. No other change.

@sakuga-review sakuga-review Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

review: 4/5 Score de confiance de Sakuga Review (5 : prête à merger)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant