diff --git a/desktop/src/features/messages/ui/ChannelIntroBlock.tsx b/desktop/src/features/messages/ui/ChannelIntroBlock.tsx index 98300acb3e2..76207cfd081 100644 --- a/desktop/src/features/messages/ui/ChannelIntroBlock.tsx +++ b/desktop/src/features/messages/ui/ChannelIntroBlock.tsx @@ -63,7 +63,10 @@ export function ChannelIntroBlock({

) : null} {intro.actions?.length ? ( -
+
{intro.actions.map((action) => { const hasDescription = Boolean(action.description); diff --git a/desktop/tests/e2e/channels.spec.ts b/desktop/tests/e2e/channels.spec.ts index 7da20334f30..21c2dcde551 100644 --- a/desktop/tests/e2e/channels.spec.ts +++ b/desktop/tests/e2e/channels.spec.ts @@ -1507,6 +1507,11 @@ test("empty channel shows intro actions", async ({ page }) => { await expect(page.getByTestId("welcome-composer-guide-banner")).toHaveCount( 0, ); + // Horizontal scrolling creates a clipping context. The padded, offset row + // leaves space for the cards' focus rings without changing their alignment. + const introActions = page.getByTestId("message-channel-intro-actions"); + await expect(introActions).toHaveCSS("padding-top", "4px"); + await expect(introActions).toHaveCSS("padding-bottom", "4px"); await expectIntroActionCardLayout(page, "channel-intro-action-create-agent"); await expectIntroActionsShareRow(page, [ "channel-intro-action-create-agent",