Skip to content

fix: gate fork affordances on completed replies - #779

Merged
wibus-wee merged 1 commit into
mainfrom
fix/hide-streaming-fork-action
Sep 17, 2026
Merged

wibus-wee merged 1 commit into
mainfrom
fix/hide-streaming-fork-action

Conversation

@wibus-wee

Copy link
Copy Markdown
Member

Summary

  • Streaming assistant replies no longer render the Fork button or its "Fork session" affordance; they expose context copying through a direct Copy action instead.
  • AssistantForkButton and the pending-fork loading state now require message.finished === true; a pending fork no longer keeps the action group force-visible on an unfinished turn.
  • Lands the previously unmerged fix (be09f427, authored 2026-09-11) rebased onto current main: the streaming context-copy test is ported to the createConversationViewFromHistory harness from feat: read long conversations by window with shared history writes #376, the ai-gui AGENTS.md rule is added within the 8 KiB gate, and the Agent Note ships its zh counterpart.
  • Spec conversation-context-copy-and-text-attachments updated (still draft): a streaming reply must not show a Fork affordance or Fork loading state.

Test plan

  • NODE_ENV=test pnpm vitest run tests/session-fork-destination-menu.test.tsx tests/chat-virtual-rows-identity.test.ts tests/assistant-turn-action-inset.test.ts — 23 tests pass (streaming case asserts no fork button, direct copy action works; finished case keeps fork menu)
  • pnpm --filter @lody/components typecheck — clean
  • pnpm run docs check — 0 errors
  • pnpm lint:fast / lint:i18n — clean
  • pnpm format — no changes needed

Generated with Devin

Keep streaming context copy available through a direct copy action while reserving the fork control and its persistent loading state for finished assistant turns.

Model: gpt-5
@wibus-wee
wibus-wee merged commit e11be6b into main Sep 17, 2026
6 checks passed
@wibus-wee
wibus-wee deleted the fix/hide-streaming-fork-action branch September 17, 2026 07:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant