Add experimental composer toggle for image grid/carousel layout#11067
Add experimental composer toggle for image grid/carousel layout#11067mozzius wants to merge 5 commits into
Conversation
Behind the new `composer:image_layout_toggle:enable` feature gate, show a pill button in the composer toolbar (next to the labels button) when a post has 2-4 images. The button switches the draft between the legacy `app.bsky.embed.images` shape (grid) and the newer `app.bsky.embed.gallery` shape (carousel, previously only used for 5+ images). Gallery embeds now always render with the carousel layout so the choice is reflected for viewers. The button is wrapped in a one-time tooltip nudge, following the same pattern as the threadgate button, and emits a `composer:imageLayout:toggle` metric. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SvDXhHEBCjAfokEFK8pHt8
The embed type now decides the image layout everywhere: gallery embeds render as the carousel, legacy `app.bsky.embed.images` embeds render as the grid. This also means legacy image embeds never need the gallery offset styles. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SvDXhHEBCjAfokEFK8pHt8
|
Claude finished @mozzius's task in 3m 9s —— View job PR Review
Reviewed the composer state machine, the toggle button, the two viewer render paths ( Non-blocking: carousel choice is lost on draft save/restore
Scenario: a user with the gate on composes 3 images, switches to carousel, saves the draft, then reopens it. The draft restores as Things I checked that are fine
|
|
Adds a button to toggle between grid/carousel display for 2-4 images. Has an introductory tooltip, and persists to local storage.
Simulator.Screen.Recording.-.iPhone.17.-.2026-07-06.at.17.32.54.mov
It's behind a
composer:image_layout_toggle:enableflag### Test plan