Skip to content

Commit ecb6ce1

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

File tree

4 files changed

+16
-33
lines changed

4 files changed

+16
-33
lines changed

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

Lines changed: 2 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1008,11 +1008,8 @@ export const ChatTextArea = forwardRef<HTMLTextAreaElement, ChatTextAreaProps>(
10081008
"font-vscode-font-family",
10091009
"text-vscode-editor-font-size",
10101010
"leading-vscode-editor-line-height",
1011-
isFocused
1012-
? "border border-vscode-focusBorder outline outline-vscode-focusBorder"
1013-
: isDraggingOver
1014-
? "border-2 border-dashed border-vscode-focusBorder"
1015-
: "border border-transparent",
1011+
"border-none",
1012+
"outline-none",
10161013
"pl-2",
10171014
"py-2",
10181015
isEditMode ? "pr-20" : "pr-9",
@@ -1213,22 +1210,6 @@ export const ChatTextArea = forwardRef<HTMLTextAreaElement, ChatTextAreaProps>(
12131210
{placeholderBottomText}
12141211
</div>
12151212
)}
1216-
{requireCtrlEnterToSend && (
1217-
<div
1218-
className={cn(
1219-
"absolute left-2 z-30 flex items-center h-8 font-vscode-font-family text-vscode-editor-font-size leading-vscode-editor-line-height",
1220-
isEditMode ? "pr-20" : "pr-9",
1221-
)}
1222-
style={{
1223-
bottom: "0.25rem",
1224-
color: "color-mix(in oklab, var(--vscode-descriptionForeground) 70%, transparent)",
1225-
userSelect: "none",
1226-
pointerEvents: "none",
1227-
fontSize: "0.75rem",
1228-
}}>
1229-
{t("chat:pressToSend", { keyCombination: getSendMessageKeyCombination() })}
1230-
</div>
1231-
)}
12321213
</div>
12331214
</div>
12341215
</div>

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

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1255,12 +1255,12 @@ const ChatViewComponent: React.ForwardRefRenderFunction<ChatViewRef, ChatViewPro
12551255
key={messageOrGroup.ts}
12561256
message={messageOrGroup}
12571257
isExpanded={expandedRows[messageOrGroup.ts] || false}
1258-
onToggleExpand={toggleRowExpansion} // This was already stabilized
1259-
lastModifiedMessage={modifiedMessages.at(-1)} // Original direct access
1260-
isLast={index === groupedMessages.length - 1} // Original direct access
1258+
onToggleExpand={toggleRowExpansion}
1259+
lastModifiedMessage={modifiedMessages.at(-1)}
1260+
isLast={index === groupedMessages.length - 1}
12611261
onHeightChange={handleRowHeightChange}
12621262
isStreaming={isStreaming}
1263-
onSuggestionClick={handleSuggestionClickInRow} // This was already stabilized
1263+
onSuggestionClick={handleSuggestionClickInRow}
12641264
onBatchFileResponse={handleBatchFileResponse}
12651265
isFollowUpAnswered={messageOrGroup.isAnswered === true || messageOrGroup.ts === currentFollowUpTs}
12661266
editable={
@@ -1281,7 +1281,6 @@ const ChatViewComponent: React.ForwardRefRenderFunction<ChatViewRef, ChatViewPro
12811281
return tool.tool === "updateTodoList" && enableButtons && !!primaryButtonText
12821282
})()
12831283
}
1284-
hasCheckpoint={hasCheckpoint}
12851284
/>
12861285
)
12871286
},

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

@@ -207,7 +206,7 @@ export const ExtensionStateContextProvider: React.FC<{ children: React.ReactNode
207206
ttsSpeed: 1.0,
208207
diffEnabled: false,
209208
enableCheckpoints: true,
210-
checkpointTimeout: DEFAULT_CHECKPOINT_TIMEOUT_SECONDS, // Default to 15 seconds
209+
checkpointTimeout: 15, // Default to 15 seconds
211210
fuzzyMatchThreshold: 1.0,
212211
language: "en", // Default language code
213212
writeDelayMs: 1000,
@@ -604,7 +603,7 @@ export const ExtensionStateContextProvider: React.FC<{ children: React.ReactNode
604603
setIncludeCurrentTime,
605604
includeCurrentCost,
606605
setIncludeCurrentCost,
607-
requireCtrlEnterToSend: state.requireCtrlEnterToSend,
606+
requireCtrlEnterToSend: !!state.requireCtrlEnterToSend,
608607
setRequireCtrlEnterToSend: (value) => {
609608
setState((prevState) => ({ ...prevState, requireCtrlEnterToSend: value }))
610609
},

0 commit comments

Comments
 (0)