fix(web): preserve WSL provider update results after dismissal - #168
Draft
pandec wants to merge 4 commits into
Draft
fix(web): preserve WSL provider update results after dismissal#168pandec wants to merge 4 commits into
pandec wants to merge 4 commits into
Conversation
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.
Note
Preview of an upstream PR for
pingdotgg/t3code. Never merge this;mainhere is a clean upstream mirror. Close once the upstream PR is open. The branch carries an intermediate design superseded during review; it will be squashed to one commit before the upstream PR.Problem
The multi-environment (Windows + WSL) provider update popover owns its update request state inside dismissible toast content. Dismiss it mid-update and the request keeps running while its owner unmounts; the sidebar pill only watches primary providers, so success or failure is never reported anywhere. A hung transport is equally silent.
Fix
Split presentation from result delivery:
Map.deleteon the claim is the atomic single-winner — no duplicate toasts, in either arrival order. Snapshots older than the dispatch are rejected, so a previous attempt's state can't be reported as this one's outcome.Deliberately not in scope: the running-progress duplication between this popover and the sidebar pill for primary providers. These rows are the only progress surface WSL-side providers have, so suppressing them would trade a cosmetic duplication for missing feedback.
Verification
vp checkandvp run typecheckclean.[video placeholder: with Windows + WSL connected, click Update on one environment — the popover stays open, that row shows a spinner while the other row stays actionable. Then repeat and dismiss the popover mid-update — the success/failure toast still arrives.]
Related: pingdotgg#7761 (primary-flow result pattern this mirrors), pingdotgg#7425, pingdotgg#6544.
Implemented by gpt-5.6-sol, orchestrated and reviewed (opus + sol panel) in Claude Code (Fable 5).