fix(replay-vision): stop requiring a slack channel to save a summary - #69810
Conversation
IntegrationChoice auto-selects the team's Slack integration, and the "Pick a channel" validation then blocked saving — making delivery effectively mandatory even though deliveryless runs are fully supported (the digest hero and run history are the in-app surface). A selected integration without a channel now simply means no delivery, stated inline, and the section is labeled optional. Generated-By: PostHog Code Task-Id: 1e921538-d3ed-47f7-ade8-4e35b7b21b81
This stack of pull requests is managed by Graphite. Learn more about stacking. |
🤖 CI report
|
| Root | Eager (shipped) | Δ vs base | Budget |
|---|---|---|---|
entry (logged-out pages, app bootstrap)src/index.tsx |
1.20 MiB · 22 files | no change | ███░░░░░░░ 28.0% of 4.29 MiB |
authenticated shell (every logged-in page)src/scenes/AuthenticatedShell.tsx |
8.07 MiB · 2,956 files | no change | █████████░ 87.3% of 9.25 MiB |
🟢 node_modules/monaco-editor/ stays out of src/index.tsx
🟢 src/lib/components/ActivityLog/describers stays out of src/index.tsx
🟢 [object Object] stays out of src/index.tsx
🟢 [object Object] stays out of src/index.tsx
🟢 node_modules/monaco-editor/ stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/lib/components/ActivityLog/describers stays out of src/scenes/AuthenticatedShell.tsx
🟢 [object Object] stays out of src/scenes/AuthenticatedShell.tsx
🟢 [object Object] stays out of src/scenes/AuthenticatedShell.tsx
Largest files eagerly shipped from src/index.tsx
| Size | File |
|---|---|
| 126.8 KiB | ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js |
| 24.6 KiB | ../node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js |
| 6.3 KiB | ../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.production.min.js |
| 4.5 KiB | ../node_modules/.pnpm/@jspm+core@2.1.0/node_modules/@jspm/core/nodelibs/browser/process.js |
| 3.9 KiB | ../node_modules/.pnpm/scheduler@0.23.2/node_modules/scheduler/cjs/scheduler.production.min.js |
| 1.4 KiB | ../node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js |
| 1.3 KiB | src/RootErrorBoundary.tsx |
| 912 B | ../node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js |
| 789 B | src/scenes/ChunkLoadErrorBoundary.tsx |
| 668 B | src/index.tsx |
Largest files eagerly shipped from src/scenes/AuthenticatedShell.tsx
| Size | File |
|---|---|
| 277.3 KiB | ../node_modules/.pnpm/posthog-js@1.399.1/node_modules/posthog-js/dist/rrweb.js |
| 266.9 KiB | ../node_modules/.pnpm/@posthog+icons@0.37.4_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.js |
| 224.6 KiB | src/taxonomy/core-filter-definitions-by-group.json |
| 221.5 KiB | ../node_modules/.pnpm/posthog-js@1.399.1/node_modules/posthog-js/dist/module.js |
| 164.0 KiB | src/queries/validators.js |
| 154.0 KiB | ../node_modules/.pnpm/re2js@0.4.1/node_modules/re2js/build/index.esm.js |
| 126.8 KiB | ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js |
| 105.7 KiB | src/lib/api.ts |
| 93.3 KiB | ../node_modules/.pnpm/prosemirror-view@1.40.1/node_modules/prosemirror-view/dist/index.js |
| 90.5 KiB | ../node_modules/.pnpm/@tiptap+core@3.20.1_@tiptap+pm@3.20.1/node_modules/@tiptap/core/dist/index.js |
Posted automatically by check-eager-graph · sizes are eager output bytes (shipped, post-tree-shake) from the esbuild metafile · part of #32479
⚠️ Dist folder size — 🔺 +630 B (+0.0%)
Total size of the built frontend/dist folder (all assets), compared against the base branch.
Total: 1434.72 MiB · 🔺 +630 B (+0.0%)
🦔 Hogbox preview · ❌ build failedThe preview didn't come up for commit |
There was a problem hiding this comment.
Small, contained frontend fix removing an overly strict validation, matches PR description, author is on the owning team with STRONG familiarity, no risky territory touched.
- Author wrote 100% of the modified lines and has 33 merged PRs in these paths (familiarity STRONG).
- 👍 on the PR from hex-security-app[bot].
Gate mechanics and policy version
| Gate | Result | |
|---|---|---|
| prerequisites | ✓ | all clear |
| deny-list | ✓ | no deny categories matched |
| size | ✓ | 11L, 2F substantive — within ceiling |
| tier | ✓ | T1-agent / T1a-trivial (11L, 2F, single-area, fix) |
| stamphog 2.0.0b3 | .stamphog/policy.yml @ 56513d2 · reviewed head 389914d |

Problem
Saving a summary (including the built-in daily digest) demanded a Slack channel whenever the team has a Slack integration:
IntegrationChoiceauto-selects the team's first integration on mount, and the editor's "Pick a channel" validation then blocked Save. Delivery was designed to be optional — deliveryless runs are fully supported and surface on the scanner page's digest hero and in run history.Changes
buildActionBodyalready omitsdelivery_configin that case).How did you test this code?
buildActionBodytests.Automatic notifications
Docs update
N/A — behind the
replay-vision-actionsinternal flag.🤖 Agent context
Autonomy: Human-driven (agent-assisted)
Authored with PostHog Code (Claude), directed by Kim after hitting the blocked save while testing digests locally. Root cause traced to
IntegrationChoice's auto-select-first-integration behavior colliding with our channel-required validation.Created with PostHog Code