Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion packages/web-shell/client/App.module.css
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
padding-right: env(safe-area-inset-right);
background: var(--background);
color: var(--foreground);
font-family: var(--font-mono);
font-family: var(--font-sans);
font-size: 14px;
line-height: 1.5;
overflow: hidden;
Expand Down Expand Up @@ -521,6 +521,11 @@
pointer-events: auto;
}

.approvalOverlay:focus,
.approvalOverlay:focus-visible {
outline: none;
}

.scrollToBottomLayer {
position: absolute;
top: -44px;
Expand Down
8 changes: 4 additions & 4 deletions packages/web-shell/client/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,6 @@ import { DaemonStatusDialog } from './components/dialogs/DaemonStatusDialog';
import { ScheduledTasksDialog } from './components/dialogs/ScheduledTasksDialog';
import { ExtensionsDialog } from './components/dialogs/ExtensionsDialog';
import { SettingsMessage } from './components/messages/SettingsMessage';
import { resolveShellOutputMaxLines } from './components/messages/ToolGroup';
import { isAskUserQuestionToolName } from './components/messages/toolFormatting';
import { ToolApproval } from './components/messages/ToolApproval';
import { AskUserQuestion } from './components/messages/AskUserQuestion';
Expand Down Expand Up @@ -1976,7 +1975,6 @@ export function App({
)?.values.effective;
return typeof value === 'string' && value.trim() ? value.trim() : undefined;
})();
const shellOutputMaxLines = resolveShellOutputMaxLines(workspaceSettings);
const [compactMode, setCompactMode] = useState(false);
const compactModeRef = useRef(compactMode);
compactModeRef.current = compactMode;
Expand Down Expand Up @@ -4364,7 +4362,10 @@ export function App({
</section>
)}
{mainView === 'scheduledTasks' && (
<div className={styles.fullPage} data-testid="scheduled-tasks-page">
<div
className={styles.fullPage}
data-testid="scheduled-tasks-page"
>
<div className={styles.fullPageHeader}>
<button
type="button"
Expand Down Expand Up @@ -4461,7 +4462,6 @@ export function App({
isResponding={streamingState !== 'idle'}
activeTurnStartedAt={activeTurnStartedAt}
workspaceCwd={connection.workspaceCwd || ''}
shellOutputMaxLines={shellOutputMaxLines}
hideSessionTimeline={
effectiveChatWidthMode === 'wide'
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ const assistantMsg = (id: string, content: string): Message =>
({ id, role: 'assistant', content, timestamp: 0 }) as Message;

function item(message: Message) {
return <MessageItem message={message} shellOutputMaxLines={50} />;
return <MessageItem message={message} />;
}

describe('MessageItem error isolation', () => {
Expand Down
4 changes: 0 additions & 4 deletions packages/web-shell/client/components/MessageItem.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ interface MessageItemProps {
onBranchSession?: () => void;
showAssistantActions?: boolean;
showAssistantBranch?: boolean;
shellOutputMaxLines: number;
}

export const MessageItem = memo(function MessageItem({
Expand All @@ -44,7 +43,6 @@ export const MessageItem = memo(function MessageItem({
onBranchSession,
showAssistantActions = false,
showAssistantBranch = false,
shellOutputMaxLines,
}: MessageItemProps) {
const body = ((): ReactElement | null => {
switch (message.role) {
Expand Down Expand Up @@ -77,7 +75,6 @@ export const MessageItem = memo(function MessageItem({
tools={message.tools}
pendingApproval={pendingApproval}
workspaceCwd={workspaceCwd}
shellOutputMaxLines={shellOutputMaxLines}
/>
);
case 'plan':
Expand Down Expand Up @@ -239,7 +236,6 @@ function areMessageItemPropsEqual(
if (prev.onBranchSession !== next.onBranchSession) return false;
if (prev.showAssistantActions !== next.showAssistantActions) return false;
if (prev.showAssistantBranch !== next.showAssistantBranch) return false;
if (prev.shellOutputMaxLines !== next.shellOutputMaxLines) return false;
return areMessagesEqual(prev.message, next.message);
}

Expand Down
2 changes: 0 additions & 2 deletions packages/web-shell/client/components/MessageList.dom.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,6 @@ function mount(
loadingTranscript={opts.loadingTranscript}
catchingUp={opts.catchingUp}
isResponding={opts.isResponding}
shellOutputMaxLines={50}
onCanScrollToBottomChange={opts.onCanScrollToBottomChange}
/>
</I18nProvider>,
Expand Down Expand Up @@ -205,7 +204,6 @@ function renderInto(
loadingTranscript={opts.loadingTranscript}
catchingUp={opts.catchingUp}
isResponding={opts.isResponding}
shellOutputMaxLines={50}
onCanScrollToBottomChange={opts.onCanScrollToBottomChange}
/>
</I18nProvider>,
Expand Down
3 changes: 3 additions & 0 deletions packages/web-shell/client/components/MessageList.module.css
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,9 @@
.turnAnswerRow {
max-width: 100%;
}
.turnStatusRow {
margin-bottom: 4px;
}

.turnAnswerRow {
margin-top: 10px;
Expand Down
4 changes: 0 additions & 4 deletions packages/web-shell/client/components/MessageList.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,6 @@ interface MessageListProps {
tailContent?: ReactNode;
tailKey?: string;
virtualScrollThreshold?: number;
shellOutputMaxLines: number;
activeTurnStartedAt?: number;
/**
* When true, scroll the tail content into view the moment it first appears
Expand Down Expand Up @@ -1712,7 +1711,6 @@ export const MessageList = memo(
tailContent,
tailKey = 'tail',
virtualScrollThreshold = VIRTUAL_SCROLL_THRESHOLD,
shellOutputMaxLines,
autoScrollTailIntoView = false,
hideSessionTimeline = false,
showRetryHint = false,
Expand Down Expand Up @@ -2646,7 +2644,6 @@ export const MessageList = memo(
displayItem.message.role === 'assistant' &&
displayItem.message.id === lastCompletedAssistantId
}
shellOutputMaxLines={shellOutputMaxLines}
/>
);
};
Expand Down Expand Up @@ -2681,7 +2678,6 @@ export const MessageList = memo(
showRetryHint,
onRetryClick,
onBranchSession,
shellOutputMaxLines,
handleToggleCollapse,
],
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -188,15 +188,26 @@

.thinkingChevronRight,
.thinkingChevronDown {
width: 7px;
height: 7px;
border-right: 1px solid currentColor;
border-bottom: 1px solid currentColor;
width: 14px;
height: 14px;
position: relative;
flex-shrink: 0;
opacity: 0;
transition: opacity 120ms ease;
}

.thinkingChevronRight::before,
.thinkingChevronRight::after,
.thinkingChevronDown::before,
.thinkingChevronDown::after {
content: '';
position: absolute;
width: 6px;
height: 1px;
background: currentColor;
border-radius: 1px;
}

.thinkingSummary:hover .thinkingChevronRight,
.thinkingSummary:hover .thinkingChevronDown,
.thinkingSummary:focus-visible .thinkingChevronRight,
Expand All @@ -205,15 +216,38 @@
}

.thinkingChevronRight {
transform: none;
}

.thinkingChevronRight::before {
top: calc(50% - 2px);
left: calc(50% - 3px);
transform: rotate(45deg);
}

.thinkingChevronRight::after {
top: calc(50% + 2px);
left: calc(50% - 3px);
transform: rotate(-45deg);
}

.thinkingChevronDown {
transform: rotate(45deg);
margin-top: -3px;
transform: none;
opacity: 1;
}

.thinkingChevronDown::before {
top: 50%;
left: calc(50% - 5px);
transform: rotate(45deg);
}

.thinkingChevronDown::after {
top: 50%;
left: calc(50% - 1px);
transform: rotate(-45deg);
}

.thinkingExpandedWrap {
margin-top: 4px;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -199,8 +199,7 @@
align-items: center;
justify-content: space-between;
padding: 0 12px;
background: var(--subtle-bg);
border-bottom: 0.5px solid var(--border);
background: var(--secondary);
}

.codeBlockLang {
Expand Down Expand Up @@ -238,6 +237,7 @@
font-size: 13px;
line-height: 1.5;
background: var(--secondary);
margin-top: 0;
}

.codeBlockContent pre {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -198,14 +198,20 @@
}

.embeddedPanel .inlineDetail {
padding: 0;
background: var(--muted);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 8px 12px;
margin: 5px 0;
min-width: 0;
overflow: hidden;
}

.embeddedPanel .detail {
margin: 8px;
border-radius: 6px;
background: var(--background);
padding: 8px;
margin: 0;
border-radius: 0;
background: transparent;
padding: 0;
}

.embeddedPanel .nameCell {
Expand Down
Loading
Loading