Repository navigation
Simplify ordinary settings edits with direct Save - #4362
Conversation
|
…ot/simplify-settings-edits Co-authored-by: ScriptedAlchemy <25274700+ScriptedAlchemy@users.noreply.github.com>
Co-authored-by: ScriptedAlchemy <25274700+ScriptedAlchemy@users.noreply.github.com>
Co-authored-by: ScriptedAlchemy <25274700+ScriptedAlchemy@users.noreply.github.com>
718f0d7 to
d6d2b9e
Compare
ScriptedAlchemy
left a comment
There was a problem hiding this comment.
Cross-referenced #4222 and pushed 9f8e9fb to fix two reload defects.
A newer payload observed while a draft was dirty could be ignored by the reducer. Explicit reload then reset from the old stored authority and relied on a query effect that might not run again for the already-cached newer object, leaving the next Save conflicted. Reload now dispatches the successfully fetched authority directly.
The uncertain-write warning/lock also cleared as soon as reload started. It now stays in place until the authority read succeeds; failed reads preserve the conflict/uncertainty, and duplicate pending reloads are guarded.
Both new DOM regressions failed against the submitted code and pass after the fix. Validation: settings Vitest suite — 7 files / 99 tests passed; dashboard tsc --noEmit passed; git diff --check and pinned-pnpm conventional commit lint passed. The published tree exactly matches the locally tested tree.
ScriptedAlchemy
left a comment
There was a problem hiding this comment.
Pushed fixes for all three settings findings. Saving a resource now settles only that scope, preserving other drafts and their original CAS revisions. Refresh advances clean resources independently while edited/pending resources retain their base. A verified PATCH publishes only its saved resource into the canonical query before the proposal clears, so the visible saved value does not revert while readback is pending; selected-project data is protected from profile-global worker responses and delayed saves remain tied to their original project. Verification: all 105 settings tests passed (99 existing plus six regressions; five were reproduced failing before the fix), TypeScript checking and the production build passed, and diff/commitlint passed. Browser automation was unavailable; DOM interactions were verified through the existing Vitest/RTL suite.
Summary
Make ordinary settings changes directly editable with Save while preserving revision checks, authorization, and the exact submitted request identity. Keep independent scope drafts intact, adopt refreshed values for clean scopes, and publish verified PATCH values into the selected project's read snapshot before clearing its proposal. Project writes also publish their derived automation revision while readback is pending.
Verification
master.98bacf30f3737fdd3b8ae22770547cec7a9ea66e: all 169 Linux test targets, Dashboard, strict Clippy, feature gates, repository gates, and the shipped Linux CLI build. The branch was current with master at final review.Fixes #4222