Repository navigation
Join a community right after creating it in Settings - #2991
Conversation
Create community in Settings → Plugins → Builderlab only created the relay, copied its address and told the person to join by hand, so the new community never reached the community picker. It now opens the app join dialog on the new address through a communityJoin host capability. The request is marked submitted, so the dialog connects at once, as first run Create a community does; the account consent covers its own hosted community, so it goes straight to the profile step, then saves, selects and lists the membership. Co-authored-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Logan Johnson <loganj@squareup.com>
Settings → Builderlab → Create community, with the Builderlab API stubbed and the new host pointed at the fixture second relay: the join dialog connects by itself, and the community is listed and selected in the picker. It proves the plugin capability, the invite intent and the picker dialog over Settings together, which unit tests cover only one at a time. It fails on the previous behavior, where Create only copied the address. Co-authored-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Logan Johnson <loganj@squareup.com>
A create that finishes after the Builderlab card retires or unmounts (another account replaces it) now opens no join, as it already wrote no clipboard: the handoff checks the card is live and the operation is still current. Document communityJoin for plugin authors. Co-authored-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Logan Johnson <loganj@squareup.com>
communityJoin.open now returns false when no identity is ready. The Builderlab card then hands off the address, as it did before the join. Co-authored-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Logan Johnson <loganj@squareup.com>
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
…in optional communityJoin.open now hands back false for an address that is not a community origin, as it does when no identity is ready, so a plugin can hand the address off instead of catching an exception. The service is declared optional, matching the plugin guide: older hosts lack it. Co-authored-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Logan Johnson <loganj@squareup.com>
wesbillman
left a comment
There was a problem hiding this comment.
🤖 Star Lord automated source review via Wes’s account, with independent Rocket, Mantis and Groot coverage.
Follow-up reviewed at e4671cb5303c0b61a1207cc042aee1d2a7932d35, target/merge-base 70a8aebdc9656bd808f791d91b283937ec37cec9, focusing on the five-file delta since 5217b85c99950bd217d5e9a88d3cbddae58ed083.
No new actionable findings in this delta. Invalid origins now return false before invite state changes, enabling the caller’s existing copy fallback; the optional Context declaration and documentation now agree. Builderlab still explicitly requires injection, so its activation requirements are unchanged.
The prior navigation P2 remains unchanged and acknowledged/deferred to the separate all-entry-points follow-up described in the author’s reply. This revision does not repair that gap.
Source-only: no tests, builds, app or auth flows run. The delta adds no regression tests for these contract changes. PR description and attachment URLs are unchanged; prior inspection covered four screenshots and sampled recording frames, not the full recording. Native hosted provisioning and runtime identity timing remain unverified.
|
🤖 Taylor’s follow-up: LGTM; no further follow-up planned. Review context: earlier review at |
kazemek21
left a comment
There was a problem hiding this comment.
Kyle reviewed this PR and the Nexus review-tracker notes and approved with no comments.
Posted by Codex (gpt-6.1-sol) on behalf of kylez
Picks up c202642 (block#2837), which fixes the ThreadPanel catch-up test that fails on every run of a merge with the older main. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * origin/main: (155 commits) deps: accept RUSTSEC-2026-0459 for libsqlite3-sys 0.38, move rmcp to 3.9.0 (block#3077) fix(communities): accept invite links and bare hosts in Join a community (block#2412) fix(builderlab): open a remote agent's Activity on the conversation it was opened from (block#3051) refactor(builderlab): keep capabilities fresh in the session (block#3003) feat(moderation): show invite links as a QR code (block#3029) Keep Create agent's Model row readable and give Goose a Thinking row (block#2673) Join a community right after creating it in Settings (block#2991) Let new Solo chats start temporary by default (block#2874) fix(messages): fill a screen that a head of folded agent activity leaves empty (block#3037) fix(search): search saved conversations while the community is offline or connecting (block#2724) test(agents): make version-history date assertion time-zone independent (block#3010) feat(relay): gate artifact writers on NIP-AR support (block#2735) fix(channels): open the dock's community switcher from Personal space (block#2806) fix(members): keep the list's place after a member change (block#2818) fix(channels): keep a launcher's side panel open on Close all tabs (block#2803) fix(activity): show a remote agent's Buzz send as its reply (block#3025) refactor(settings): move external identity authorization to security (block#3032) test(typeahead): serve the fixture pages as a build so cold loads fit (block#2793) feat(channels): list unread top-level mentions in sidebar Activity, and count only unread mentions on the Inbox card (block#2722) fix(solo): delete a removed workspace's settings after the groups write (block#2819) ... Signed-off-by: Andrew Harvard <aharvard@squareup.com>
…pover-card-layout-7eeda1e0 * origin/main: (128 commits) deps: accept RUSTSEC-2026-0459 for libsqlite3-sys 0.38, move rmcp to 3.9.0 (#3077) fix(communities): accept invite links and bare hosts in Join a community (#2412) fix(builderlab): open a remote agent's Activity on the conversation it was opened from (#3051) refactor(builderlab): keep capabilities fresh in the session (#3003) feat(moderation): show invite links as a QR code (#3029) Keep Create agent's Model row readable and give Goose a Thinking row (#2673) Join a community right after creating it in Settings (#2991) Let new Solo chats start temporary by default (#2874) fix(messages): fill a screen that a head of folded agent activity leaves empty (#3037) fix(search): search saved conversations while the community is offline or connecting (#2724) test(agents): make version-history date assertion time-zone independent (#3010) feat(relay): gate artifact writers on NIP-AR support (#2735) fix(channels): open the dock's community switcher from Personal space (#2806) fix(members): keep the list's place after a member change (#2818) fix(channels): keep a launcher's side panel open on Close all tabs (#2803) fix(activity): show a remote agent's Buzz send as its reply (#3025) refactor(settings): move external identity authorization to security (#3032) test(typeahead): serve the fixture pages as a build so cold loads fit (#2793) feat(channels): list unread top-level mentions in sidebar Activity, and count only unread mentions on the Inbox card (#2722) fix(solo): delete a removed workspace's settings after the groups write (#2819) ...
🤖
Summary
create-community-join.mp4
Details
communityJoin.open(address). It feeds the same invite intent that invite links and the community picker use, marked as already submitted, so the join dialog skips its Community URL step and starts connecting. It does not bypass admission or profile setup, and it returnsfalsewhen no identity is ready. The plugin authoring guide documents it.Testing
tests/browser/hosted-create-join.spec.mjs: create from the picker's Create community flow, join opens without the address step, the person continues, the app switches to the new community and the picker lists it. It passes in Chromium and WebKit, and fails in both when the join call is removed. The recording and screenshots above come from this case.Known limits
🤖 Generated with Claude Code