@@ -41,6 +41,7 @@ import RooCloudCTA from "@src/components/welcome/RooCloudCTA"
4141import { StandardTooltip } from "@src/components/ui"
4242import { useAutoApprovalState } from "@src/hooks/useAutoApprovalState"
4343import { useAutoApprovalToggles } from "@src/hooks/useAutoApprovalToggles"
44+ import { showSystemNotification } from "@src/utils/showSystemNotification"
4445
4546import TelemetryBanner from "../common/TelemetryBanner"
4647import VersionIndicator from "../common/VersionIndicator"
@@ -56,7 +57,6 @@ import SystemPromptWarning from "./SystemPromptWarning"
5657import ProfileViolationWarning from "./ProfileViolationWarning"
5758import { CheckpointWarning } from "./CheckpointWarning"
5859import { QueuedMessages } from "./QueuedMessages"
59-
6060export interface ChatViewProps {
6161 isHidden : boolean
6262 showAnnouncement : boolean
@@ -280,6 +280,7 @@ const ChatViewComponent: React.ForwardRefRenderFunction<ChatViewRef, ChatViewPro
280280 switch ( lastMessage . ask ) {
281281 case "api_req_failed" :
282282 playSound ( "progress_loop" )
283+ showSystemNotification ( t ( "settings:notifications.system.apiReqFailed" ) )
283284 setSendingDisabled ( true )
284285 setClineAsk ( "api_req_failed" )
285286 setEnableButtons ( true )
@@ -288,6 +289,7 @@ const ChatViewComponent: React.ForwardRefRenderFunction<ChatViewRef, ChatViewPro
288289 break
289290 case "mistake_limit_reached" :
290291 playSound ( "progress_loop" )
292+ showSystemNotification ( t ( "settings:notifications.system.mistakeLimitReached" ) )
291293 setSendingDisabled ( false )
292294 setClineAsk ( "mistake_limit_reached" )
293295 setEnableButtons ( true )
@@ -297,6 +299,7 @@ const ChatViewComponent: React.ForwardRefRenderFunction<ChatViewRef, ChatViewPro
297299 case "followup" :
298300 if ( ! isPartial ) {
299301 playSound ( "notification" )
302+ showSystemNotification ( t ( "settings:notifications.system.followup" ) )
300303 }
301304 setSendingDisabled ( isPartial )
302305 setClineAsk ( "followup" )
@@ -311,6 +314,7 @@ const ChatViewComponent: React.ForwardRefRenderFunction<ChatViewRef, ChatViewPro
311314 case "tool" :
312315 if ( ! isAutoApproved ( lastMessage ) && ! isPartial ) {
313316 playSound ( "notification" )
317+ showSystemNotification ( t ( "settings:notifications.system.toolRequest" ) )
314318 }
315319 setSendingDisabled ( isPartial )
316320 setClineAsk ( "tool" )
@@ -347,6 +351,7 @@ const ChatViewComponent: React.ForwardRefRenderFunction<ChatViewRef, ChatViewPro
347351 case "browser_action_launch" :
348352 if ( ! isAutoApproved ( lastMessage ) && ! isPartial ) {
349353 playSound ( "notification" )
354+ showSystemNotification ( t ( "settings:notifications.system.browserAction" ) )
350355 }
351356 setSendingDisabled ( isPartial )
352357 setClineAsk ( "browser_action_launch" )
@@ -357,6 +362,7 @@ const ChatViewComponent: React.ForwardRefRenderFunction<ChatViewRef, ChatViewPro
357362 case "command" :
358363 if ( ! isAutoApproved ( lastMessage ) && ! isPartial ) {
359364 playSound ( "notification" )
365+ showSystemNotification ( t ( "settings:notifications.system.command" ) )
360366 }
361367 setSendingDisabled ( isPartial )
362368 setClineAsk ( "command" )
@@ -374,6 +380,7 @@ const ChatViewComponent: React.ForwardRefRenderFunction<ChatViewRef, ChatViewPro
374380 case "use_mcp_server" :
375381 if ( ! isAutoApproved ( lastMessage ) && ! isPartial ) {
376382 playSound ( "notification" )
383+ showSystemNotification ( t ( "settings:notifications.system.useMcpServer" ) )
377384 }
378385 setSendingDisabled ( isPartial )
379386 setClineAsk ( "use_mcp_server" )
@@ -385,6 +392,7 @@ const ChatViewComponent: React.ForwardRefRenderFunction<ChatViewRef, ChatViewPro
385392 // extension waiting for feedback. but we can just present a new task button
386393 if ( ! isPartial ) {
387394 playSound ( "celebration" )
395+ showSystemNotification ( t ( "settings:notifications.system.completionResult" ) )
388396 }
389397 setSendingDisabled ( isPartial )
390398 setClineAsk ( "completion_result" )
0 commit comments