Skip to content

fix: harden Synctech Drive sync lifecycle#383

Draft
danshapiro wants to merge 1 commit into
kenn-io:mainfrom
danshapiro:codex/synctech-drive-sync-lifecycle
Draft

fix: harden Synctech Drive sync lifecycle#383
danshapiro wants to merge 1 commit into
kenn-io:mainfrom
danshapiro:codex/synctech-drive-sync-lifecycle

Conversation

@danshapiro

Copy link
Copy Markdown
Contributor

What changed

  • Scheduled Synctech SMS Drive syncs now use the daemon's already-open store when run from serve.
  • Drive polls create one outer source-level sync_runs row, including zero-selected polls, and fail that run on list/checksum/stability/download/import/checkpoint errors.
  • Drive imports now import backup files into the existing source lifecycle instead of creating nested sync runs per downloaded backup.
  • Successful Drive polls update checkpoint counts, touch sources.last_sync_at, and recompute conversation stats when files import.
  • Scheduled cache rebuild logic is shared by Gmail/IMAP and configured Synctech syncs.

Why

This keeps scheduled Drive sync lifecycle state accurate and avoids duplicate stores/runs that can obscure failures or freshness.

Impact

Configured Drive sync status, freshness, and analytics cache updates should now reflect every poll, including no-op polls and failed polls.

Validation

  • go test -tags "fts5 sqlite_vec" ./cmd/msgvault/cmd ./internal/synctechsms ./internal/store
  • make testify-helper-check
  • go vet -tags "fts5 sqlite_vec" ./...

@roborev-ci

roborev-ci Bot commented Jun 13, 2026

Copy link
Copy Markdown

roborev: Combined Review (2129ac9)

Summary verdict: No Medium, High, or Critical findings to report.

The only reported issue was Low severity and is omitted per the review-combination rules. Security review found no issues.


Panel: ci_default_security | Synthesis: codex, 7s | Members: codex_default (codex/default, done, 3m57s), codex_security (codex/security, done, 2m36s) | Total: 6m40s

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant