Skip to content

fix(webapp): log transient Attio 5xx/429 at warn instead of error#4270

Merged
isshaddad merged 2 commits into
mainfrom
fix/attio-assert-transient-log-level
Jul 15, 2026
Merged

fix(webapp): log transient Attio 5xx/429 at warn instead of error#4270
isshaddad merged 2 commits into
mainfrom
fix/attio-assert-transient-log-level

Conversation

@isshaddad

Copy link
Copy Markdown
Collaborator

The signup → Attio sync (attio.server.ts #assert) logged every non-2xx response at error level and threw the same way regardless of status. Transient upstream failures (5xx/429) are retried by the common worker and self-heal, so treating them as errors created false alerts for something that isn't actually a bug.

Now #assert splits the two cases:

  • 5xx / 429 — Logged at warn and thrown with logLevel: "warn", so they continue to be retried but don't raise error-level alerts. This reuses the same pattern the worker already honors (directorySyncEffects).
  • 4xx — Unchanged: logged at error and thrown, so genuine integration bugs (schema, permissions, auth, etc.) remain visible.

There is no behavior change to retries or the signup flow. This is a server-only change.

@changeset-bot

changeset-bot Bot commented Jul 15, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: a362d79

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@coderabbitai

coderabbitai Bot commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 62b4aa18-0f18-4fe1-880a-bca13b939fc0

📥 Commits

Reviewing files that changed from the base of the PR and between b8e881f and a362d79.

📒 Files selected for processing (1)
  • .server-changes/attio-sync-transient-retry.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • .server-changes/attio-sync-transient-retry.md
📜 Recent review details
⏰ Context from checks skipped due to timeout. (4)
  • GitHub Check: code-quality / code-quality
  • GitHub Check: audit
  • GitHub Check: audit
  • GitHub Check: Analyze (javascript-typescript)

Walkthrough

Updated Attio response handling to classify HTTP 5xx and 429 responses as transient, log them as warnings, and tag thrown errors with logLevel: "warn". Other non-OK responses continue to log as errors and throw untagged errors. Updated the server-change note to document quiet retries for transient sync failures.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description explains the change, but it omits required template items like Closes #issue, checklist checkboxes, Testing steps, Changelog, and Screenshots. Add the missing template sections, including the issue reference, checklist items, testing details, changelog entry, and screenshots section.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly names the main change: logging transient Attio 5xx/429 responses at warn instead of error.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/attio-assert-transient-log-level

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@isshaddad isshaddad marked this pull request as ready for review July 15, 2026 14:37
devin-ai-integration[bot]

This comment was marked as resolved.

Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@isshaddad isshaddad merged commit 80cbc46 into main Jul 15, 2026
31 checks passed
@isshaddad isshaddad deleted the fix/attio-assert-transient-log-level branch July 15, 2026 14:57
@github-actions github-actions Bot mentioned this pull request Jul 15, 2026
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