Keep shared Google Calendar events editable - #5569
Conversation
|
Here's a visual recap of what changed: Open the full interactive recap |
There was a problem hiding this comment.
Builder reviewed your changes — looks good ✅
Review Details
Incremental Code Review Summary
The latest commit fixes the previously open explicit bulk-delete result-ID issue by applying googleEventResultId, preserving opaque account-scoped IDs while restoring canonical google-<provider-id> output for legacy inputs. The added regression assertion covers the canonical IDs, and the broader Calendar source validation, account binding, fallback provenance, and Slides owner-scoped cache-write changes remain consistent. Three parallel incremental reviewers found no additional confirmed defects.
The prior comment was resolved after verifying the fix. No new actionable code-review findings are being posted in this cycle.
🧪 Browser testing: Could not verify — the dev server was healthy and HTTP routes returned successfully, but Chrome/browser automation tools were unavailable. All 14 planned Calendar/Slides cases were reported as environment-blocked.

Problem
When the same Google calendar is visible through both an owner account and a reader account, Calendar could keep whichever duplicate event arrived first. If the reader copy won, an event the user owns appeared read-only and its edit and delete actions disappeared.
Approach
Choose the strongest source for a duplicated provider event: writable access first, then primary ownership, access role, and a deterministic account fallback. Preserve account identity in multi-account event IDs so reads and mutations return to the connection that supplied the event.
What changed
CI guard repair
mainissue during PR validationSafety and operations
Existing single-account Google event IDs remain compatible. There are no schema, migration, or credential changes.
Verification
guard:no-silent-coercion,guard:external-result-contract, andgit diff --checkpassedget-design-systemtests: 3 passed; Slides typecheck passed after building its workspace dependencyThe interface checks used the Calendar demo rather than a destructive mutation of a personal Google event. Provider routing and mutation rejection are covered at the action boundary.
Review focus