| β¦ | β¦ | @@ -59,6 +66,79 @@ export function AndroidScreenHeader(props: { | |
| 132 | + | accessibilityLabel={props.title} | |
| 133 | + | accessibilityHint="Shows more actions" | |
| 134 | + | > | |
| 135 | + | {titleLabel} | |
π High ui/AndroidScreenHeader.tsx:135
When titleMenu is supplied, the title and subtitle disappear, and the long-press target loses its content height. titleLabel contains Compose NativeText, Row, or Column nodes, but this Pressable is a React Native boundary, so the outer RNHostView does not give those nodes the immediate Compose parent they require. Render the label with React Native components inside the Pressable or add a properly sized nested Compose host.
π€ Copy this AI Prompt to have your agent fix this:
| 1 | In file @apps/mobile/src/components/ui/AndroidScreenHeader.tsx around line 135: |
| 2 | |
| 3 | When `titleMenu` is supplied, the title and subtitle disappear, and the long-press target loses its content height. `titleLabel` contains Compose `NativeText`, `Row`, or `Column` nodes, but this `Pressable` is a React Native boundary, so the outer `RNHostView` does not give those nodes the immediate Compose parent they require. Render the label with React Native components inside the `Pressable` or add a properly sized nested Compose host. |
Note
π€ Composer responding on behalf of wSedlacek
Fixed β title-menu label is now AppText inside Pressable so Compose nodes are not parented under an RN boundary.
Sorry, I'm unable to act on this request because you do not have permissions within this repository.
| β¦ | β¦ | @@ -108,6 +175,23 @@ export function AppBar(props: AppBarProps) { | |
| 191 | + | /> | |
| 192 | + | ), | |
| 193 | + | } | |
| 194 | + | : undefined), | |
π‘ Medium ui/AppBar.tsx:194
When titleMenu becomes absent, this omits headerTitle instead of clearing it, so merged workspace options and StackHeader retain the previous callback; the stale long-press menu can still invoke enabled actions after canOperate becomes false. Set headerTitle to undefined in the no-menu branch.
| 1 | - : undefined), |
| 2 | + : { headerTitle: undefined }), |
π€ Copy this AI Prompt to have your agent fix this:
| 1 | In file @apps/mobile/src/components/ui/AppBar.tsx around line 194: |
| 2 | |
| 3 | When `titleMenu` becomes absent, this omits `headerTitle` instead of clearing it, so merged workspace options and `StackHeader` retain the previous callback; the stale long-press menu can still invoke enabled actions after `canOperate` becomes false. Set `headerTitle` to `undefined` in the no-menu branch. |
Note
π€ Composer responding on behalf of wSedlacek
Fixed β the no-menu branch now sets headerTitle: undefined so StackHeader clears the prior long-press callback.
Sorry, I'm unable to act on this request because you do not have permissions within this repository.
| β¦ | β¦ | @@ -42,6 +44,60 @@ function mailMenuItems(items: ReadonlyArray<AppBarMenuItem>): MailMenu["items"] | |
| 61 | + | // UIKit centers the title view in the full bar. Reserve the heavier side on both sides. | |
| 62 | + | const leadingWidth = TITLE_BAR_MARGIN / 2 + props.leadingButtons * TITLE_BAR_BUTTON; | |
| 63 | + | const trailingWidth = TITLE_BAR_MARGIN / 2 + props.trailingButtons * TITLE_BAR_BUTTON; | |
| 64 | + | const width = Math.max(0, screenWidth - 2 * Math.max(leadingWidth, trailingWidth)); | |
π High ui/AppBar.tsx:64
With four trailing controls, AppBarTitleMenu gets zero width in a 375-point column, so the thread title disappears and its long-press actions are inaccessible. Line 64 doubles the wider trailing reservation even though the leading and trailing groups already occupy opposite sides; subtract their widths separately to preserve the available title area.
| 1 | const width = Math.max(0, screenWidth - leadingWidth - trailingWidth); |
π€ Copy this AI Prompt to have your agent fix this:
| 1 | In file @apps/mobile/src/components/ui/AppBar.tsx around line 64: |
| 2 | |
| 3 | With four trailing controls, `AppBarTitleMenu` gets zero width in a 375-point column, so the thread title disappears and its long-press actions are inaccessible. Line 64 doubles the wider trailing reservation even though the leading and trailing groups already occupy opposite sides; subtract their widths separately to preserve the available title area. |
Note
π€ Composer responding on behalf of wSedlacek
Fixed β title width is screenWidth - leadingWidth - trailingWidth with a one-button floor, so four trailing controls no longer collapse the long-press target to zero.
Sorry, I'm unable to act on this request because you do not have permissions within this repository.