From b484f1eb1930664c6f2b5f050edcc4b19e4f7c70 Mon Sep 17 00:00:00 2001 From: Julius Marminge Date: Thu, 12 Nov 2026 09:18:17 +0000 Subject: [PATCH 1/2] fix(mobile): long thread titles in the @ picker keep their Thread marker The mention row title had no width cap, so a long thread title pushed the trailing 'Thread' description off the row. Cap the title at 45% when a description follows, as the web menu and mobile command palette do. AI-assisted; verified with the tests and tools listed above. --- .../src/features/threads/ComposerCommandPopover.tsx | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/apps/mobile/src/features/threads/ComposerCommandPopover.tsx b/apps/mobile/src/features/threads/ComposerCommandPopover.tsx index f53541ceeaaef..28f4c22d05f85 100644 --- a/apps/mobile/src/features/threads/ComposerCommandPopover.tsx +++ b/apps/mobile/src/features/threads/ComposerCommandPopover.tsx @@ -20,6 +20,7 @@ import { ENVIRONMENT_MACHINE_SYMBOLS } from "../../components/EnvironmentMachine import { GlassSurface } from "../../components/ui/GlassSurface"; import { PierreEntryIcon } from "../../components/PierreEntryIcon"; import { ProviderIcon } from "../../components/ProviderIcon"; +import { cn } from "../../lib/cn"; import type { ModelOption } from "../../lib/modelOptions"; import { pullRequestStatus } from "../pull-requests/pullRequestStatus"; export type ComposerCommandItem = @@ -207,7 +208,13 @@ const CommandRow = memo(function CommandRow(props: { type="monochrome" /> ) : null} - + {props.isSlashSkill && props.item.type === "skill" ? ( <> skill: From bbfa9c44a5689c08c389d6328717fc9e2a499d85 Mon Sep 17 00:00:00 2001 From: Julius Marminge Date: Thu, 12 Nov 2026 09:25:11 +0000 Subject: [PATCH 2/2] fix(mobile): cap only thread titles and word the @ empty state for mentions Limit the 45% title cap to thread rows so file, model and skill names keep their full width, and say 'No matching mentions.' when an @ search that also covers threads finds nothing. AI-assisted; verified with the tests and tools listed above. --- apps/mobile/src/features/threads/ComposerCommandPopover.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/mobile/src/features/threads/ComposerCommandPopover.tsx b/apps/mobile/src/features/threads/ComposerCommandPopover.tsx index 28f4c22d05f85..13f0bbde955ee 100644 --- a/apps/mobile/src/features/threads/ComposerCommandPopover.tsx +++ b/apps/mobile/src/features/threads/ComposerCommandPopover.tsx @@ -163,7 +163,7 @@ function emptyText(triggerKind: ComposerTriggerKind | null, isLoading: boolean): case "pull-request": return "No matching pull requests."; case "path": - return "No matching files or folders."; + return "No matching mentions."; case "skill": return "No skills found."; case "slash-command": @@ -211,7 +211,7 @@ const CommandRow = memo(function CommandRow(props: {