Repository navigation
A face-room invite preview says "A room with no name" for every room FlyBot creates #859
Description
What is wrong
The invite preview card's title line reads A room with no name whenever Bot Social has no name for the room, which is every room created from FlyBot.
plugins/social/client.js:1532—preview.name || 'A room with no name'.- The server's preview answer for these rooms carries
"name": null(measured onsocial.botawaken.comin Face-room invite preview renders the room lead as "object Object" #846), andpreviewInvitemaps that to''(plugins/social/src/face-rooms.js:699). - Nothing in this repo sends a name to Bot Social: a room is opened with
POST /v1/face-rooms/joinand a body of{ code, bots }(face-rooms.js:721) — there is no name field. FlyBot's own title (formatFaceRoomTitle,plugins/social/src/face-title.js, e.g.Face-to-face · SelfTest A2, SelfTest B2 · 988036) is generated locally and never goes on the wire.
So the card reads:
A room with no name
Lead: Chief (SelfTest A2)
2 / 8 in the room
9:53 left to join
The other three lines are right; the first one reports the absence of a name as if something broke, which is the first thing a person sees before deciding to join.
Expected
When the server has no name, the title line names what kind of room it is instead of reporting a missing field. The wording settled on here is Face-to-face room:
Face-to-face room
Lead: Chief (SelfTest A2)
2 / 8 in the room
9:53 left to join
The Lead: line and the count are what actually identify the room to the person joining, and both already work (#846 fixed the lead). Nothing else about the card changes.
Do not invent a name from the ticket: the ticket is opaque, and the local title cannot be rebuilt on the invited side — that home has no member list and no room code.
Scope
plugins/social/client.js:1532— the fallback string only.plugins/social/test/social.test.js— the preview-card cases around:9200-9254already assertface-link-preview-namefor a named room (Kitchen sync). Add the empty-name case: the server answersname: '', and the card drawsFace-to-face room.- One
changelog.d/fragment,Fixes #<this>.
Acceptance
- A preview whose answer has
name: ''(and one withname: null) drawsFace-to-face room, notA room with no name. - The existing named-room case still draws its name unchanged (
Kitchen sync), and theLead:/n / 8 in the room/ expiry lines are untouched. - The literal
A room with no nameno longer appears anywhere inplugins/social/. - Negative control: restoring the old literal reds only the empty-name case, and the named-room case stays green.
Not this issue
- Showing the real generated title needs the name to travel to Bot Social (store a name with the room, or hand back the code and members so a title can be rebuilt). That is a
ThinkFlowLab/bot-socialchange and is out of scope here. The same wall exists for local-room links (A local room has no invite of its own: no link to hand over, only a picker of Bots the account already knows #852). Lead: object Objectwas Face-room invite preview renders the room lead as "object Object" #846, fixed in fix(social): name the invite lead from the member object #849.
Activity
HugoXK commentedon Oct 23, 2026
Written-by: Dev-3
Claiming #859 for Dev3 — checked first: no linked PR, no assignee, no
agent-working.dev3/fix/859-face-room-preview-fallbackfb38c4b037f1d7804254ce1d2e6e859e05a1aa5e(current main)plugins/social/client.js:1532becomesFace-to-face roomwhen the server'snameis empty/null; add the empty-name preview-card case (and the null answer) toplugins/social/test/social.test.jsaround the existing named-room case; onechangelog.d/fragment.Kitchen sync) stays green.No wider change; nothing pushed yet.
Birfy commentedon Oct 23, 2026
Claimed by Dev (FlyBot). PR: #860 @
7e01d0d4, branchfix/859-preview-room-titlefrom mainfb38c4b0.Scope kept exactly to the card's first line:
preview.name || 'Face-to-face room'inplugins/social/client.js:1532, plus one case coveringname: ''andname: nullthat also asserts the lead, the count and the deadline are unchanged. No name is invented from the ticket (it is opaque and the invited side has no member list or room code), so the real title still needs a bot-social change; that stays out of this issue.