You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Real Gmail API, CLI, daemon, and Linux FUSE draft, direct-send, remote draft edit, and remote draft send checks passed against ali@codeflash.ai.
Gmail OAuth scopes allow compose/send but do not allow trashing sent scratch messages, so final sent-message cleanup is best-effort and emitted a warning during the run.
GitHub's connector-live-e2e Gmail job now sets LOCALITY_LIVE_GMAIL_SEND=1, so the protected live workflow covers the send path on main/manual runs.
Review
Subagent spec review approved.
Final code-quality review approved after fixing the repeated scheduled reconcile legacy-stub preservation issue.
major: crates/locality-gmail/src/render.rs / crates/locality-gmail/src/dto.rs
Editing an existing Gmail draft replaces the draft with MIME that only contains To, optional Cc/Bcc, Subject, and body, and the update DTO only sends message.raw. For existing reply drafts, this drops threadId, References, and In-Reply-To, so an edited reply can be sent as a detached new conversation instead of staying in its original Gmail thread. Gmail’s API requires the requested threadId plus compliant References and In-Reply-To headers to add a draft/message to a thread. (developers.google.com)
Minimal fix: preserve the original draft’s message.threadId and reply headers when building update MIME, include threadId in GmailRawMessage/GmailDraftUpdateRequest, and add a test with a draft containing In-Reply-To/References that verifies the update request preserves them.
minor: crates/locality-gmail/src/render.rs
Adding bcc: [] to every rendered Gmail message changes the persisted canonical frontmatter shape for existing Gmail shadows. shadows_match compares frontmatter properties exactly apart from sync metadata, so an upgraded user with an old shadow lacking bcc can hit a false “remote entity changed since the Synced Tree shadow” guardrail when pushing an otherwise clean draft edit after upgrade.
Minimal fix: either avoid emitting empty bcc, normalize missing bcc and empty bcc as equivalent for Gmail shadow/concurrency comparison, or add a persisted-format migration/component-version repair. Add a compatibility test with an old Gmail draft shadow without bcc and a remote render with bcc: [].
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Test Plan
Live Verification Notes
Review