Skip to content

fix: stop Slack hiding pairing chips behind "+N more" - #568

Merged
kylehoehns merged 1 commit into
mainfrom
fix/pairing-chip-overflow
Jul 14, 2026
Merged

fix: stop Slack hiding pairing chips behind "+N more"#568
kylehoehns merged 1 commit into
mainfrom
fix/pairing-chip-overflow

Conversation

@kylehoehns

Copy link
Copy Markdown
Contributor

Follow-up to #567, caught in the test env.

The problem

Slack's client renders only the first five buttons of an actions block and collapses the rest into a + N more overflow — regardless of the API's 25-element limit, which is what the original picker was built against.

A day of 8 AM–5 PM is seven chips, so two were hidden. Worse: because every tap rebuilds the block, a chip the teammate had just selected slid straight back under the fold.

Wed, Jul 15
[ 8 AM  ]  [ 9 AM  ]
[ 10 AM ]  [ 11 AM ]
[ 12 PM ]  [ + 2 more ]   ← 1 PM and 2 PM unreachable

The fix

Chunk each day into actions blocks of five, so every time stays visible.

Worst realistic case — seven days of 8 AM–7 PM, 63 chips — is 24 blocks, well inside Slack's 100-block modal cap. A test pins both the five-per-block ceiling and the block-count headroom.

Note on layout

This makes every chip visible and clickable, which was the actual bug. It does not produce a tidy grid: Slack packs buttons two-per-row at modal width, so a nine-chip day renders as 5 (three ragged rows) then 4, with a small seam between the two blocks. Slack gives no column control over buttons.

If the raggedness proves annoying, the alternative is a checkboxes element per day — a clean vertical list, and because checkboxes live in an input block Slack tracks the state natively, which would also eliminate the per-tap round trip, the repaint lag, and the hash conflicts. The cost is that it looks like checkboxes rather than chips. Not doing that here without a call on the trade.

Testing

pnpm verify passes — 265 tests.

🤖 Generated with Claude Code

Slack's client renders only the first five buttons of an actions block and
collapses the rest into a "+N more" overflow, whatever the API's 25-element limit
allows. A day of 8 AM-5 PM is seven chips, so two were hidden -- and because a tap
rebuilds the block, a chip the teammate had just selected slid straight back under
the fold.

Chunk each day into actions blocks of five so every time stays visible. Worst case
(seven days of 8 AM-7 PM) is 24 blocks, well inside the 100-block modal cap.
@kylehoehns
kylehoehns merged commit 79c8474 into main Jul 14, 2026
1 check passed
@kylehoehns
kylehoehns deleted the fix/pairing-chip-overflow branch July 14, 2026 18:18
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.

1 participant