fix(github): avoid review webhook payload coalescing - #3220
Conversation
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
|
Warning 🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 ⏸️ Gittensory review result - manual review recommendedReview updated: 2026-07-04 20:39:31 UTC
⏸️ Suggested Action - Manual Review Review summary Nits — 4 non-blocking
Review context
Contributor next steps
Signal definitions
🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by Gittensory, a quiet PR intelligence layer for OSS maintainers.
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3220 +/- ##
=======================================
Coverage 94.73% 94.73%
=======================================
Files 270 270
Lines 29714 29714
Branches 10840 10840
=======================================
Hits 28151 28151
Misses 917 917
Partials 646 646
🚀 New features to boost your workflow:
|
Motivation
pull_request_reviewpayload via coalescing.Description
pull_request_reviewdeliveries by removing them from the review-surface coalescing family so they do not produce a coalesce key and therefore cannot be overwritten by later events.pull_request_review_commentandpull_request_review_thread, but namespace their coalesce keys by event family (github-webhook:<eventName>:...) so comment/thread deliveries only collide with the same family and cannot replace review deliveries. (Seesrc/github/webhook-coalesce.ts.)test/unit/github-webhook-coalesce.test.tsto assert thatpull_request_reviewevents are not coalesced, that comment/thread events still coalesce within their own families, and that distinct review-surface families remain separate.Testing
npx vitest run test/unit/github-webhook-coalesce.test.ts; the unit test file passed (all tests green).npx vitest run --coverage --run test/unit/github-webhook-coalesce.test.ts; the test passed but the coverage run failed global coverage thresholds (tool-level error) because only a single test file was executed against a repo-wide threshold.npm run test:coverage; the full test suite failed due to unrelated timeouts/failures intest/unit/backfill.test.ts(existing test-time issues), not because of the webhook coalescing unit. All coalescing-related unit assertions passed.Codex Task