diff --git a/apps/web/src/components/chat/QueuedRunsControl.tsx b/apps/web/src/components/chat/QueuedRunsControl.tsx
index 763d3ab435e00..c191e1397f228 100644
--- a/apps/web/src/components/chat/QueuedRunsControl.tsx
+++ b/apps/web/src/components/chat/QueuedRunsControl.tsx
@@ -56,6 +56,42 @@ function queuedImageResources(projection: ThreadQueueProjection | undefined) {
);
}
+function QueuedMessageText({
+ text,
+ guestName,
+ compact,
+ position,
+}: {
+ readonly text: string;
+ readonly guestName: string | undefined;
+ readonly compact: boolean;
+ readonly position: number;
+}) {
+ const content = (
+ <>
+ {guestName === undefined ? null : {guestName} }
+ {text}
+ >
+ );
+ if (!compact) return
{content}
;
+ return (
+
+
+ {position}.
+
+ {content}
+
+ Hide full message
+
+
+ {content}
+
+ );
+}
+
export function QueuedRunsControl({
ref,
...props
@@ -207,6 +243,7 @@ export function QueuedRunsControl({
};
const collapsible = items.length > QUEUE_VISIBLE_ROWS;
+ const compact = collapsible && showAll;
const visibleItems = collapsible && !showAll ? items.slice(0, QUEUE_VISIBLE_ROWS - 1) : items;
return (
@@ -218,7 +255,13 @@ export function QueuedRunsControl({
{items.length} queued
-
+
{visibleItems.map((item, position) => {
const previewText = assistantCitationsToPlainText(
replaceComposerContextReferences(item.text, (reference) =>
@@ -238,7 +281,8 @@ export function QueuedRunsControl({
{/* Dashed and unfilled: a turn that has not been sent yet. */}
) : null}
- {/* In full, like a sent turn: a queued message is read before it is sent. */}
{previewText ? (
-
- {item.guestName === undefined ? null : (
- {item.guestName}
- )}
- {previewText}
-
+
) : null}