Repository navigation
Preserve browser model choice across settings edits and reloads - #661
Merged
Merged
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.
Merge decision: ready — changing or reloading model settings preserves the browser's valid model choice without re-enrolment or an implicit Ollama switch.
User outcome
Settings previously cleared premium use while scoped eligibility was loading and restored the server primary ahead of the saved browser preference. Keep rendering read-only with respect to browser selection, prefer the saved browser model on reload, and leave an unallowed editor draft separate from the active model. Selecting another allowed model on the active provider takes effect locally without an allow-list write. Probing a model does not change the browser choice.
Material changes
Update
settingsPage.jsand the Settings help text. Derive the checkbox from the actual selected browser model and show explicit replacement/restoration guidance when the effective scope no longer allows it. Retain the existing scoped persistence and server authority boundaries. Add event-path regression tests and a reusable Playwright fixture against the actual template and modules.Evidence
only the latest actor-scoped reload can repopulate state and enable Save, fails withpending.get(...) is not a functionon both unchanged baseline 421551e and the candidate. This pre-existing asynchronous fixture failure does not change the merge decision.git diff --checkpass. Screenshots reviewed. Local receipts:.run/settings-model-preference/results.jsonand screenshots, with source SHA-256.Ship boundary
Tier 1 frontend state claim. The browser run uses the real candidate UI with synthetic API responses and no model calls or live mutations; it is not authenticated DGX or live-provider acceptance. Existing host fixtures belong to other tasks. The task text is sufficient despite the unavailable original conversation/screenshots. No backend authorisation, model routing, migrations or deployment changes are included. No deployment was requested.