feat(drive): add secure changes push receiver#753
Conversation
|
Codex review: needs maintainer review before merge. Reviewed June 11, 2026, 7:11 AM ET / 11:11 UTC. Summary Reproducibility: not applicable. this is a feature PR rather than a reported current-main bug. Source inspection confirms main has Drive changes watch/stop support but no Drive Review metrics: 3 noteworthy metrics.
Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Land or reject the stacked polling base first, retarget this branch to main, then merge only after maintainer security review accepts live webhook proof or an explicit no-live-proof exception. Do we have a high-confidence way to reproduce the issue? Not applicable: this is a feature PR rather than a reported current-main bug. Source inspection confirms main has Drive changes watch/stop support but no Drive Is this the best way to solve the issue? Mostly yes: a first-party AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 385631d2f594. Label changesLabel changes:
Label justifications:
Evidence reviewedWhat I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 066bb67e86
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| case "sync": | ||
| if err := s.acknowledgeNotificationLocked(notification); err != nil { | ||
| return err | ||
| } | ||
| return errDriveChangesIgnoredNotification |
There was a problem hiding this comment.
Process sync notifications to drain missed changes
When --auto-renew creates a new state file, the page token is captured before the watch channel is established, so any Drive edit that lands in that gap will not have a later change notification on the new channel; the initial sync request is the only request this receiver is guaranteed to see. Returning here without calling loadDriveChanges leaves the page token stale and the hook silent until some future unrelated edit happens to trigger another notification.
Useful? React with 👍 / 👎.
|
hi @steipete bot, please ensure this functionality (looking very much forward to it) is documented in detail |
bebd261 to
b1e5d49
Compare
Closes #689.
Stacked on #751 (
feat/poll-state-690) to reuse its reviewed atomic state, Drive pagination, and JSON hook primitives. Retarget tomainafter #751 lands.Summary
gog drive changes servewith loopback-default HTTP or direct TLSSecurity and reliability
500without advancing the page token so Google can retryProof
go test -race ./internal/cmd -run 'TestDriveChangesServe' -count=1make lintmake cimake buildhttptest.ServerA real Drive watch callback was not created because the
clawdbot@gmail.comfile-keyring password is unavailable noninteractively. The smoke used--no-input, so no desktop keyring prompt was triggered.