feat(review): deliver the maintainer recap digest to Slack (#2246) - #4217
Conversation
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
|
Warning 🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 ⏸️ Gittensory review result - manual review recommendedReview updated: 2026-07-08 17:23:38 UTC
⏸️ Suggested Action - Manual Review
Review summary Nits — 6 non-blocking
Linked issue satisfactionAddressed 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 #4217 +/- ##
=======================================
Coverage 93.75% 93.76%
=======================================
Files 389 389
Lines 36499 36515 +16
Branches 13376 13379 +3
=======================================
+ Hits 34221 34237 +16
Misses 1621 1621
Partials 657 657
🚀 New features to boost your workflow:
|
Summary
deliverRecapToSlack(env, recap)insrc/services/review-recap.ts— the Slack sibling of theexisting
sendReviewRecapToDiscord. Posts the review recap as a Block Kit mrkdwn section toSLACK_WEBHOOK_URL, reusingisValidSlackWebhook+escapeSlackMrkdwnTextfromnotify-discord.ts(now exported) instead of re-implementing webhook validation/escaping a second time.
sendReviewRecapToDiscord: denies withmissing_webhook/invalid_webhookwhen unset/invalid, recordscompleted/denied/erroraudit events underreview_recap_notification.slack, and degrades to a recordederrorresult on a thrown fetch or anon-2xx webhook response instead of throwing.
test/unit/review-recap.test.tscovering every branch: configured+sent, mrkdwnescaping (
&,<,>), missing webhook, invalid webhook, thrown fetch, and non-2xx response.This is the Slack-channel prerequisite named in #2252 ("lands after the builder/formatter/delivery
bounties") — that end-to-end fan-out test cannot be written until both channels' delivery functions
exist. No fan-out orchestrator is added here; wiring both channels together is out of scope for this PR.
Closes #2246
Scope
deliverRecapToSlack— Slack Block Kit delivery for the recap, sibling ofsendReviewRecapToDiscordisValidSlackWebhook+escapeSlackMrkdwnTextfromnotify-discord.tsfor reuseChanged files
src/services/notify-discord.tsisValidSlackWebhookandescapeSlackMrkdwnTextsrc/services/review-recap.tsdeliverRecapToSlacktest/unit/review-recap.test.tsdeliverRecapToSlackbranch coverage testsCodecov
Target
codecov/patch99% (branch-counted,src/**only). Verified locally with a scoped coveragerun on the two changed
src/**files:Validation