Commit fc40f33
committed
fix(webhooks): ack io-bridge webhook deliveries immediately
The io server's HTTP bridge holds the webhook sender's response open until a
client answers the callback pid or a 5s timeout fires. The stripe/kofi/bmac/
fourthwall branches never answered it: early returns skip the generic tail ack,
and the success paths reassign data, dropping data.get before it is checked.
Every delivery therefore took the full 5 seconds to be acknowledged, which is
the likely trigger for sender-side retries (the duplicate deliveries the
message_id dedup absorbs).
Ack at the top of each webhook branch so senders get a sub-second response;
data.get is cleared to keep the tail ack from double-answering. The server's
resolveCallback is guarded, so a late ack after its timeout is a no-op.1 parent 21377b9 commit fc40f33
1 file changed
Lines changed: 19 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9434 | 9434 | | |
9435 | 9435 | | |
9436 | 9436 | | |
| 9437 | + | |
| 9438 | + | |
| 9439 | + | |
| 9440 | + | |
| 9441 | + | |
| 9442 | + | |
| 9443 | + | |
| 9444 | + | |
| 9445 | + | |
| 9446 | + | |
| 9447 | + | |
| 9448 | + | |
| 9449 | + | |
| 9450 | + | |
| 9451 | + | |
9437 | 9452 | | |
9438 | 9453 | | |
9439 | 9454 | | |
| |||
9892 | 9907 | | |
9893 | 9908 | | |
9894 | 9909 | | |
| 9910 | + | |
9895 | 9911 | | |
9896 | 9912 | | |
9897 | 9913 | | |
| |||
10054 | 10070 | | |
10055 | 10071 | | |
10056 | 10072 | | |
| 10073 | + | |
10057 | 10074 | | |
10058 | 10075 | | |
10059 | 10076 | | |
| |||
10133 | 10150 | | |
10134 | 10151 | | |
10135 | 10152 | | |
| 10153 | + | |
10136 | 10154 | | |
10137 | 10155 | | |
10138 | 10156 | | |
| |||
10208 | 10226 | | |
10209 | 10227 | | |
10210 | 10228 | | |
| 10229 | + | |
10211 | 10230 | | |
10212 | 10231 | | |
10213 | 10232 | | |
| |||
0 commit comments