v0.6.41: webhooks fix, workers removal#4154
Conversation
waleedlatif1
commented
Apr 14, 2026
- fix(webhooks): non-polling webhook executions silently dropped after BullMQ removal (fix(webhooks): non-polling webhook executions silently dropped after worker removal #4153)
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
PR SummaryMedium Risk Overview
Reviewed by Cursor Bugbot for commit a51333a. Configure here. |
Greptile SummaryThis PR fixes a regression where non-polling webhook executions (Slack, GitHub, Stripe, and other push-based providers) were silently dropped after BullMQ was removed. The fix splits the execution path by provider type: polling providers (Gmail, Outlook, IMAP, RSS) continue to use the Trigger.dev job queue when that backend is configured, while non-polling providers are now explicitly routed to the inline fire-and-forget path in both Confidence Score: 4/5
Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Webhook HTTP Request] --> B[queueWebhookExecution]
B --> C{isPollingWebhookProvider?}
C -- "Yes (gmail/outlook/imap/rss)" --> D{shouldExecuteInline?}
D -- "false (trigger.dev enabled)" --> E[getJobQueue → trigger.dev enqueue]
D -- "true (db backend)" --> F[getInlineJobQueue → DB enqueue]
F --> G[void IIFE: startJob → executeWebhookJob → completeJob]
C -- "No (slack/stripe/github/etc.)" --> F
H[processPolledWebhookEvent] --> I[tryAdmit]
I -- "rejected" --> J[429 at capacity]
I -- "admitted" --> K[checkWebhookPreprocessing]
K --> L{isPollingProvider AND not inline?}
L -- "Yes (trigger.dev)" --> M[getJobQueue → trigger.dev enqueue]
L -- "No (db backend)" --> N[getInlineJobQueue → DB enqueue]
N --> O[void IIFE: executeWebhookJob]
O -.->|ticket already released| P[finally: ticket.release]
M --> P
style G fill:#f9f,stroke:#333
style O fill:#f9f,stroke:#333
style E fill:#bbf,stroke:#333
style M fill:#bbf,stroke:#333
|