authorgravatar for me@t3.ggTheo Browne <me@t3.gg> 2026-10-08 02:13:02-07:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-10-08 02:13:02-07:00
log2ea7684d563fe0ebbe9144dbfd6b0eade7eaf49a
tree6f1117ee2e92dbe08f48b1b217f6844609e7db77
parent0647c481017f25ddff2ec1dff68ef3944489b6db
signature Signed by PGP key B5690EEEBB952194

fix(clients): copy button is back in its old spot, before fork (#17137)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

2 files changed, 10 insertions(+), 10 deletions(-)

apps/mobile/src/features/threads/ThreadFeed.tsx+7-7
...@@ -1939,6 +1939,13 @@ function renderFeedEntry(...@@ -1939,6 +1939,13 @@ function renderFeedEntry(
1939 })}1939 })}
1940 {showAssistantMeta ? (1940 {showAssistantMeta ? (
1941 <View className="mt-1 flex-row items-center gap-1">1941 <View className="mt-1 flex-row items-center gap-1">
1942 <CopyTextButton
1943 accessibilityLabel="Copy message"
1944 text={renderedText}
1945 tintColor={iconSubtleColor}
1946 buttonSize={28}
1947 iconSize={13}
1948 />
1942 {message.projectedItem ? (1949 {message.projectedItem ? (
1943 <AssistantForkButton1950 <AssistantForkButton
1944 environmentId={props.environmentId}1951 environmentId={props.environmentId}
...@@ -1947,13 +1954,6 @@ function renderFeedEntry(...@@ -1947,13 +1954,6 @@ function renderFeedEntry(
1947 sourceTitle={props.threadTitle}1954 sourceTitle={props.threadTitle}
1948 />1955 />
1949 ) : null}1956 ) : null}
1950 <CopyTextButton
1951 accessibilityLabel="Copy message"
1952 text={renderedText}
1953 tintColor={iconSubtleColor}
1954 buttonSize={28}
1955 iconSize={13}
1956 />
1957 <Text className="font-t3-medium text-xs tabular-nums text-foreground-secondary">1957 <Text className="font-t3-medium text-xs tabular-nums text-foreground-secondary">
1958 {timestampLabel}1958 {timestampLabel}
1959 </Text>1959 </Text>
apps/web/src/components/chat/MessagesTimeline.tsx+3-3
...@@ -2700,9 +2700,6 @@ function AssistantMessageMeta({...@@ -2700,9 +2700,6 @@ function AssistantMessageMeta({
2700 className,2700 className,
2701 )}2701 )}
2702 >2702 >
2703 {projectedItem?.item.type === "assistant_message" ? (
2704 <AssistantForkButton projectedItem={projectedItem} />
2705 ) : null}
2706 {projectedItem && projectedItem.item.status !== "completed" ? (2703 {projectedItem && projectedItem.item.status !== "completed" ? (
2707 <span className="rounded-full border border-border/70 px-1.5 py-0.5 font-mono text-3xs text-muted-foreground">2704 <span className="rounded-full border border-border/70 px-1.5 py-0.5 font-mono text-3xs text-muted-foreground">
2708 {projectedItem.item.status}2705 {projectedItem.item.status}
...@@ -2713,6 +2710,9 @@ function AssistantMessageMeta({...@@ -2713,6 +2710,9 @@ function AssistantMessageMeta({
2713 showCopyButton={showCopyButton}2710 showCopyButton={showCopyButton}
2714 streaming={copyStreaming}2711 streaming={copyStreaming}
2715 />2712 />
2713 {projectedItem?.item.type === "assistant_message" ? (
2714 <AssistantForkButton projectedItem={projectedItem} />
2715 ) : null}
2716 {!message.streaming && (2716 {!message.streaming && (
2717 <Tooltip>2717 <Tooltip>
2718 <TooltipTrigger render={<p className="text-muted-foreground text-xs tabular-nums" />}>2718 <TooltipTrigger render={<p className="text-muted-foreground text-xs tabular-nums" />}>