diff --git a/apps/desktop/src/app/chat/composer/index.tsx b/apps/desktop/src/app/chat/composer/index.tsx index b49d92f8928..87cbeb80b6c 100644 --- a/apps/desktop/src/app/chat/composer/index.tsx +++ b/apps/desktop/src/app/chat/composer/index.tsx @@ -1411,7 +1411,11 @@ export function ChatBar({ } void runDrain(() => entry) - .then(sent => void (sent ? undefined : onFail())) + .then(sent => { + if (!sent) { + onFail() + } + }) .catch(onFail) }, [activeQueueSessionKey, busy, pickDrainHead, queuedPrompts, runDrain, t]) @@ -1437,7 +1441,7 @@ export function ChatBar({ if (shouldAutoDrain({ isBusy: busy, queueLength: queuedPrompts.length })) { autoDrainNext() } - }, [activeQueueSessionKey, autoDrainNext, busy, queuedPrompts.length]) + }, [autoDrainNext, busy, queuedPrompts.length]) // Queue-edit cleanup: on session swap the scope effect already stashed the // edit snapshot; only restore into the composer when still on the same scope. diff --git a/apps/desktop/src/components/assistant-ui/markdown-text.tsx b/apps/desktop/src/components/assistant-ui/markdown-text.tsx index 1c50b65eab4..2c87f6d0c33 100644 --- a/apps/desktop/src/components/assistant-ui/markdown-text.tsx +++ b/apps/desktop/src/components/assistant-ui/markdown-text.tsx @@ -8,7 +8,16 @@ import { type SyntaxHighlighterProps } from '@assistant-ui/react-streamdown' import { code } from '@streamdown/code' -import { type ComponentProps, memo, type ReactNode, useDeferredValue, useEffect, useMemo, useRef, useState } from 'react' +import { + type ComponentProps, + memo, + type ReactNode, + useDeferredValue, + useEffect, + useMemo, + useRef, + useState +} from 'react' import { PreviewAttachment } from '@/components/chat/preview-attachment' import { SyntaxHighlighter } from '@/components/chat/shiki-highlighter' diff --git a/apps/desktop/src/styles.css b/apps/desktop/src/styles.css index f203aaf9976..105c3ebdbb0 100644 --- a/apps/desktop/src/styles.css +++ b/apps/desktop/src/styles.css @@ -1157,6 +1157,10 @@ canvas { margin-block-end: 0 !important; } +[data-slot='aui_assistant-message-content'] .aui-md .aui-md-table thead { + border-bottom-color: var(--dt-border) !important; +} + /* Tool / thinking blocks are scaffolding around the model's reply, so we keep them transparent and fade them slightly. The reading column (prose) stays at full strength; scaffolding lifts back to full opacity on