Repository navigation
Name a read-only face room's people instead of calling each one Human - #2505
Merged
Merged
Conversation
…ThinkFlowLab#2492) In a read-only window the read-only branch of `GroupSettingsForm` drew a face-to-face room's members with `hint: t('Human')`, so the page said `2 people · 2 Bots` above and named no Bot at all, and the same branch dropped the two facts the writable form states: who answers and the group's working folder. Reuse the writable window's `FacePersonRow` without `onOpenBot`, so each person's Bots are named under them and no seat draws a button, and add the `Who answers` and `Working folder` cards from the mode already computed above the branch. The writable path and non-face groups are unchanged; the new fixture fails on the old branch for both reasons.
HugoXK
marked this pull request as ready for review
November 5, 2026 05:28
Contributor
Author
|
Queue request — please take this tip to the merge queue.
|
Collaborator
|
Verdict: PASS at 35a7c32 Ran at this tip:
|
This was referenced Nov 5, 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.
Fixes #2492
Owner: Dev-3
Reviewer: Birfy
Claim-Id: 409e1e48861444abbdd25c0c59312b04
Risk tier: T1
Written-by: FlyBot Dev-3
The defect
In a window that holds the team read-only, the read-only branch of
GroupSettingsForm(core/src/client/group-settings.js) drew a face-to-face room's members aspeople.map(person => h(Row, { label: facePersonLabel(person), hint: t('Human') })). The page's own header counted2 people · 2 Bots, and no Bot was named anywhere on it — every person read Human. The same branch dropped the two facts the writable form states: Who answers (the mode) and the group's Working folder. #2474 converted those controls to text but the face rows kept a hint that only says "Human".The change
The read-only face rows reuse the writable window's own
FacePersonRow, called withoutonOpenBot: that prop is what turns a seat into abutton(:87-89), so without it each seat is aspanand the card offers no control, while the Bot names under each person are drawn exactly as the writable page draws them. The two facts come from themode/modeHintalready computed above the branch:modeLabel(ROOM_MODESlabel,Everyonewhen the mode is unknown) plus aWho answerscard, and aWorking foldercard readingroom.workDirorNot set. The writable path, the non-face read-only branch and the new-group form are untouched; no i18n key is added (Who answers,Working folder,Folder,Not set,Everyoneand every mode label already exist).Red first (clean base
00b2fb02, only the new test file placed on it)The new fixture is the first face-to-face case in
core/test/settings-readonly-pages.test.js(the file had nooriginhit at all). Case 6 asserts the two Bot names under their people and, separately, that a deep count ofbutton/a/input/select/textarea/ anything with anonClickis 0 on the read-only page, with a positive control that the same counter finds the writable page'sbt-face-botbutton. Case 7 asserts theWho answersandWorking foldercards and their values. Same file after the fix: 7 of 7. The twelve adjacent suites (face-person-first,face-people,face-lead,face-row,face-member-avatar,face-room-hidden,group-bot-label,details-group-settings-readonly,details-group-overview-readonly,settings-readonly-head,groups,readonly-window-reads) are 45 of 45 before and after, and the writable face page's own text is byte-identical.Verified at the tip (
35a7c328a465ddbc873877793cb98719945cb349)One commit over
00b2fb02, treec4edcec7. In a clean checkout at that head,TZ=UTC ARCH_DOCS_BASE=00b2fb02e141e38ec09069c8a51066a7b02f1f92 npm run verifyexited 0: 4941 tests, 0 fail — core 2912, social 577, tree 137, timeline 141, workflow 440,.github+policy 671, interop 37, live-e2e 26;arch-docs: OK (8 changed file(s));10 patches apply cleanly in order;core/ equals ds-bot/ + patches/ds-bot/;patches/ds-bot/ is what generate writes (generate is a no-op);client.js is the build of src/client.npm run buildran incore/beforenode scripts/ds-bot-patches.mjs generate; generate ran a second time and leftgit status --porcelainempty.Files
Hand-written, 4 files, +59/−3:
core/src/client/group-settings.js(+6/−1)core/test/settings-readonly-pages.test.js(+50/−0)docs/subsystems/core-client.md(+2/−2)changelog.d/2492-face-room-readonly-facts.fixed.md(+1/−0)Generated from
core/, 4 files, +66/−5:core/client.js(+4/−1)patches/ds-bot/0008-client-bundle.patch(+5/−2)patches/ds-bot/0012-room-membership.patch(+7/−2)patches/ds-bot/files/test/settings-readonly-pages.test.js(+50/−0)8 files, +125/−8.
Not run
The smoke test, because no
index.jsorsrc/host/file changed, and the pack check, typecheck and actionlint of CI'spackagejob; CI runs those on this tip.Checkpoint
{
"pr": 2505,
"claim": "Dev-3",
"issue": 2492,
"summary": "A read-only window's face-to-face group settings page now names each person's Bots under them instead of calling every person Human, and states who answers and the room's working folder. It reuses the writable page's FacePersonRow without onOpenBot, so each seat renders as text and the card offers no control, and it adds the two cards from the mode already computed above the branch. The writable page, non-face groups and the new-group form are unchanged, and no i18n key is added. The new fixture is the file's first face-to-face case and fails on the old branch for both reasons.",
"files": ["core/src/client/group-settings.js", "core/test/settings-readonly-pages.test.js", "docs/subsystems/core-client.md", "changelog.d/2492-face-room-readonly-facts.fixed.md", "core/client.js", "patches/ds-bot/0008-client-bundle.patch", "patches/ds-bot/0012-room-membership.patch", "patches/ds-bot/files/test/settings-readonly-pages.test.js"],
"checks": { "ran": "TZ=UTC ARCH_DOCS_BASE=00b2fb02e141e38ec09069c8a51066a7b02f1f92 npm run verify", "result": "green", "at": "35a7c328a465ddbc873877793cb98719945cb349" },
"next": "none — ready for review"
}