fix: harden config mutations and PR validation#416
Merged
Conversation
Keep loader callbacks stable so initialization effects do not restart requests after state updates. Serialize multi-channel alias writes and roll back completed and ambiguous failed requests. Add regression coverage for loader identity and rollback behavior.
Use a synchronous shared lock for provider toggles, priority changes, and health-check updates. Prevent overlapping optimistic writes from racing and overwriting newer provider configuration. Cover lock acquisition and release behavior with a focused unit test.
Classify workflow, native packaging, and Compose changes into the checks they can affect. Validate packaging script syntax and Docker Compose configuration in PR checks. Add classifier regressions so infrastructure changes cannot silently skip validation.
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.
Summary
Harden frontend configuration mutations against repeated loads, overlapping writes, and partial multi-channel updates. Expand PR path classification so workflow, native packaging, and Docker Compose changes receive relevant validation.
Scope
Changes
User Impact
Prevents repeated OAuth configuration requests, overlapping provider updates, and avoidable partial alias changes. There are no intentional visual changes.
Compatibility / Runtime Notes
Data / Security Notes
OAuth alias mutations now attempt reverse-order compensation, including requests whose response may have been lost after the server applied the write. The client reloads server state after failures. No secrets, schemas, or stored credentials change.
Risk / Rollback
Risk level: Medium
Rollback notes: Revert the three commits in this PR to restore the previous loader, mutation, and PR classification behavior.
Verification
Commands / evidence:
Screenshots / Recordings
N/A — behavior and CI validation changes only.
Docs
Docs decision: These changes correct request coordination and validation behavior without adding user-facing capabilities or configuration options.
Related
Fixes #412