Skip to content

✨ worker-kit: shared transient D1 retry and GlitchTip grouping - #2

Merged
dryan merged 1 commit into
mainfrom
feat/initial-kit
Oct 14, 2026
Merged

dryan merged 1 commit into
mainfrom
feat/initial-kit

Conversation

@dryan-gh-actions

Copy link
Copy Markdown
Contributor

heartbeat and vegvisir each kept their own list of retryable D1 errors.
Neither had "internal error; reference = ...", so both gave up at once,
and the unique reference made GlitchTip open one issue per failed
request (dryan-org/heartbeat#27-#31, dryan-org/vegvisir#148).

One list, one retry loop and one beforeSend step, used by every Worker:

  • isTransientD1Error / retryD1: 4 tries, full-jitter backoff
  • retryTransient, retryDurableObject: moved from @vegvisir/db unchanged
  • groupCloudflareErrors: strips the reference into a cf_reference tag and
    fingerprints transient errors as one issue

Public so npm ci in Actions and Workers Builds needs no token.
Hippocratic License 3.0.

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

heartbeat and vegvisir each kept their own list of retryable D1 errors.
Neither had "internal error; reference = ...", so both gave up at once,
and the unique reference made GlitchTip open one issue per failed
request (dryan-org/heartbeat#27-#31, dryan-org/vegvisir#148).

One list, one retry loop and one beforeSend step, used by every Worker:
- isTransientD1Error / retryD1: 4 tries, full-jitter backoff
- retryTransient, retryDurableObject: moved from @vegvisir/db unchanged
- groupCloudflareErrors: strips the reference into a cf_reference tag and
  fingerprints transient errors as one issue

Public so npm ci in Actions and Workers Builds needs no token.
Hippocratic License 3.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@dryan-gh-actions
dryan-gh-actions Bot requested a review from a team October 14, 2026 17:45
@dryan
dryan merged commit fa6a49f into main Oct 14, 2026
2 checks passed
@dryan
dryan deleted the feat/initial-kit branch October 14, 2026 17:46
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.

1 participant