Fix distill-replace creating new conversation entry in UI#174
Open
okottorika wants to merge 1 commit intoboldsoftware:mainfrom
Open
Fix distill-replace creating new conversation entry in UI#174okottorika wants to merge 1 commit intoboldsoftware:mainfrom
okottorika wants to merge 1 commit intoboldsoftware:mainfrom
Conversation
|
Thank you for your pull request and welcome to our community. We could not parse the GitHub identity of the following contributors: Shelley Contributor.
|
4a8b079 to
a751e76
Compare
|
Thank you for your pull request and welcome to our community. We could not parse the GitHub identity of the following contributors: Shelley Contributor.
|
a751e76 to
e391ccd
Compare
|
We require contributors to sign our Contributor License Agreement, and we don't have you on file. In order for us to review and merge your code, please contact @crawshaw at david@bold.dev to get yourself added. |
e391ccd to
15c2118
Compare
The distill-replace feature was immediately navigating to the newly created conversation before the slug swap completed, causing a confusing UX where a blank/new conversation appeared in the sidebar. Now the UI: - Tracks active distill-replace operations (source ID -> new ID mapping) - Stays on the source conversation after initiating distill-replace - Waits for the SSE conversation list update showing the source was archived - Only then navigates to the new conversation (which now has the original slug) This ensures users see a smooth transition without intermediate confusing states. Also fixed backend tests to properly wait for async slug swap and archival operations to complete before asserting on their results. Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
15c2118 to
1f9ef54
Compare
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.
Problem
The "Distill & Replace in Place" feature was creating a new conversation entry in the sidebar when initiated, which was confusing to users. The UI immediately navigated to the newly created conversation before the slug swap completed, resulting in a blank conversation appearing in the sidebar temporarily.
Solution
This PR fixes the issue by deferring navigation until the distill-replace operation completes:
Frontend Changes (ui/src/App.tsx)
Test Improvements (server/distill_test.go)
TestDistillReplaceConversationTestDistillReplaceConversationNoSlugTestDistillReplaceMultiPassThese tests were checking assertion results before the async operations completed, causing intermittent failures.
User Experience
Before: User clicks "Distill & Replace in Place" → New blank conversation appears in sidebar → Confusing intermediate state → Eventually gets correct conversation
After: User clicks "Distill & Replace in Place" → Stays on current conversation → Slug swap completes in background → Automatically navigates to the distilled conversation with the original slug
Testing
Fixes #158