You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit aa22bdd
Browse filesBrowse the repository at this point in the historyBrowse files
fix(quickbooks): harden the app-level webhook ingress
Three defects on the QuickBooks CloudEvents ingress:
- The pre-ack path loaded and decrypted every account connected to the
addressed Intuit app before checking the signature. Verifier tokens are
now produced by an async generator and consumed one at a time, stopping
at the first match, so a legitimate delivery no longer burns the whole
app's fan-out inside Intuit's 3-second acknowledgement budget.
- One unmodelled element rejected the entire delivery with 400. Intuit
retries a 400 indefinitely and withholds later events until one is
acknowledged, so a single bad payload stopped webhooks for every Sim
workspace on that Intuit app. The array shape is still bounded, but
elements are parsed individually, unparseable ones are dropped with a
warning, and the delivery is acknowledged with 200.
- formatInput emitted the lowercase wire token ("invoice") as entityType.
It now resolves the trigger definition from the parsed entity and emits
the canonical QuickBooks name ("Invoice") the read tools expect;
eventType still carries the raw wire string.
Also count an unroutable company id as ignored rather than failed, so a
permanently impossible event no longer retries three times.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RB5M2gk7zZgGomnQqr7WRB
0 commit comments