Skip to content

feat(chat): add session forking and activity refinements#10

Merged
chryzxc merged 1 commit into
mainfrom
feature/session-fork-ui-fixes
Jul 18, 2026
Merged

feat(chat): add session forking and activity refinements#10
chryzxc merged 1 commit into
mainfrom
feature/session-fork-ui-fixes

Conversation

@chryzxc

@chryzxc chryzxc commented Jul 18, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add SDK-backed session forking from a selected message and hydrate the fork without a false loading state.
  • Persist and restore subagent projections; improve first-event streaming delivery and activity history behavior.
  • Refine collapsed activity UI, remove duplicate compatibility notices, add regression coverage, and improve Marketplace/support documentation.

Validation

  • npm run guard:prepush

Summary by CodeRabbit

  • New Features
    • Fork completed assistant responses into new conversation branches.
    • Improved streaming chat responsiveness and continuity, including raw event updates and reasoning display.
    • Preserved subagent activity and history across session reloads.
    • Added clearer “Show full” previews for long responses, diffs, searches, and activity details.
    • Refreshed error cards, task panels, and overview styling.
  • Documentation
    • Updated Marketplace metadata, README guidance, privacy details, and support instructions.
  • Bug Fixes
    • Prevented missing streamed content, duplicate reasoning, incorrect timeline connectors, and unwanted compatibility warnings.

Add SDK-backed session forks with hydrated history and persisted subagent state. Refine streaming, collapsed activity previews, compatibility notices, and Marketplace documentation, with regression coverage for the repaired flows.
@coderabbitai

coderabbitai Bot commented Jul 18, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 5cbcefa2-8992-43ab-b223-44f3cb9453e5

📥 Commits

Reviewing files that changed from the base of the PR and between 8208766 and 16e96b4.

📒 Files selected for processing (31)
  • CHANGELOG.md
  • README.md
  • SUPPORT.md
  • package.json
  • scripts/test-impact-map.json
  • src/providers/ChatViewProvider.ts
  • tests/helpers/webview-module.mjs
  • tests/regression/chat-css-regression.test.mjs
  • tests/regression/session-fork-action-regression.test.mjs
  • tests/regression/subagent-history-rehydration-regression.test.mjs
  • tests/unit/activity-timeline-collapse.test.mjs
  • tests/unit/todo-session-switch.test.mjs
  • tests/webview/live-stream-response-rendering.test.mjs
  • tests/webview/opencode-compatibility-banner.test.mjs
  • tests/webview/reasoning-stream-dedupe-regression.test.mjs
  • tests/webview/stream-event-main-thread-performance.test.mjs
  • tests/webview/subagent-duration-behavior.test.mjs
  • tests/webview/toast-events-behavior.test.mjs
  • tests/webview/truncate-large-strings-behavior.test.mjs
  • webview/shared/src/chat/ChatShell.tsx
  • webview/shared/src/chat/MessageComponents.tsx
  • webview/shared/src/chat/PanelComponents.tsx
  • webview/shared/src/chat/components/activity-steps/BackgroundOutputStep.tsx
  • webview/shared/src/chat/components/activity-steps/CallOmoAgentStep.tsx
  • webview/shared/src/chat/components/activity-steps/DiffPreviewStep.tsx
  • webview/shared/src/chat/components/activity-steps/SearchActivityPreview.tsx
  • webview/shared/src/chat/index.css
  • webview/shared/src/chat/lib/messageHandler.subagents.test.ts
  • webview/shared/src/chat/lib/messageHandler.test.ts
  • webview/shared/src/chat/lib/messageHandler.ts
  • webview/shared/src/components/ui/FadedCollapseOverlay.tsx

📝 Walkthrough

Walkthrough

The change updates raw OpenCode SDK streaming and hydration, adds assistant-response session forking, introduces overflow-aware chat previews, refreshes chat styling and error presentation, updates Marketplace and support documentation, and expands regression and runtime test coverage.

Changes

Chat Workbench

Layer / File(s) Summary
Streaming and subagent hydration
src/providers/ChatViewProvider.ts, webview/shared/src/chat/lib/messageHandler.ts, webview/shared/src/chat/lib/*.test.ts
Raw SDK events support immediate first-turn delivery, raw text deltas, reasoning deduplication, turn closure handling, subagent projection persistence, and child-session hydration placeholders.
Session forking and hydration suppression
src/providers/ChatViewProvider.ts, webview/shared/src/chat/MessageComponents.tsx, tests/regression/session-fork-action-regression.test.mjs
Completed assistant responses send fork requests through the provider and SDK, receive fork results, and hydrate the new session without generic loading presentation.
Overflow-aware response previews
webview/shared/src/components/ui/FadedCollapseOverlay.tsx, webview/shared/src/chat/MessageComponents.tsx, webview/shared/src/chat/components/activity-steps/*
A shared ResizeObserver-based overflow hook and fade overlay replace static preview gradients and chevrons across chat content surfaces.
Chat layout and error presentation
webview/shared/src/chat/ChatShell.tsx, webview/shared/src/chat/PanelComponents.tsx, webview/shared/src/chat/index.css
Compatibility warning UI is removed, Active Task and overview layouts are revised, activity connectors are corrected, and error cards use neutral OpenCode surface styling.
Metadata, documentation, and behavioral coverage
README.md, SUPPORT.md, CHANGELOG.md, package.json, tests/*, scripts/test-impact-map.json
Marketplace metadata, release notes, support and privacy documentation, test loading, impact mappings, and runtime/regression tests are updated.

Estimated code review effort: 4 (Complex) | ~60 minutes

Possibly related PRs

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/session-fork-ui-fixes

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

webview/shared/src/chat/index.css

Parsing error: Expression expected.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@chryzxc
chryzxc merged commit 599f6bd into main Jul 18, 2026
1 of 2 checks passed
@chryzxc
chryzxc deleted the feature/session-fork-ui-fixes branch July 19, 2026 11:17
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