Repository navigation
Social: neutral 'You already have …' on a re-accepted invite; clearer Remove confirm - #503
Merged
Merged
Conversation
… Remove confirm (ThinkFlowLab#496) On relationship_exists, social/join-invite answers { alreadyHave, botName, ownerName, restored } instead of throwing. The Bot is named from the public invite info (GET /v1/invites/{code}, no token), since Bot Social's 409 names no Bot. The panel shows neutral text 'You already have Chief (SelfA1233).' and '… is back in your list.' only when a hidden or declined Bot really came back. Remove confirm: 'Remove Chief (SelfB1233) from your list? Your own Bots stay shared. SelfB1233 can share it again.'
Collaborator
Author
|
Self-review: PASS
|
github-merge-queue
Bot
removed this pull request from the merge queue due to a conflict with the base branch
Oct 20, 2026
…inkFlowLab#481/ThinkFlowLab#501/ThinkFlowLab#505) Keep ThinkFlowLab#495 reply_only People-with-access docs from main with ThinkFlowLab#496 already-have copy and Remove confirm.
Collaborator
Author
|
Self-review: PASS
|
This was referenced Oct 20, 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 #496
What
social/join-invite: on Bot Social's409 relationship_existsit now answers a result instead of throwing:{ alreadyHave: true, status: 'active', bot, botName, ownerName, restored: [{ handle, name, owner }] }. Bot Social's 409 names no Bot, so the plugin reads the public invite info (GET /v1/invites/{code}, newinviteInfoinmcp-client.js, sent without a token) to name the invite's Bot and owner.restoredlists only Bots that were locally hidden or declined before and are listed again after the (still Bot/peer-home scoped) unhide.You already have Chief (SelfA1233).(Bot first, owner in parentheses, Friend's Bot rows: two name formats ('Helper · SelfB0023's Bot' vs 'SelfA0023's Chief'), two-line wrap, no preview, inset highlight, faint marker, same avatar as own Chief #384);Chief (SelfA1233) is back in your list.only when something really came back. Fallback when the Bot can't be named (or an older host still throws): neutralYou already have this friend's Bot., never "… failed:".Remove Chief (SelfB1233) from your list? Your own Bots stay shared. SelfB1233 can share it again.Why: re-accepting an invite for a Bot you already have changed nothing and failed nothing, but showed red
You're already friends. Their Bot is back in your list.; the Remove confirm did not say your own shares stay.Test
#496join with a production-shaped 409 (MCP isError, code + message only) names Coder (Bob) from the invite info,restored: [], and the invite-info GET carries no authorization header; panel shows info/ok tones and the three texts; an older host's thrown relationship_exists shows the neutral sentence with no "failed:".#139(hidden Bot re-accepted →alreadyHave+restorednames it; unrelated hidden Eve stays hidden),#197,#230/#139Remove confirm copy.ARCH_DOCS_BASE=origin/main TZ=UTC npm run verify: pass (core lint + arch-docs, plugin lint + pack-import, build-client check, ds-bot patches check, core/social/tree/timeline suites, scripts, interop, live-e2e unit tests; 0 failures).Docs:
docs/subsystems/social.mdupdated; changelog fragmentchangelog.d/496-already-have-invite.fixed.md.Risk tier: T2 (estimate; the controller sets the label) — user-facing social copy plus one new unauthenticated read of a public Bot Social route.