Handle Google Calendar working locations#1930
Conversation
This comment has been minimized.
This comment has been minimized.
|
Here's a visual recap of what changed: Open the full interactive recap |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
9936864 to
f3434fd
Compare
f3434fd to
f320661
Compare
|
| GitGuardian id | GitGuardian status | Secret | Commit | Filename | |
|---|---|---|---|---|---|
| 34696882 | Triggered | Generic High Entropy Secret | c021405 | packages/core/src/agent/model-config.spec.ts | View secret |
🛠 Guidelines to remediate hardcoded secrets
- Understand the implications of revoking this secret by investigating where it is used in your code.
- Replace and store your secret safely. Learn here the best practices.
- Revoke and rotate this secret.
- If possible, rewrite git history. Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data.
To avoid such incidents in the future consider
- following these best practices for managing and storing secrets including API keys and other credentials
- install secret detection on pre-commit to catch secret before it leaves your machine and ease remediation.
🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.
This comment has been minimized.
This comment has been minimized.
|
I reviewed the GitGuardian finding on
|
This comment has been minimized.
This comment has been minimized.
…g-locations # Conflicts: # templates/calendar/actions/event-action-helpers.test.ts # templates/calendar/actions/update-event.ts # templates/calendar/app/lib/event-mutation-inputs.test.ts # templates/calendar/app/lib/event-mutation-inputs.ts # templates/calendar/app/pages/CalendarView.tsx
There was a problem hiding this comment.
Builder reviewed your changes — looks good ✅
Review Details
Incremental Review Summary
Reviewed PR #1930 after merging with PR #2004 (multi-account support changes). The merge successfully integrated account-context changes across the working-location feature.
Integration verification:
- ✅ All
googleCalendar.*function signatures updated to acceptaccount: GoogleAccountSelectionparameter - ✅ Working-location event creation/replacement passes
{ ownerEmail, accountEmail }context (lines 471, 481, 488, 507) - ✅ CalendarView resolves account email before creation/update and passes it through mutation payloads (lines 663, 699–702)
- ✅ Account email is preserved through working-location replacement workflow
- ✅ Conflict resolution in CalendarView correctly added account-aware event draft handling (lines 398–423)
What changed in the merge:
getEvent,createEvent,updateEvent,deleteEventnow all acceptaccount: GoogleAccountSelectionparameter- CalendarView adds account resolution logic before committing event drafts
- Working-location replacement correctly passes account context to both create and delete operations
No new bugs introduced. The merge cleanly integrates account context throughout the working-location flow. The test suite covers the working-location operations (tests added in previous commits), and account context plumbing follows the same pattern across all event mutations.
Risk: standard. Verdict: all functional concerns addressed.
🧪 Browser testing: Skipped — unable to verify in dev environment.

Summary
eventType=workingLocationevents with nativeworkingLocationProperties, render all-day working locations in a slim translated lane above ordinary all-day events, and keep them non-blocking for availability.This day only, with an explicitAll daysoption that still targets the visible instance ID.workingLocationProperties; the forbidden genericlocationfield is stripped defensively; office metadata is preserved only while the event remains an office location.Verification
pnpm -C templates/calendar test— 38 files, 246 tests passedpnpm -C templates/calendar typecheckpnpm -C templates/calendar buildpnpm guard:i18n-catalogs— 16 catalog directories passedpnpm exec oxfmt --check <18 modified TypeScript files>git diff origin/main --checkorigin/maincompleted cleanly; every local gate above passed again after the final merge.Browser and provider QA
Accueil,Lieu de travail : Accueil) and restored the app to English afterward.location; Google read-back returned nativeofficeLocation/customLocationproperties withtransparency: transparent.testtestrecord.Successful user story
A hybrid worker can scan where they are working separately from all-day commitments, open a focused translated editor, change one visible day's location without accidentally creating an invalid multi-day status event, and read the same native non-blocking properties back from Google Calendar. Ordinary multi-day all-day events remain a single continuous span below the location lane.
Review and logs
.task-sweep/calendar-working-location-feedback-ledger.md(local handoff artifact).task-sweep/logs/claude-opus-plan-output-20260709-142915.jsonl.task-sweep/logs/claude-opus-review-final-output-20260709-161320.jsonlVERDICT: NO BLOCKERS.task-sweep/logs/claude-fable-5-review-working-location-days-output-20260710-112445.mdNON-BLOCKINGwith no blockersRisks and follow-ups
scope: single|all; the UI default was verified read-only on an existing recurring occurrence.