Skip to content

Commit f57308f

Browse files
committed
fix: address PR #5582 review feedback for diagnostic messages feature
- Fix default value from 5 to 50 in ClineProvider.ts and tests - Fix translation inconsistencies in Hindi and Turkish locales - Move diagnostics delay setting from Auto-Approve to Context Management section
1 parent a2c5f42 commit f57308f

File tree

8 files changed

+39
-31
lines changed

8 files changed

+39
-31
lines changed

src/core/webview/ClineProvider.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1562,7 +1562,7 @@ export class ClineProvider
15621562
alwaysAllowFollowupQuestions: alwaysAllowFollowupQuestions ?? false,
15631563
followupAutoApproveTimeoutMs: followupAutoApproveTimeoutMs ?? 60000,
15641564
includeDiagnosticMessages: includeDiagnosticMessages ?? true,
1565-
maxDiagnosticMessages: maxDiagnosticMessages ?? 5,
1565+
maxDiagnosticMessages: maxDiagnosticMessages ?? 50,
15661566
}
15671567
}
15681568

@@ -1730,7 +1730,7 @@ export class ClineProvider
17301730
profileThresholds: stateValues.profileThresholds ?? {},
17311731
// Add diagnostic message settings
17321732
includeDiagnosticMessages: stateValues.includeDiagnosticMessages ?? true,
1733-
maxDiagnosticMessages: stateValues.maxDiagnosticMessages ?? 5,
1733+
maxDiagnosticMessages: stateValues.maxDiagnosticMessages ?? 50,
17341734
}
17351735

17361736
// Return the same structure as before
@@ -1824,7 +1824,7 @@ export class ClineProvider
18241824
profileThresholds: stateValues.profileThresholds ?? {},
18251825
// Add diagnostic message settings
18261826
includeDiagnosticMessages: stateValues.includeDiagnosticMessages ?? true,
1827-
maxDiagnosticMessages: stateValues.maxDiagnosticMessages ?? 5,
1827+
maxDiagnosticMessages: stateValues.maxDiagnosticMessages ?? 50,
18281828
}
18291829
}
18301830

src/core/webview/__tests__/diagnosticSettingsPersistence.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { TelemetryService } from "@roo-code/telemetry"
55

66
// Default values for diagnostic settings
77
const DEFAULT_INCLUDE_DIAGNOSTIC_MESSAGES = true
8-
const DEFAULT_MAX_DIAGNOSTIC_MESSAGES = 5
8+
const DEFAULT_MAX_DIAGNOSTIC_MESSAGES = 50
99

1010
// Mock fs/promises to avoid file system operations
1111
vi.mock("fs/promises", () => ({

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

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ type AutoApproveSettingsProps = HTMLAttributes<HTMLDivElement> & {
2020
alwaysAllowWrite?: boolean
2121
alwaysAllowWriteOutsideWorkspace?: boolean
2222
alwaysAllowWriteProtected?: boolean
23-
writeDelayMs: number
2423
alwaysAllowBrowser?: boolean
2524
alwaysApproveResubmit?: boolean
2625
requestDelaySeconds: number
@@ -39,7 +38,6 @@ type AutoApproveSettingsProps = HTMLAttributes<HTMLDivElement> & {
3938
| "alwaysAllowWrite"
4039
| "alwaysAllowWriteOutsideWorkspace"
4140
| "alwaysAllowWriteProtected"
42-
| "writeDelayMs"
4341
| "alwaysAllowBrowser"
4442
| "alwaysApproveResubmit"
4543
| "requestDelaySeconds"
@@ -61,7 +59,6 @@ export const AutoApproveSettings = ({
6159
alwaysAllowWrite,
6260
alwaysAllowWriteOutsideWorkspace,
6361
alwaysAllowWriteProtected,
64-
writeDelayMs,
6562
alwaysAllowBrowser,
6663
alwaysApproveResubmit,
6764
requestDelaySeconds,
@@ -216,22 +213,6 @@ export const AutoApproveSettings = ({
216213
{t("settings:autoApprove.write.protected.description")}
217214
</div>
218215
</div>
219-
<div>
220-
<div className="flex items-center gap-2">
221-
<Slider
222-
min={0}
223-
max={5000}
224-
step={100}
225-
value={[writeDelayMs]}
226-
onValueChange={([value]) => setCachedStateField("writeDelayMs", value)}
227-
data-testid="write-delay-slider"
228-
/>
229-
<span className="w-20">{writeDelayMs}ms</span>
230-
</div>
231-
<div className="text-vscode-descriptionForeground text-sm mt-1">
232-
{t("settings:autoApprove.write.delayLabel")}
233-
</div>
234-
</div>
235216
</div>
236217
)}
237218

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

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ type ContextManagementSettingsProps = HTMLAttributes<HTMLDivElement> & {
2424
profileThresholds?: Record<string, number>
2525
includeDiagnosticMessages?: boolean
2626
maxDiagnosticMessages?: number
27+
writeDelayMs: number
2728
setCachedStateField: SetCachedStateField<
2829
| "autoCondenseContext"
2930
| "autoCondenseContextPercent"
@@ -35,6 +36,7 @@ type ContextManagementSettingsProps = HTMLAttributes<HTMLDivElement> & {
3536
| "profileThresholds"
3637
| "includeDiagnosticMessages"
3738
| "maxDiagnosticMessages"
39+
| "writeDelayMs"
3840
>
3941
}
4042

@@ -51,6 +53,7 @@ export const ContextManagementSettings = ({
5153
profileThresholds = {},
5254
includeDiagnosticMessages,
5355
maxDiagnosticMessages,
56+
writeDelayMs,
5457
className,
5558
...props
5659
}: ContextManagementSettingsProps) => {
@@ -271,6 +274,26 @@ export const ContextManagementSettings = ({
271274
{t("settings:contextManagement.diagnostics.maxMessages.description")}
272275
</div>
273276
</div>
277+
278+
<div>
279+
<span className="block font-medium mb-1">
280+
{t("settings:contextManagement.diagnostics.delayAfterWrite.label")}
281+
</span>
282+
<div className="flex items-center gap-2">
283+
<Slider
284+
min={0}
285+
max={5000}
286+
step={100}
287+
value={[writeDelayMs]}
288+
onValueChange={([value]) => setCachedStateField("writeDelayMs", value)}
289+
data-testid="write-delay-slider"
290+
/>
291+
<span className="w-20">{writeDelayMs}ms</span>
292+
</div>
293+
<div className="text-vscode-descriptionForeground text-sm mt-1">
294+
{t("settings:contextManagement.diagnostics.delayAfterWrite.description")}
295+
</div>
296+
</div>
274297
</Section>
275298
<Section className="pt-2">
276299
<VSCodeCheckbox

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -610,7 +610,6 @@ const SettingsView = forwardRef<SettingsViewRef, SettingsViewProps>(({ onDone, t
610610
alwaysAllowWrite={alwaysAllowWrite}
611611
alwaysAllowWriteOutsideWorkspace={alwaysAllowWriteOutsideWorkspace}
612612
alwaysAllowWriteProtected={alwaysAllowWriteProtected}
613-
writeDelayMs={writeDelayMs}
614613
alwaysAllowBrowser={alwaysAllowBrowser}
615614
alwaysApproveResubmit={alwaysApproveResubmit}
616615
requestDelaySeconds={requestDelaySeconds}
@@ -672,6 +671,7 @@ const SettingsView = forwardRef<SettingsViewRef, SettingsViewProps>(({ onDone, t
672671
profileThresholds={profileThresholds}
673672
includeDiagnosticMessages={includeDiagnosticMessages}
674673
maxDiagnosticMessages={maxDiagnosticMessages}
674+
writeDelayMs={writeDelayMs}
675675
setCachedStateField={setCachedStateField}
676676
/>
677677
)}

webview-ui/src/i18n/locales/en/settings.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -498,6 +498,10 @@
498498
"description": "Limits the number of diagnostic messages (errors, warnings) included in the context. When set, only this many diagnostics will be shown, prioritizing errors over warnings. Set to 0 for unlimited diagnostics.",
499499
"resetTooltip": "Reset to default value (50)",
500500
"unlimitedLabel": "Unlimited"
501+
},
502+
"delayAfterWrite": {
503+
"label": "Delay after writes to allow diagnostics to detect potential problems",
504+
"description": "Time to wait after file writes before proceeding, allowing diagnostic tools to process changes and detect issues."
501505
}
502506
},
503507
"condensingThreshold": {

webview-ui/src/i18n/locales/hi/settings.json

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

webview-ui/src/i18n/locales/tr/settings.json

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)