Show edit actions promptly after thread submit - #2016
Merged
ymichael merged 3 commits intoAug 20, 2026
Merged
Conversation
ymichael
force-pushed
the
bb/fix-edit-action-icons-visibility-thr_egiw85meui
branch
from
August 20, 2026 07:20
42e055a to
cdd658d
Compare
ymichael
deleted the
bb/fix-edit-action-icons-visibility-thr_egiw85meui
branch
August 20, 2026 07:26
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.
What was wrong
Two async transitions could suppress Edit after submitting a new thread. Provider capability gating waited on the full execution-options/model-discovery path, and navigation could briefly lose the provider facts already loaded by the composer. More importantly, the timeline controller preserved row identity using only the row ID and source-sequence range. The server projects
turnRequest.statusfrompendingtoacceptedonto that same message row without extending its sequence range, so the merge retained the stale pending object indefinitely. Edit requires an accepted message; refresh rebuilt the timeline directly from the accepted server row and made the icon appear.What changed
The thread detail view now reads capabilities from the lightweight, environment-routed provider roster and reuses composer-warmed provider facts while that roster loads. The timeline merge also includes turn-request fields in its identity signature, so an accepted server projection replaces the pending row instead of being discarded as unchanged. Regression coverage exercises both the post-submit provider fallback and the pending-to-accepted row transition. There are no wire, CLI, guide, or protocol changes.
How you verified
pendingand passes after the accepted row replaces it.pnpm exec turbo run test --filter=@bb/client-core --force(238 tests)pnpm exec turbo run test --filter=@bb/app --force -- --run src/hooks/queries/system-queries.test.tsx(17 tests)pnpm exec turbo run typecheck --filter=@bb/client-core --filter=@bb/apppnpm exec turbo run lint --filter=@bb/client-core --filter=@bb/app(0 errors; existing warnings remain)pnpm exec prettier --checkon the changed source filesFixes: delayed edit-action visibility (no linked issue).