Repository navigation
Conversation
2 tasks done
Owner
Author
|
Superseded by pingdotgg#12874 — the implementation PR now lives upstream against |
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 Changed
Provider-add and custom-model forms previously cleared or announced success after dispatching a void settings updater. They now wait for the selected environment's typed persistence result. Pending saves block duplicates; rejection/interruption retains the draft and an actionable error; stale completions cannot close a reopened or different-environment editor.
Why
This implements the audited provider-form portion of the proposed settings-completion contract. Custom-model add/edit/removal carry acknowledgment through the existing panel/card/section callbacks, including portaled input guards and cleanup only after confirmed removal. Quiet preference controls keep their existing contract. It does not claim every settings path was runtime-proven.
Stacked on
docs/consistency-settings-completionin the fork, independently of other invariant pairs.Validation
devin -p --model swe-2-maxreview was attempted against the frozen diff and coding standard. It produced no output for over 600 seconds; its captured process was stopped (exit 1). No completed independent verdict is claimed.UI Changes
Runtime proof (2026-09-20, isolated proof app; base d6f2913 vs this branch): with
server.updateSettingsframes dropped via a WebSocket send filter (exactly one request dropped), adding a custom model on base clears the input and shows nothing — the edit is silently lost. On this branch the input retains its value, "Saving…" is shown, and the controls stay disabled; the slow-request watchdog later surfaces the stuck request.Before: https://github.com/user-attachments/assets/96ae4da5-8bb6-4c4f-9e74-8b021e52af57
After: https://github.com/user-attachments/assets/62fe85c2-63af-4a87-84b0-f2223a6e10f9
After (pending + watchdog toast): https://github.com/user-attachments/assets/6c3a3c7e-273c-463b-8409-d1c4f164d9c9
Still: https://github.com/user-attachments/assets/fb9c943c-1423-4d03-abc6-1c1ddeb38571
Limitation: the injection drops the request outright, so the capture proves the guarded pending state; the eventual "Could not save" terminal error is exercised by tests, not this capture.
Checklist
Implemented by GPT-6 Astra (medium reasoning) in Codex; independent SWE-2 Max review attempt in Devin CLI timed out without a verdict.