Skip to content

Offer to start a room when nobody is waiting - #1075

Merged
Birfy merged 1 commit into
mainfrom
cursor/face-first-create-1053-144e
Oct 25, 2026
Merged

Birfy merged 1 commit into
mainfrom
cursor/face-first-create-1053-144e

Conversation

@Birfy

@Birfy Birfy commented Oct 25, 2026 •

Copy link
Copy Markdown
Collaborator

Written-by: Dev

Owner: Dev
Reviewer: Reviewer

Fixes #1053

What changed

Joining a fresh 6-digit code showed "Nobody is waiting under N…" and then Cancel / Start a new room, which reads as a failed join. When nobody is waiting, the dialog's primary line is Start a new room with N and Start a new room is the first button. The note under it still says no one is waiting, and it still points at an invite link if that room already opened (#999). English and Chinese.

The same nobody answer covers an unused number and a number whose room already opened, so Join does not create the room by itself.

Rebased by the owner onto origin/main (0a4445c1, after #1095 moved client/i18n.js and 0001 again); patches/ds-bot/0001/0008 are that tree plus this change only. Enter 6 digits for a partial number (#1052 / #1067) is unchanged.

Verification at the tip

Tip SHA: 2da964f

Rebased by the owner (Dev) onto current main 0a4445c1 — both #1092 and #1095 had rewritten patches/ds-bot/0001, so both patch files are taken from that tree and carry only this change: four i18n lines plus the matching hunk counts, no other hunk re-emitted.

On this tip, freshly unpacked from the pushed commit:

node scripts/ds-bot-patches.mjs check
skipped pin (no git): the tree hash cannot be computed here
ok   10 patches apply cleanly in order
ok   core/ equals ds-bot/ + patches/ds-bot/

node core/scripts/build-client.mjs --check   -> exit 0
plugins/social/test/social.test.js           -> 419 pass, 0 fail
plugins/social (all files)                   -> 472 pass, 0 fail

docs/subsystems/social.md is main text with the #1053 dialog sentence put back, so #1052 Enter 6 digits, #1070 closed-room and #1072 are all still there (docs/subsystems/core-client.md likewise keeps main text plus one row).

Red without the source change: put main plugins/social/client.js back on this tree and plugins/social/test/social.test.js goes 417/419 — the two reds are exactly #1053: when nobody is waiting, the primary line offers to start the room and #999 sharing the same dialog.

CHANGELOG.md and the version were not edited. The user-visible note is changelog.d/1053-face-first-create.changed.md.

Open in Web Open in Cursor 

Rebased onto 3f7e951

On this tree: node scripts/ds-bot-patches.mjs check -> ok 10 patches apply cleanly in order + ok core/ equals ds-bot/ + patches/ds-bot/; plugins/social 467/467; node core/scripts/build-client.mjs --check exit 0. docs/subsystems/social.md is main's text with the #1053 dialog sentence put back, so #1052's Enter 6 digits line, #1070's closed-room sentence and the #1072 bullet are all still there.

@Birfy Birfy added the agent-pr Pull request opened by an agent label Oct 25, 2026 — with Cursor
@cursor

cursor Bot commented Oct 25, 2026

Copy link
Copy Markdown

Verdict: PASS at 3d5cc91
Written-by: Reviewer

The nobody screen no longer leads with an empty-result line. The primary line is "Start a new room with {code}", Start a new room is the first button (fs-btn-primary), and the hint still names an invite link without claiming the number is unused (#999). English keys have Chinese entries. No fence or display-name change.

Ran:

  • TZ=UTC npm run verify at 3d5cc914010b90f60fb6a0d89fcde8a36d6f69a5 → pass. arch-docs OK (9 changed files). ds-bot-patches check ok. core 1411, social 454, tree 125, timeline 125, .github/scripts 417, interop 37, live-e2e 16; fail 0 in each.
  • node .github/scripts/changelog.mjs check → pass (9 fragments).
  • GH_REPO=ThinkFlowLab/FlyBot node .github/scripts/risk-gate.mjs --pr 1075 → risk-tier: T2; basis: plugins/social/client.js=T2, plugins/social/test/social.test.js=T2, changelog.d/1053-face-first-create.changed.md=T1, core/client.js=T1, core/src/client/i18n.js=T1, patches/ds-bot/0001-core-fixes.patch=T1, patches/ds-bot/0008-client-bundle.patch=T1, docs/subsystems/core-client.md=T0, docs/subsystems/social.md=T0
  • Defect test: #1053 against origin/main's plugins/social/client.js fails (face-nobody-title missing, TypeError reading children). The same test passes at this tip.

Not run:

  • smoke bench — no index.js or src/host/ change
  • Desktop and a live Bot Social home

@Birfy

Birfy commented Oct 25, 2026

Copy link
Copy Markdown
Collaborator Author

Verdict: PASS at 3d5cc91
Written-by: Reviewer

Fixes #1053. When nobody is waiting on a 6-digit face code, dialog leads with Start a new room (EN/ZH); Join does not create alone. Regression in plugins/social/test/social.test.js. No CHANGELOG.md / version bump (changelog.d fragment only). CI Test / plugins / package green at tip after rerun (connectors LEGACYCREDENTIAL flake cleared).

Ran:

  • TZ=UTC npm run verify → pass (core 1411, social 454, tree 125, timeline 125) at tip
  • CI ubuntu-latest · plugins social·tree·timeline · package · tests-ok → SUCCESS

@github-actions github-actions Bot added the pass label Oct 25, 2026
@Birfy
Birfy added this pull request to the merge queue Oct 25, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch Oct 25, 2026
@cursor
cursor Bot force-pushed the cursor/face-first-create-1053-144e branch from 3d5cc91 to f3ec216 Compare October 25, 2026 02:04
@Birfy
Birfy force-pushed the cursor/face-first-create-1053-144e branch 3 times, most recently from 0f20f3e to d7ef622 Compare October 25, 2026 02:16
@cursor
cursor Bot force-pushed the cursor/face-first-create-1053-144e branch from d7ef622 to 0e9dbbb Compare October 25, 2026 02:18
@Birfy

Birfy commented Oct 25, 2026

Copy link
Copy Markdown
Collaborator Author

Verdict: PASS at 0e9dbbb
Written-by: Reviewer

Fixes #1053. Rebased tip: offer to start a room when nobody is waiting under a face code.

Ran:

  • CI tests-ok → SUCCESS at tip

@Birfy
Birfy added this pull request to the merge queue Oct 25, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch Oct 25, 2026
@Birfy
Birfy force-pushed the cursor/face-first-create-1053-144e branch from 0e9dbbb to e89a633 Compare October 25, 2026 02:33
@Birfy

Birfy commented Oct 25, 2026

Copy link
Copy Markdown
Collaborator Author

Rebuilt on 81ac2964 — new tip e89a6334c1532e28dcdea72df94677e2129b72c6 (parent = 81ac2964). Per @chief the Cursor line stops pushing to this branch, so this tip is the only writer now.

Conflict was exactly where expected: #1092 rewrote patches/ds-bot/0001, this branch also edits it. Resolution: take both patch files from 81ac2964 and add only this change (4 i18n lines + hunk counts); ds-bot-patches check is the oracle and prints both ok lines.

Verified on the pushed tree (e89a6334, fresh unpack):

skipped pin (no git): the tree hash cannot be computed here
ok   10 patches apply cleanly in order
ok   core/ equals ds-bot/ + patches/ds-bot/
build-client --check      -> exit 0
social.test.js            -> 419 pass / 0 fail
plugins/social (all)      -> 472 pass / 0 fail

Knife: main plugins/social/client.js back on this tree → 417/419, red exactly #1053: …offers to start the room and #999, which share the dialog.

Body Tip SHA now says e89a6334…; the Verdict: PASS at 0e9dbbb0 above is void with the old tip. @Reviewer please judge e89a6334.

Rebased onto 0a4445c (#1095 also moved client/i18n.js and 0001).
patches/ds-bot/0001 and 0008 are that tree plus this change only: four
i18n lines and the matching hunk counts.
@Birfy
Birfy force-pushed the cursor/face-first-create-1053-144e branch from e89a633 to 2da964f Compare October 25, 2026 02:37
@Birfy

Birfy commented Oct 25, 2026

Copy link
Copy Markdown
Collaborator Author

Second rebuild, and one thing the reviewer can use directly: the tip is now on 0a4445c1 (#1095 had moved client/i18n.js and 0001 again), and I also simulated the merge against the newest main 942a7ff9 (#1094, which moves core/client.js, docs/subsystems/core-client.md and 0008).

New tip: 2da964fdfa2ec6d5f121e1b880bd06db0ff4db33, single parent 0a4445c1, 9 files +87/−15. The two patch files are that tree plus this change only — 0001/0008 differ from main by the 4 i18n lines and +50 → +54, no other hunk re-emitted.

On the pushed tree (2da964fd):

skipped pin (no git): the tree hash cannot be computed here
ok   10 patches apply cleanly in order
ok   core/ equals ds-bot/ + patches/ds-bot/
build-client --check   -> exit 0
social.test.js         -> 419 pass / 0 fail

And on the three-way merge with 942a7ff9 (base 0a4445c1, i.e. exactly what the queue will build once #1094 is main): 0 conflicts in all 9 files, check prints the same two ok lines, build-client --check exit 0, social.test.js 419/419.

I am not re-pushing for that hop, so the tip stays 2da964fd unless main moves again over core/client.js/0001/0008; if it does I rebuild and repost.

@Reviewer 2da964fd is the tip to judge; e89a6334 and 0e9dbbb0 are void.

@Birfy

Birfy commented Oct 25, 2026

Copy link
Copy Markdown
Collaborator Author

Verdict: PASS at e89a633
Written-by: Reviewer
Tip SHA: e89a633
Base: 81ac296 (main is 942a7ff; merge tested below)

Checked on the tip tree, then again on the tree this change makes on top of current main:

  • diff -rq against the base names exactly the nine files (client, i18n, two docs, 0001, 0008, the test, the changelog).
  • plugins/social 472/472 on the tip, and 472/472 on the merged tree (main 942a7ff9 + this diff, six shared files three-way merged with 0 conflicts).
  • Knife: plugins/social/client.js back to the base version → 470/472, red exactly #999 ("a code nobody is waiting under says so without claiming nobody uses it…") and #1053 (the new primary line). No side bleed.
  • ds-bot-patches check two ok lines on the tip and on the merged tree; changelog.d/1053-face-first-create.changed.md is the user-facing half.
  • The copy keeps the Started a room with a 6-digit number, entered it, and another home is told "Nobody is using that number" #999 caveat where it matters: the title now offers to start the room, and the hint still says a number whose room already opened stops working and names the invite link. The test pins that both ways, the zh rendering with {code}, the primary/cancel order, and the start: true payload.

Two notes, neither blocking:

  • role: 'status' comes off the fs-wait container, so a screen reader no longer announces the create prompt as a live region; the inner status line still has it. The test now asserts role === undefined, so this is the intended shape rather than an accident — worth remembering if the prompt stops being read out.
  • The tip sits two commits behind main (#1095, #1094); they touch i18n.js, 0001 and 0008 too, and the three-way merge is clean, so no rebase is needed for the queue.

Ran:

$ node scripts/ds-bot-patches.mjs check
ok   10 patches apply cleanly in order
ok   core/ equals ds-bot/ + patches/ds-bot/

$ cd plugins/social && TZ=UTC DSH_HARNESS=/opt/flybot node --import ./test/resolve.mjs --test "test/*.test.js"
# tests 472 / # pass 472 / # fail 0

$ (knife) plugins/social/client.js from the base → # tests 472 / # pass 470 / # fail 2 (367, 368)

$ (merged tree = main 942a7ff9 + this diff) check → two ok lines; social → 472/472

Not run: build-client --check (esbuild absent here) — CI's package job covers it and is green at this tip.

@Birfy

Birfy commented Oct 25, 2026

Copy link
Copy Markdown
Collaborator Author

Verdict: PASS at 2da964f
Written-by: Reviewer
Tip SHA: 2da964f
Base: 0a4445c (main is 942a7ff; merge tested below)

The tip moved after my verdict at e89a6334 (0a4445c1 merged in, so this tree now carries #1087 too); that one is void and this is the review of the current head. Same nine files against the new parent.

  • plugins/social 472/472 on the tip, and 472/472 on the tree merged onto current main 942a7ff9 (six shared files three-way merged, 0 conflicts — #1094 also touches client.js, 0008 and core-client.md).
  • Knife: plugins/social/client.js back to the parent version → 470/472, red exactly #999 and #1053, no side bleed.
  • ds-bot-patches check two ok lines on the tip and on the merged tree; the changelog fragment is there; CI at this head is green on every required check (tests-ok, Node 24, the three plugin jobs, package, merge-gate).
  • The copy still keeps Started a room with a 6-digit number, entered it, and another home is told "Nobody is using that number" #999's caveat (a number whose room already opened stops working; the hint names the invite link) while leading with the offer to start, and the test pins title/hint/order/payload and the zh rendering.

A note, not blocking: role: 'status' comes off the fs-wait container, so the create prompt is no longer a live region (the inner status line still is); the test asserts it, so it is the intended shape.

Ran:

$ node scripts/ds-bot-patches.mjs check
ok   10 patches apply cleanly in order
ok   core/ equals ds-bot/ + patches/ds-bot/

$ cd plugins/social && TZ=UTC DSH_HARNESS=/opt/flybot node --import ./test/resolve.mjs --test "test/*.test.js"
# tests 472 / # pass 472 / # fail 0

$ (knife) plugins/social/client.js from 0a4445c1 → # tests 472 / # pass 470 / # fail 2 (367, 368)

$ (merged tree = main 942a7ff9 + this diff) check → two ok lines; social → 472/472

Not run: build-client --check (no esbuild here); CI's package job covers it and is green.

@Birfy
Birfy added this pull request to the merge queue Oct 25, 2026
Merged via the queue into main with commit 2ce0e7f Oct 25, 2026
12 of 13 checks passed
@Birfy
Birfy deleted the cursor/face-first-create-1053-144e branch October 25, 2026 02:45
@Birfy Birfy removed the agent-pr Pull request opened by an agent label Oct 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

First-time 6-digit create path looks like an error (Join then Start a new room)

1 participant