[Bug]: Android thread swipe-action labels are cut off with larger text/display sizes#27094

opened6d agobyGGammelSami

Area

apps/mobile, Android thread-list swipe actions

Summary

The labels below the Settle and Snooze buttons are vertically clipped when system text/display sizing is increased. User-supplied screenshots show only the upper portion of both words below the circular buttons. Clipping is also visible at the smaller of the two supplied sizes.

Steps to reproduce

  1. Open the official T3 Code Android app.
  2. In Android Settings, increase Display size and text, including font size. Exact scale factors were not captured.
  3. Return to the Chats list and partially swipe a thread left to expose Settle and Snooze.
  4. Inspect the labels beneath the circles.

Expected: the labels' complete glyphs remain visible. Actual: the lower portions are cut off. At the larger setting, the labels also crowd each other.

The screenshots are from a user report, not a reproduction on current main. App version and Android version are not available. Screenshots contain private thread/project names and are deliberately not published.

Source diagnosis

Current main at 08a463e29976617134de01e9341f898bc881d0eb still wraps the scalable AppText in a fixed height: 14 Animated.View in SwipeActionButton: https://github.com/pingdotgg/t3code/blob/08a463e29976617134de01e9341f898bc881d0eb/apps/mobile/src/features/home/thread-swipe-actions.tsx

AppText delegates to React Native Text without disabling font scaling. A fixed label container cannot grow to its scaled text's measured height. The shared component is used beyond this one Home row, including sidebar/archive actions.

Candidate correction, not yet device-verified

Replace the fixed height with a minimum and prevent shrinking:

diff
1- { height: 14, justifyContent: "center", paddingTop: props.compact ? 0 : 2 },
2+ { minHeight: 14, flexShrink: 0, justifyContent: "center", paddingTop: props.compact ? 0 : 2 },

This lets native text measurement determine the label height without capping accessibility scaling. It is a candidate for the vertical clipping only; horizontal crowding at larger sizes needs native verification too.

Verification and remaining work

  • Searched issues and PRs for Android font/display sizing, swipe labels, clipping, Settle and Snooze. No matching swipe-label fix found. #24925 addresses system font scaling more broadly.
  • The candidate patch applies to the fetched current source with git apply --check.
  • No native reproduction, after screenshot, typecheck or repository checks have been run. Direct repository cloning is blocked on this environment and T3's device_list returns "Agent device access is turned off for this environment."
  • Per CONTRIBUTING's UI evidence requirement, no unverified PR is being opened. Please reproduce at default and enlarged font/display sizes, including compact/sidebar/archive rows and both Android/iOS where applicable, before submitting the correction.

Reported and investigated with GPT-6.1 Sol, high reasoning effort, through the Codex harness in T3 Code.