Skip to content

feat(webhook): migrate Slack webhook payload builder to CategorizedSummaryVisitor (#2622) - #2636

Merged
jcscottiii merged 2 commits into
mainfrom
feat/all-saved-search-slack-visitor-impl
Jul 30, 2026
Merged

feat(webhook): migrate Slack webhook payload builder to CategorizedSummaryVisitor (#2622)#2636
jcscottiii merged 2 commits into
mainfrom
feat/all-saved-search-slack-visitor-impl

Conversation

@jcscottiii

@jcscottiii jcscottiii commented Jul 21, 2026

Copy link
Copy Markdown
Collaborator

Migrates the Slack webhook payload builder to the CategorizedSummaryVisitor interface and adds missing feature removal and deletion notification sections.

  • Implements CategorizedSummaryVisitor on slackPayloadBuilder in workers/webhook/pkg/webhook.
  • Adds appendRemovedFeatures and appendDeletedFeatures block builders to Slack payload construction.
  • Adds nil pointer guards for optional Split, Moved, and Change.From.Version fields.
  • Adds TestSlackPayloadBuilder_FeatureCategories, TestSlackPayloadBuilder_QueryErrors_RenderMessage, TestSlackPayloadBuilder_TriggerFiltering, TestSlackPayloadBuilder_NilPointerGuards, TestSlackPayloadBuilder_CombinedErrorsAndFeatures, and TestSlackPayloadBuilder_Sanitization unit tests.
  • Adds slack_payload_combined_errors_and_features.golden.json golden snapshot file and test.

Fixes #2622 (PR 4/5)

CONV=f70d8c59-6f49-4a69-bb74-5643e908f5b1
TAG=agy

@jcscottiii
jcscottiii force-pushed the feat/all-saved-search-email-visitor-impl branch from 1d9efae to 39bcf5b Compare July 21, 2026 20:05
@jcscottiii
jcscottiii force-pushed the feat/all-saved-search-slack-visitor-impl branch from ed6a10e to 00fb6d6 Compare July 21, 2026 20:05
@jcscottiii
jcscottiii force-pushed the feat/all-saved-search-email-visitor-impl branch from 39bcf5b to 3089994 Compare July 21, 2026 20:10
@jcscottiii
jcscottiii force-pushed the feat/all-saved-search-slack-visitor-impl branch 2 times, most recently from 4637948 to af63999 Compare July 21, 2026 21:10
@jcscottiii
jcscottiii force-pushed the feat/all-saved-search-email-visitor-impl branch from 3089994 to c868c76 Compare July 21, 2026 21:10
@jcscottiii
jcscottiii force-pushed the feat/all-saved-search-slack-visitor-impl branch from af63999 to dc5b1e8 Compare July 21, 2026 21:43
@jcscottiii
jcscottiii force-pushed the feat/all-saved-search-email-visitor-impl branch from c868c76 to b349e90 Compare July 21, 2026 21:43
@jcscottiii
jcscottiii force-pushed the feat/all-saved-search-slack-visitor-impl branch from dc5b1e8 to ea25f1a Compare July 22, 2026 14:01
@jcscottiii
jcscottiii force-pushed the feat/all-saved-search-email-visitor-impl branch 2 times, most recently from 0b5de95 to b134ee3 Compare July 22, 2026 14:58
@jcscottiii
jcscottiii force-pushed the feat/all-saved-search-slack-visitor-impl branch from ea25f1a to f067369 Compare July 22, 2026 14:58
@jcscottiii
jcscottiii force-pushed the feat/all-saved-search-email-visitor-impl branch from b134ee3 to 6b4bb4e Compare July 29, 2026 18:30
@jcscottiii
jcscottiii force-pushed the feat/all-saved-search-slack-visitor-impl branch from f067369 to 2bc1c07 Compare July 29, 2026 18:32
@jcscottiii
jcscottiii force-pushed the feat/all-saved-search-email-visitor-impl branch from 6b4bb4e to 09129dd Compare July 29, 2026 19:23
@jcscottiii
jcscottiii force-pushed the feat/all-saved-search-slack-visitor-impl branch from 2bc1c07 to df2f585 Compare July 29, 2026 19:24
Comment thread workers/webhook/pkg/webhook/slack.go
@jcscottiii
jcscottiii force-pushed the feat/all-saved-search-email-visitor-impl branch from 09129dd to 79835df Compare July 30, 2026 13:29
Base automatically changed from feat/all-saved-search-email-visitor-impl to main July 30, 2026 15:02
…mmaryVisitor (#2622)

Migrate the Slack webhook payload builder to the CategorizedSummaryVisitor interface and fix dropped feature notification sections.

- Implement CategorizedSummaryVisitor on slackPayloadBuilder in workers/webhook/pkg/webhook, dispatching categorized highlights via EventSummary.Accept().
- Add appendRemovedFeatures and appendDeletedFeatures block builders to Slack payload construction to render missing feature removal and deletion notifications.
- Add nil pointer guards in slack.go for Split, Moved, and optional Change.From.Version fields to prevent panic on partial event payloads.
- Update golden JSON payload snapshots and unit tests to verify full category block rendering.

CONV=f70d8c59-6f49-4a69-bb74-5643e908f5b1
TAG=agy
@jcscottiii
jcscottiii force-pushed the feat/all-saved-search-slack-visitor-impl branch from df2f585 to 7c94da5 Compare July 30, 2026 15:07
@jcscottiii
jcscottiii enabled auto-merge July 30, 2026 15:34
@jcscottiii
jcscottiii added this pull request to the merge queue Jul 30, 2026
Merged via the queue into main with commit 3ebce71 Jul 30, 2026
13 checks passed
@jcscottiii
jcscottiii deleted the feat/all-saved-search-slack-visitor-impl branch July 30, 2026 16:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[ENHANCEMENT] Notification Pipeline Architecture: Category Renderer Visitor Pattern & Control-Plane Event Separation

2 participants