Skip to content

fix(macos): restore event edits through undo and redo - #4508

Merged
tyler-dane merged 4 commits into
mainfrom
fix/macos-event-edit-undo
Oct 17, 2026
Merged

tyler-dane merged 4 commits into
mainfrom
fix/macos-event-edit-undo

Conversation

@tyler-dane

@tyler-dane tyler-dane commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Fixes #4507

What and why

Saving an event edit did not record undo history, and edit history replay had no implementation. Record supported single-event edits and replay their complete before/after snapshots through the existing event store, preserving event identity and calendar. Decline stale history rather than overwrite a subsequent change. Series-wide edits create a non-undoable history boundary. Prevent overlapping history restores. Existing-event drafts now retain guests, and optimistic edits preserve organizer, conference, guest responses, and provider metadata.

Verify

VERDICT: PASS

Full bun run verify --strict passes on f4f7d50: Swift package tests, Xcode native tests (including form save followed by Command-Z and Command-Shift-Z), type-check, lint, and knip.

Passed: 125 CompassData package tests, including edit/undo/redo/undo and missing/changed-event stale-history and provider-detail preservation regressions; focused undo suite (5 tests) after the final test update; contracts:swift --check; desktop:export --check; bun lint; git diff --check.

Simplify review retained the existing event store/history boundary and two small private replay helpers. No additional abstraction or test-only product hook was needed.

Resolved the main-branch conflict with account isolation while retaining both session guards and the history-restore guard. The reconciled head passes the full strict sweep.

@tyler-dane
tyler-dane marked this pull request as ready for review October 16, 2026 23:37
@tyler-dane tyler-dane added the agent-automerge Agent-loop finished; merge-guard may squash-merge label Oct 16, 2026
@tyler-dane
tyler-dane enabled auto-merge October 16, 2026 23:37
@tyler-dane
tyler-dane added this pull request to the merge queue Oct 16, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch Oct 17, 2026
@tyler-dane

Copy link
Copy Markdown
Contributor Author

agent-loop: still conflicting after update-branch onto main. Closing so the issue can be relaunched.

@tyler-dane tyler-dane removed the agent-automerge Agent-loop finished; merge-guard may squash-merge label Oct 17, 2026
@tyler-dane tyler-dane closed this Oct 17, 2026
@tyler-dane tyler-dane reopened this Oct 17, 2026
@tyler-dane tyler-dane added the agent-automerge Agent-loop finished; merge-guard may squash-merge label Oct 17, 2026
@tyler-dane
tyler-dane enabled auto-merge October 17, 2026 00:13
@tyler-dane
tyler-dane added this pull request to the merge queue Oct 17, 2026
Merged via the queue into main with commit 32e5540 Oct 17, 2026
27 checks passed
@tyler-dane
tyler-dane deleted the fix/macos-event-edit-undo branch October 17, 2026 01:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agent-automerge Agent-loop finished; merge-guard may squash-merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

macos: restore event edits through undo and redo

1 participant