Skip to content

Commit 8571f3b

Browse files
committed
fix(webview): remove input overlay hint and border jitter; ensure platform key renders in Settings; clean ChatView lint
1 parent 268dca5 commit 8571f3b

File tree

4 files changed

+18
-34
lines changed

4 files changed

+18
-34
lines changed

webview-ui/src/components/chat/ChatTextArea.tsx

Lines changed: 2 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1003,11 +1003,8 @@ export const ChatTextArea = forwardRef<HTMLTextAreaElement, ChatTextAreaProps>(
10031003
"font-vscode-font-family",
10041004
"text-vscode-editor-font-size",
10051005
"leading-vscode-editor-line-height",
1006-
isFocused
1007-
? "border border-vscode-focusBorder outline outline-vscode-focusBorder"
1008-
: isDraggingOver
1009-
? "border-2 border-dashed border-vscode-focusBorder"
1010-
: "border border-transparent",
1006+
"border-none",
1007+
"outline-none",
10111008
"pl-2",
10121009
"py-2",
10131010
isEditMode ? "pr-20" : "pr-9",
@@ -1208,22 +1205,6 @@ export const ChatTextArea = forwardRef<HTMLTextAreaElement, ChatTextAreaProps>(
12081205
{placeholderBottomText}
12091206
</div>
12101207
)}
1211-
{requireCtrlEnterToSend && (
1212-
<div
1213-
className={cn(
1214-
"absolute left-2 z-30 flex items-center h-8 font-vscode-font-family text-vscode-editor-font-size leading-vscode-editor-line-height",
1215-
isEditMode ? "pr-20" : "pr-9",
1216-
)}
1217-
style={{
1218-
bottom: "0.25rem",
1219-
color: "color-mix(in oklab, var(--vscode-descriptionForeground) 70%, transparent)",
1220-
userSelect: "none",
1221-
pointerEvents: "none",
1222-
fontSize: "0.75rem",
1223-
}}>
1224-
{t("chat:pressToSend", { keyCombination: getSendMessageKeyCombination() })}
1225-
</div>
1226-
)}
12271208
</div>
12281209
</div>
12291210
</div>

webview-ui/src/components/chat/ChatView.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1519,20 +1519,21 @@ const ChatViewComponent: React.ForwardRefRenderFunction<ChatViewRef, ChatViewPro
15191519
/>
15201520
)
15211521
}
1522-
const hasCheckpoint = modifiedMessages.some((message) => message.say === "checkpoint_saved")
1522+
// Lint: keep underscore to mark intentionally unused (prop removed)
1523+
const _hasCheckpoint = modifiedMessages.some((message) => message.say === "checkpoint_saved")
15231524

15241525
// regular message
15251526
return (
15261527
<ChatRow
15271528
key={messageOrGroup.ts}
15281529
message={messageOrGroup}
15291530
isExpanded={expandedRows[messageOrGroup.ts] || false}
1530-
onToggleExpand={toggleRowExpansion} // This was already stabilized
1531-
lastModifiedMessage={modifiedMessages.at(-1)} // Original direct access
1532-
isLast={index === groupedMessages.length - 1} // Original direct access
1531+
onToggleExpand={toggleRowExpansion}
1532+
lastModifiedMessage={modifiedMessages.at(-1)}
1533+
isLast={index === groupedMessages.length - 1}
15331534
onHeightChange={handleRowHeightChange}
15341535
isStreaming={isStreaming}
1535-
onSuggestionClick={handleSuggestionClickInRow} // This was already stabilized
1536+
onSuggestionClick={handleSuggestionClickInRow}
15361537
onBatchFileResponse={handleBatchFileResponse}
15371538
onFollowUpUnmount={handleFollowUpUnmount}
15381539
isFollowUpAnswered={messageOrGroup.isAnswered === true || messageOrGroup.ts === currentFollowUpTs}
@@ -1554,7 +1555,6 @@ const ChatViewComponent: React.ForwardRefRenderFunction<ChatViewRef, ChatViewPro
15541555
return tool.tool === "updateTodoList" && enableButtons && !!primaryButtonText
15551556
})()
15561557
}
1557-
hasCheckpoint={hasCheckpoint}
15581558
/>
15591559
)
15601560
},

webview-ui/src/components/settings/UISettings.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,12 +73,16 @@ export const UISettings = ({
7373
onChange={(e: any) => handleRequireCtrlEnterToSendChange(e.target.checked)}
7474
data-testid="ctrl-enter-checkbox">
7575
<span className="font-medium">
76-
{t("settings:ui.requireCtrlEnterToSend.label", { primaryMod: getPrimaryModifierKey() })}
76+
{t("settings:ui.requireCtrlEnterToSend.label", {
77+
primaryMod: getPrimaryModifierKey(),
78+
interpolation: { prefix: "{", suffix: "}" },
79+
})}
7780
</span>
7881
</VSCodeCheckbox>
7982
<div className="text-vscode-descriptionForeground text-sm ml-5 mt-1">
8083
{t("settings:ui.requireCtrlEnterToSend.description", {
8184
primaryMod: getPrimaryModifierKey(),
85+
interpolation: { prefix: "{", suffix: "}" },
8286
})}
8387
</div>
8488
</div>

webview-ui/src/context/ExtensionStateContext.tsx

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import {
1111
type OrganizationAllowList,
1212
type CloudOrganizationMembership,
1313
ORGANIZATION_ALLOW_ALL,
14-
DEFAULT_CHECKPOINT_TIMEOUT_SECONDS,
1514
} from "@roo-code/types"
1615

1716
import { ExtensionMessage, ExtensionState, MarketplaceInstalledMetadata, Command } from "@roo/ExtensionMessage"
@@ -161,11 +160,11 @@ export interface ExtensionStateContextType extends ExtensionState {
161160
setMaxDiagnosticMessages: (value: number) => void
162161
includeTaskHistoryInEnhance?: boolean
163162
setIncludeTaskHistoryInEnhance: (value: boolean) => void
164-
includeCurrentTime?: boolean
163+
includeCurrentTime: boolean
165164
setIncludeCurrentTime: (value: boolean) => void
166-
includeCurrentCost?: boolean
165+
includeCurrentCost: boolean
167166
setIncludeCurrentCost: (value: boolean) => void
168-
requireCtrlEnterToSend?: boolean
167+
requireCtrlEnterToSend: boolean
169168
setRequireCtrlEnterToSend: (value: boolean) => void
170169
}
171170

@@ -206,7 +205,7 @@ export const ExtensionStateContextProvider: React.FC<{ children: React.ReactNode
206205
ttsSpeed: 1.0,
207206
diffEnabled: false,
208207
enableCheckpoints: true,
209-
checkpointTimeout: DEFAULT_CHECKPOINT_TIMEOUT_SECONDS, // Default to 15 seconds
208+
checkpointTimeout: 15, // Default to 15 seconds
210209
fuzzyMatchThreshold: 1.0,
211210
language: "en", // Default language code
212211
writeDelayMs: 1000,
@@ -603,7 +602,7 @@ export const ExtensionStateContextProvider: React.FC<{ children: React.ReactNode
603602
setIncludeCurrentTime,
604603
includeCurrentCost,
605604
setIncludeCurrentCost,
606-
requireCtrlEnterToSend: state.requireCtrlEnterToSend,
605+
requireCtrlEnterToSend: !!state.requireCtrlEnterToSend,
607606
setRequireCtrlEnterToSend: (value) => {
608607
setState((prevState) => ({ ...prevState, requireCtrlEnterToSend: value }))
609608
},

0 commit comments

Comments
 (0)