Unified · Split
| @@ -746,49 +746,54 @@ export const ThreadListV2Row = memo(function ThreadListV2Row(props: { · 745 unmodified lines | ||
| 746 | 746 | ) : thread.branch || props.environmentLabel ? ( |
| 747 | 747 | /* "branch · machine" share one truncating line. The machine sits |
| 748 | 748 | 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 | + /> | |
| 778 | 792 | ) : null} |
| 779 | − </Text> | |
| 793 | + </View> | |
| 780 | 794 | ) : ( |
| 781 | 795 | <View className="flex-1" /> |
| 782 | 796 | )} |
| 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} | |
| 792 | 797 | {pr ? ( |
| 793 | 798 | <Text |
| 794 | 799 | accessibilityLabel={pr.accessibilityLabel} |