diff options
| author | Adam <[email protected]> | 2026-03-12 15:17:36 -0500 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-03-12 20:17:36 +0000 |
| commit | 42a5af6c8f6998277cf69270ad12e2a64edac5d3 (patch) | |
| tree | eca5dff51dc694cce1e783425fc11b4bea1e6a12 /packages/ui/src/components | |
| parent | f0542fae7a917fabb9e943c3112a3d0b4b03302d (diff) | |
| download | opencode-42a5af6c8f6998277cf69270ad12e2a64edac5d3.tar.gz opencode-42a5af6c8f6998277cf69270ad12e2a64edac5d3.zip | |
feat(app): follow-up behavior (#17233)
Diffstat (limited to 'packages/ui/src/components')
| -rw-r--r-- | packages/ui/src/components/message-part.css | 17 | ||||
| -rw-r--r-- | packages/ui/src/components/message-part.tsx | 11 | ||||
| -rw-r--r-- | packages/ui/src/components/session-turn.tsx | 22 |
3 files changed, 3 insertions, 47 deletions
diff --git a/packages/ui/src/components/message-part.css b/packages/ui/src/components/message-part.css index 1052a591c..3648d5079 100644 --- a/packages/ui/src/components/message-part.css +++ b/packages/ui/src/components/message-part.css @@ -54,10 +54,6 @@ border-color: var(--border-strong-base); } - &[data-queued] { - opacity: 0.6; - } - &[data-type="image"] { width: 48px; height: 48px; @@ -111,11 +107,6 @@ border: 1px solid var(--border-weak-base); padding: 8px 12px; border-radius: 6px; - transition: opacity 0.3s ease; - - &[data-queued] { - opacity: 0.6; - } [data-highlight="file"] { color: var(--syntax-property); @@ -128,14 +119,6 @@ max-width: 100%; } - [data-slot="user-message-queued-indicator"] { - margin-top: 6px; - margin-right: 2px; - font-size: var(--font-size-small); - color: var(--text-weak); - user-select: none; - } - [data-slot="user-message-copy-wrapper"] { min-height: 24px; margin-top: 4px; diff --git a/packages/ui/src/components/message-part.tsx b/packages/ui/src/components/message-part.tsx index 1a50ed48c..5a0f022ea 100644 --- a/packages/ui/src/components/message-part.tsx +++ b/packages/ui/src/components/message-part.tsx @@ -132,7 +132,6 @@ export interface MessageProps { actions?: UserActions showAssistantCopyPartID?: string | null interrupted?: boolean - queued?: boolean showReasoningSummaries?: boolean } @@ -686,7 +685,6 @@ export function Message(props: MessageProps) { parts={props.parts} actions={props.actions} interrupted={props.interrupted} - queued={props.queued} /> )} </Match> @@ -883,7 +881,6 @@ export function UserMessageDisplay(props: { parts: PartType[] actions?: UserActions interrupted?: boolean - queued?: boolean }) { const data = useData() const dialog = useDialog() @@ -981,7 +978,6 @@ export function UserMessageDisplay(props: { <div data-slot="user-message-attachment" data-type={file.mime.startsWith("image/") ? "image" : "file"} - data-queued={props.queued ? "" : undefined} onClick={() => { if (file.mime.startsWith("image/") && file.url) { openImagePreview(file.url, file.filename) @@ -1010,14 +1006,9 @@ export function UserMessageDisplay(props: { <Show when={text()}> <> <div data-slot="user-message-body"> - <div data-slot="user-message-text" data-queued={props.queued ? "" : undefined}> + <div data-slot="user-message-text"> <HighlightedText text={text()} references={inlineFiles()} agents={agents()} /> </div> - <Show when={props.queued}> - <div data-slot="user-message-queued-indicator"> - <TextShimmer text={i18n.t("ui.message.queued")} /> - </div> - </Show> </div> <div data-slot="user-message-copy-wrapper" data-interrupted={props.interrupted ? "" : undefined}> <Show when={metaHead() || metaTail()}> diff --git a/packages/ui/src/components/session-turn.tsx b/packages/ui/src/components/session-turn.tsx index fda02cab4..8783e8957 100644 --- a/packages/ui/src/components/session-turn.tsx +++ b/packages/ui/src/components/session-turn.tsx @@ -146,7 +146,6 @@ export function SessionTurn( shellToolDefaultOpen?: boolean editToolDefaultOpen?: boolean active?: boolean - queued?: boolean status?: SessionStatus onUserInteracted?: () => void classes?: { @@ -193,7 +192,7 @@ export function SessionTurn( }) const pending = createMemo(() => { - if (typeof props.active === "boolean" && typeof props.queued === "boolean") return + if (typeof props.active === "boolean") return const messages = allMessages() ?? emptyMessages return messages.findLast( (item): item is AssistantMessage => item.role === "assistant" && typeof item.time.completed !== "number", @@ -218,16 +217,6 @@ export function SessionTurn( return parent.id === msg.id }) - const queued = createMemo(() => { - if (typeof props.queued === "boolean") return props.queued - const id = message()?.id - if (!id) return false - if (!pendingUser()) return false - const item = pending() - if (!item) return false - return id > item.id - }) - const parts = createMemo(() => { const msg = message() if (!msg) return emptyParts @@ -367,7 +356,6 @@ export function SessionTurn( ) const showThinking = createMemo(() => { if (!working() || !!error()) return false - if (queued()) return false if (status().type === "retry") return false if (showReasoningSummaries()) return assistantVisible() === 0 return true @@ -396,13 +384,7 @@ export function SessionTurn( class={props.classes?.container} > <div data-slot="session-turn-message-content" aria-live="off"> - <Message - message={message()!} - parts={parts()} - actions={props.actions} - interrupted={interrupted()} - queued={queued()} - /> + <Message message={message()!} parts={parts()} actions={props.actions} interrupted={interrupted()} /> </div> <Show when={compaction()}> <div data-slot="session-turn-compaction"> |
