Skip to content

WIP/Share linked Solo chats back to team discussions - #1444

Draft
morgmart wants to merge 11 commits into
mainfrom
morganm/start-and-share-solo-chat
Draft

morgmart wants to merge 11 commits into
mainfrom
morganm/start-and-share-solo-chat

Conversation

@morgmart

Copy link
Copy Markdown
Contributor

What this does

Stacked on #1423. Adds Start and share here next to Start privately under Start Solo chat. After the first message is confirmed, the new chat is shared with the source channel's members and a chat card is posted back to the originating thread. Successful automatic sharing stays in the background.

Sending a chat link into a channel or thread now asks Share and send or Send link only. On main, a pasted chat link is sent without granting access, so recipients often cannot open it.

How it works

  • A one-time local share-back record keeps the first-message receipt, destination thread and card receipt. Existing membership grants, signed publishing and Outbox receipts own access and retries.
  • Card recovery keys include the destination thread, so retries keep the exact thread and event ID.
  • Share and send reuses the fresh destination roster and grant helpers before the composer queues its original message. It never posts a second card or retargets a reply.

Known follow-ups (draft, not ready to merge)

  • Preserve or visibly recover Start and share here intent when channel creation succeeds but agent enrollment fails before the first message is queued.
  • Preserve the latest saved card receipt when marking a retry; the stale in-memory record can overwrite it and allow a duplicate card after a restart.
  • Add a mounted regression proving the real first-message receipt and no-retry options gate grants and card publication.
  • Bound automatic-share startup when the user navigates away before the new chat's heading starts it.
  • Surface automatic-share failures that happen while the chat is not on screen.
  • Give an interrupted share a way to be dismissed after a restart (Start over is hidden today).
  • Reopening Share by hand after a failed automatic share loses the original thread.
  • Product call: a full dialog vs. a quieter notice when automatic sharing fails.

Verification

  • Focused Vitest/RTL runs for Solo, sharing, channels, linked chats, link sharing and message links passed (220 tests). Type checking passed.
  • Pushed with hooks skipped because the machine was overloaded; CI is the authoritative check.
  • No screenshots yet: capturing them needs the app running, which has not been started for this change.

🤖 Generated with Claude Code

morgmart and others added 11 commits October 19, 2026 17:29
Checkpoint the shortcut through Solo creation and existing sharing, including source links, channel-or-thread card placement, and exact retry recovery. Native/live and visual acceptance remain deferred.

Co-authored-by: Carl (AI agent) <goose@block.xyz>
Signed-off-by: morgmart <98432065+morgmart@users.noreply.github.com>
Co-authored-by: goose <goose@block.xyz>
Signed-off-by: morgmart <98432065+morgmart@users.noreply.github.com>
Co-authored-by: goose <goose@block.xyz>
Signed-off-by: morgmart <98432065+morgmart@users.noreply.github.com>
Replace automatic share-back with creation-time source metadata, Back to source, and agent context. Add an opt-in development-only local source fallback for UX iteration against existing relays.

Co-authored-by: goose <goose@block.xyz>
Signed-off-by: morgmart <98432065+morgmart@users.noreply.github.com>
Replace the origin-field experiment with editable source links and private/share-here starts. Keep automatic sharing quiet, omit unfiled shared chats from recipient navigation, and skip archived channel members during sharing.

Co-authored-by: goose <goose@block.xyz>
Signed-off-by: morgmart <98432065+morgmart@users.noreply.github.com>
Keep chat cards compatible with legacy Session labels, distinguish threads and chats, remove duplicate tab headings, and permit existing human members as explicit Solo recipients.

Co-authored-by: goose <goose@block.xyz>
Signed-off-by: morgmart <98432065+morgmart@users.noreply.github.com>
Co-authored-by: goose <goose@block.xyz>
Signed-off-by: morgmart <98432065+morgmart@users.noreply.github.com>
Co-authored-by: goose <goose@block.xyz>
Signed-off-by: morgmart <98432065+morgmart@users.noreply.github.com>
Start Solo chat now opens a private linked draft from a single menu item.
Automatic share-back to the source thread and the send-time Share and
send prompt move to a follow-up PR.

Signed-off-by: morgmart <98432065+morgmart@users.noreply.github.com>
Co-authored-by: Carl <c217fe6b9d958f41c3a5e030dccc7f626775a923089cb6491305eade75ea1f1b@buzz.block.builderlab.xyz>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Unnamed Solo chats already carry a starting title from their first
prompt; cards now use it instead of a short ID. A leading source link,
as from Start Solo chat, is skipped when titling the chat.

Signed-off-by: morgmart <98432065+morgmart@users.noreply.github.com>
Co-authored-by: Carl <c217fe6b9d958f41c3a5e030dccc7f626775a923089cb6491305eade75ea1f1b@buzz.block.builderlab.xyz>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Restores Start and share here, which shares a new linked chat back to
its source thread after the first message is confirmed, and the
Share and send / Send link only prompt for chat links sent into channels.

Signed-off-by: morgmart <98432065+morgmart@users.noreply.github.com>
Co-authored-by: Carl <c217fe6b9d958f41c3a5e030dccc7f626775a923089cb6491305eade75ea1f1b@buzz.block.builderlab.xyz>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@morgmart morgmart changed the title Share linked Solo chats back to team discussions WIP/Share linked Solo chats back to team discussions Oct 21, 2026
Base automatically changed from morganm/linked-shared-chats to main October 21, 2026 19:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant