Skip to content

fix(consumers): Slack DAO/Settings selection broken (invalid_blocks) → toggle lists#264

Merged
LeonardoVieira1630 merged 1 commit into
mainfrom
fix/slack-dao-settings-toggle-ui
Jun 19, 2026
Merged

fix(consumers): Slack DAO/Settings selection broken (invalid_blocks) → toggle lists#264
LeonardoVieira1630 merged 1 commit into
mainfrom
fix/slack-dao-settings-toggle-ui

Conversation

@LeonardoVieira1630

Copy link
Copy Markdown
Member

Problem

Clicking Manage DAOs or Settings in Slack failed with "Sorry, there was an error loading...".

Root cause: Slack's checkboxes element accepts a maximum of 10 options, and both lists had grown past it — 11 DAOs and 12 notification types. Slack rejected the whole message with invalid_blocks (HTTP 404 on the response_url POST), which the handler surfaced as the generic error. Telegram was unaffected (different platform, no such limit).

Fix

Replaced the checkbox UI with interactive toggle-button lists that save on each click and re-render the message in place:

  • DAOs (daoToggleList): a grid of toggle buttons — green + ✅ when tracked.
  • Settings: a list of rows, each notification type with an On/Off button on the right.

A Done button collapses the list into a summary; in the DAO onboarding flow it still advances to the wallet step (dao_confirm_subscribe kept). New action handlers: dao_toggle_*, settings_toggle_*.

Note (out of scope)

Wallet selection still uses checkboxes — same latent limit, but only breaks for a user with >10 wallets. Left as-is intentionally.

Testing

  • tsc --noEmit clean.
  • Payloads validated in Slack's Block Kit Builder.
  • Deployed to the Railway service via railway up and confirmed both flows in Slack: toggling saves + re-renders, no more invalid_blocks.

🤖 Generated with Claude Code

Slack rejects a `checkboxes` element with more than 10 options as
`invalid_blocks` (HTTP 404 on the response_url POST). The DAO list (11)
and notification Settings (12 types) had both grown past that cap, so
clicking "Manage DAOs" or "Settings" failed with "Sorry, there was an
error loading...". Telegram was unaffected (no such limit).

Replace both with per-item toggle buttons that save on click and
re-render the message in place:
- DAOs: a grid of toggle buttons (daoToggleList) — green + checkmark when tracked
- Settings: a list of rows, each notification type with an On/Off button accessory

A "Done" button collapses the list into a summary; for the DAO
onboarding flow it still advances to the wallet step.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Jun 19, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
flow-editor Ready Ready Preview, Comment Jun 19, 2026 11:16am
notification-system-dashboard Ready Ready Preview, Comment Jun 19, 2026 11:16am

Request Review

@LeonardoVieira1630 LeonardoVieira1630 merged commit 24ad764 into main Jun 19, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants