fix: stop Slack hiding pairing chips behind "+N more" - #568
Merged
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #567, caught in the test env.
The problem
Slack's client renders only the first five buttons of an
actionsblock and collapses the rest into a+ N moreoverflow — 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.
The fix
Chunk each day into
actionsblocks 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
checkboxeselement per day — a clean vertical list, and because checkboxes live in aninputblock Slack tracks the state natively, which would also eliminate the per-tap round trip, the repaint lag, and thehashconflicts. The cost is that it looks like checkboxes rather than chips. Not doing that here without a call on the trade.Testing
pnpm verifypasses — 265 tests.🤖 Generated with Claude Code