authorgravatar for julius0216@outlook.comJulius Marminge <julius0216@outlook.com> 2026-09-03 15:56:35-07:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-09-03 15:56:35-07:00
log409bc4fa6f3bb9869052bdba4244b30606457f20
tree349867abd3853dbd3ec1080cfff12f33a9dbeadf
parent12e8997e58dbca8f1bd8c63b67d662eb69cf0e0d
signature Signed by PGP key B5690EEEBB952194

fix(mobile): keep the machine glyph next to the environment label (#9486)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

1 files changed, 44 insertions(+), 39 deletions(-)

apps/mobile/src/features/threads/thread-list-v2-items.tsx+44-39
......@@ -746,49 +746,54 @@ export const ThreadListV2Row = memo(function ThreadListV2Row(props: {
746746 ) : thread.branch || props.environmentLabel ? (
747747 /* "branch · machine" share one truncating line. The machine sits
748748 last so a tight fit cuts the repetitive label, not the branch —
749 and machine-only fills the row for non-git projects. */
750 <Text
751 className={cn(
752 "flex-1 text-xs",
753 selected ? "text-user-bubble-foreground-muted" : "text-foreground-muted",
754 )}
755 numberOfLines={1}
756 >
757 {thread.branch ? (
758 <Text
759 className={cn(
760 "text-xs",
761 selected ? "text-user-bubble-foreground-muted" : "text-foreground-muted",
762 )}
763 style={{ fontFamily: MONO_FONT }}
764 >
765 {thread.branch}
766 </Text>
767 ) : null}
768 {thread.branch && props.environmentLabel ? " · " : null}
769 {props.environmentLabel ? (
770 <Text
771 className={cn(
772 "text-xs",
773 selected ? "text-user-bubble-foreground-muted" : "text-foreground-tertiary",
774 )}
775 >
776 {props.environmentLabel}
777 </Text>
749 and machine-only fills the row for non-git projects. The glyph
750 hugs the label (it cannot live inside the Text without breaking
751 truncation), and the wrapper takes the slack so the trailers
752 stay pinned right. */
753 <View className="min-w-0 flex-1 flex-row items-center gap-1">
754 <Text
755 className={cn(
756 "shrink text-xs",
757 selected ? "text-user-bubble-foreground-muted" : "text-foreground-muted",
758 )}
759 numberOfLines={1}
760 >
761 {thread.branch ? (
762 <Text
763 className={cn(
764 "text-xs",
765 selected ? "text-user-bubble-foreground-muted" : "text-foreground-muted",
766 )}
767 style={{ fontFamily: MONO_FONT }}
768 >
769 {thread.branch}
770 </Text>
771 ) : null}
772 {thread.branch && props.environmentLabel ? " · " : null}
773 {props.environmentLabel ? (
774 <Text
775 className={cn(
776 "text-xs",
777 selected ? "text-user-bubble-foreground-muted" : "text-foreground-tertiary",
778 )}
779 >
780 {props.environmentLabel}
781 </Text>
782 ) : null}
783 </Text>
784 {props.environmentLabel && props.environmentMachine ? (
785 <EnvironmentMachineSymbol
786 kind={props.environmentMachine}
787 size={11}
788 tintColorClassName={
789 selected ? "accent-user-bubble-foreground-muted" : "accent-foreground-tertiary"
790 }
791 />
778792 ) : null}
779 </Text>
793 </View>
780794 ) : (
781795 <View className="flex-1" />
782796 )}
783 {status !== "failed" && props.environmentLabel && props.environmentMachine ? (
784 <EnvironmentMachineSymbol
785 kind={props.environmentMachine}
786 size={11}
787 tintColorClassName={
788 selected ? "accent-user-bubble-foreground-muted" : "accent-foreground-tertiary"
789 }
790 />
791 ) : null}
792797 {pr ? (
793798 <Text
794799 accessibilityLabel={pr.accessibilityLabel}