Skip to content

Log safe lastFailure fields when a CloudSync round fails - #8103

Merged
fastrepl-repo-automation[bot] merged 3 commits into
mainfrom
fix/cloudsync-failure-log-fields
Oct 21, 2026
Merged

fastrepl-repo-automation[bot] merged 3 commits into
mainfrom
fix/cloudsync-failure-log-fields

Conversation

@woohyeokk-choi

@woohyeokk-choi woohyeokk-choi commented Oct 17, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Intent: Explain failed CloudSync rounds without copying server-provided text into logs or telemetry.

Log only explicitly allowed failure codes (apply_conflict, check_failed), stages (apply, check), and a boolean retry flag. Unknown strings become unknown; timestamps, messages, identifiers, and malformed values are omitted. Truncating text is not a privacy boundary.

Recovery warnings now retain phase and generation without the error body. Sync test diagnostics retain counts, known statuses, and failure presence without server text.

Demo

N/A — diagnostic logging only; sync behavior and local error state are unchanged.

Verification

  • 95 db-core unit tests, 70 focused CloudSync tests, 39 cloudsync tests, 10 desktop recovery tests, and the diagnostic privacy regression passed.
  • db-core Clippy with --all-targets --no-deps -- -D warnings, changed-file formatting, 95 common CI tests, and license checks passed.
  • Hosted db-core E2E could not run because SQLITECLOUD_URL is unset.
  • Offline Zizmor found 337 existing workflow findings; no workflows changed. Authenticated online checks were not run locally.

"CloudSync failed" logged only the error kind. A send carrying a
server-reported lastFailure (an unclassified JSON payload) always showed
as error_kind=Fatal with no clue why, so a two-minute burst of failures
during a backlog upload on a user's Mac could not be diagnosed.

Log code, stage, retryable and failedAt from the send and receive
lastFailure. Only scalar values are kept, strings are capped at 64
characters, and the message, job ID and the full error string stay out
of the log since they can carry server text.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@devin-ai-integration devin-ai-integration Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note

Newer findings are available below. Devin Review posted a newer report on this PR, in addition to the findings presented here.

🔍 Devin Review: 1 security issue

Not posted on this PR by your GitHub settings — view it in Devin Review. (Configure)

Devin Review

devin-ai-integration[bot]

This comment was marked as resolved.

@fastrepl-repo-automation
fastrepl-repo-automation Bot merged commit 2a40e41 into main Oct 21, 2026
24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants