Skip to content

webui: Conversation forking + branching improvements#21021

Merged
allozaur merged 19 commits intoggml-org:masterfrom
allozaur:allozaur/17202-fork-conversation
Mar 28, 2026
Merged

webui: Conversation forking + branching improvements#21021
allozaur merged 19 commits intoggml-org:masterfrom
allozaur:allozaur/17202-fork-conversation

Conversation

@allozaur
Copy link
Copy Markdown
Contributor

@allozaur allozaur commented Mar 26, 2026

Overview

Initial implementation of what could become a git-inspired versioning/tracking of chat completion conversations.

Close #17202

  • Added fork action in message actions
  • Applied multi-level forking logic & UI of conversations in the chat sidebar
  • Improved message editing & branching logic
demo.mp4

@allozaur allozaur changed the title webui: Conversation forking + branching webui: Conversation forking + branching improvements Mar 26, 2026
Comment thread tools/server/webui/src/lib/components/app/chat/ChatSidebar/ChatSidebar.svelte Outdated
@allozaur allozaur marked this pull request as ready for review March 26, 2026 11:40
@allozaur allozaur requested a review from a team as a code owner March 26, 2026 11:40
@allozaur allozaur requested review from ggerganov and ngxson March 26, 2026 11:40
Copy link
Copy Markdown
Contributor

@ngxson ngxson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very cool feature! 🚀

@allozaur
Copy link
Copy Markdown
Contributor Author

@ngxson can I get ur 2nd approval for this one? :D

@allozaur
Copy link
Copy Markdown
Contributor Author

allozaur commented Mar 28, 2026

@ngxson can I get ur 2nd approval for this one? :D

oh, i see sth happened with the CI, but seems that the problem lies on the infa end, not in the code

@allozaur allozaur merged commit 51a84ef into ggml-org:master Mar 28, 2026
6 of 9 checks passed
@allozaur allozaur deleted the allozaur/17202-fork-conversation branch March 28, 2026 16:08
@tccybo
Copy link
Copy Markdown

tccybo commented Mar 30, 2026

Seems like after this merge, the edit function/swapping model got quite buggy.
swapping chats restores it.

  1. Send a message.
image
  1. Edit the message, hit send.
image
  1. Swapping chat restores it to expected behavior.
image

@allozaur
Copy link
Copy Markdown
Contributor Author

allozaur commented Mar 30, 2026

Hey @tccybo, thanks for reporting :) the fix is in #21175

@arch-btw
Copy link
Copy Markdown
Contributor

arch-btw commented Apr 5, 2026

@allozaur I think this is the PR that broke auto-expand for the thought section, and auto-scroll (also for the thought section). It fills up the thinking section but then eventually stops auto-scrolling.

Please see: #21322

@allozaur
Copy link
Copy Markdown
Contributor Author

allozaur commented Apr 6, 2026

@allozaur I think this is the PR that broke auto-expand for the thought section, and auto-scroll (also for the thought section). It fills up the thinking section but then eventually stops auto-scrolling.

Please see: #21322

yeah, saw that before the Easter, will have this patched up soon

slartibardfast pushed a commit to slartibardfast/llama.cpp that referenced this pull request Apr 12, 2026
* refactor: Make `DialogConfirmation` extensible with children slot

* feat: Add conversation forking logic

* feat: Conversation forking UI

* feat: Update delete/edit dialogs and logic for forks

* refactor: Improve Chat Sidebar UX and add MCP Servers entry

* refactor: Cleanup

* feat: Update message in place when editing leaf nodes

* chore: Cleanup

* chore: Cleanup

* chore: Cleanup

* chore: Cleanup

* chore: Cleanup

* chore: Cleanup

* refactor: Post-review improvements

* chore: update webui build output

* test: Update Storybook test

* chore: update webui build output

* chore: update webui build output
Seunghhon pushed a commit to Seunghhon/llama.cpp that referenced this pull request Apr 26, 2026
* refactor: Make `DialogConfirmation` extensible with children slot

* feat: Add conversation forking logic

* feat: Conversation forking UI

* feat: Update delete/edit dialogs and logic for forks

* refactor: Improve Chat Sidebar UX and add MCP Servers entry

* refactor: Cleanup

* feat: Update message in place when editing leaf nodes

* chore: Cleanup

* chore: Cleanup

* chore: Cleanup

* chore: Cleanup

* chore: Cleanup

* chore: Cleanup

* refactor: Post-review improvements

* chore: update webui build output

* test: Update Storybook test

* chore: update webui build output

* chore: update webui build output
rsenthilkumar6 pushed a commit to rsenthilkumar6/llama.cpp that referenced this pull request May 1, 2026
* refactor: Make `DialogConfirmation` extensible with children slot

* feat: Add conversation forking logic

* feat: Conversation forking UI

* feat: Update delete/edit dialogs and logic for forks

* refactor: Improve Chat Sidebar UX and add MCP Servers entry

* refactor: Cleanup

* feat: Update message in place when editing leaf nodes

* chore: Cleanup

* chore: Cleanup

* chore: Cleanup

* chore: Cleanup

* chore: Cleanup

* chore: Cleanup

* refactor: Post-review improvements

* chore: update webui build output

* test: Update Storybook test

* chore: update webui build output

* chore: update webui build output
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.

Feature Request: Branch off a message and create a new conversation

6 participants