Skip to content

Simplify ordinary settings edits with direct Save - #4362

Merged
ScriptedAlchemy merged 15 commits into
masterfrom
copilot/simplify-settings-edits
Oct 21, 2026
Merged

ScriptedAlchemy merged 15 commits into
masterfrom
copilot/simplify-settings-edits

Conversation

Copilot AI commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

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

  • Updated the branch from master.
  • All 67 focused settings state-machine, mutation, and DOM tests pass.
  • The native Bazel transcript-ingest suite passes all 207 tests, including the Codex PostCompact cold-restart journey. The failed CI assertion (zero retained messages instead of four) did not reproduce either in isolation or in the full suite.
  • Enable warnings in that hook fixture so its existing fail-open assertion can observe daemon-call failures; lifecycle, production behavior, assertions, and time limits are unchanged.
  • Formatting, diff checks, and commit-message validation pass.
  • Full hosted CI passed on 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

@changeset-bot

changeset-bot Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 98bacf3

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Copilot AI changed the title [WIP] Refactor setting edits to simplify workflow Simplify ordinary settings edits with direct Save Oct 19, 2026
Copilot AI requested a review from ScriptedAlchemy October 19, 2026 04:33
Copilot AI and others added 5 commits October 20, 2026 15:41
…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>
@ScriptedAlchemy
ScriptedAlchemy force-pushed the copilot/simplify-settings-edits branch from 718f0d7 to d6d2b9e Compare October 20, 2026 22:41

@ScriptedAlchemy ScriptedAlchemy left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
ScriptedAlchemy marked this pull request as ready for review October 21, 2026 06:27
devin-ai-integration[bot]

This comment was marked as resolved.

@ScriptedAlchemy ScriptedAlchemy left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

devin-ai-integration[bot]

This comment was marked as resolved.

@ScriptedAlchemy
ScriptedAlchemy merged commit 4feec31 into master Oct 21, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Simplify ordinary settings edits while preserving revision and authorization guarantees

2 participants