Skip to content

Commit adaefdf

Browse files
committed
fix: prevent completion sound from replaying when reopening completed tasks (#4885)
1 parent 569b276 commit adaefdf

File tree

2 files changed

+32
-6
lines changed

2 files changed

+32
-6
lines changed

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

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -345,9 +345,6 @@ const ChatViewComponent: React.ForwardRefRenderFunction<ChatViewRef, ChatViewPro
345345
setSecondaryButtonText(undefined)
346346
break
347347
case "resume_task":
348-
if (!isAutoApproved(lastMessage) && !isPartial) {
349-
playSound("notification")
350-
}
351348
setSendingDisabled(false)
352349
setClineAsk("resume_task")
353350
setEnableButtons(true)
@@ -356,9 +353,6 @@ const ChatViewComponent: React.ForwardRefRenderFunction<ChatViewRef, ChatViewPro
356353
setDidClickCancel(false) // special case where we reset the cancel button state
357354
break
358355
case "resume_completed_task":
359-
if (!isPartial) {
360-
playSound("celebration")
361-
}
362356
setSendingDisabled(false)
363357
setClineAsk("resume_completed_task")
364358
setEnableButtons(true)

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

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1020,6 +1020,38 @@ describe("ChatView - Sound Playing Tests", () => {
10201020
expect(mockPlayFunction).toHaveBeenCalled()
10211021
})
10221022
})
1023+
1024+
it("does not play sound when resuming a task from history", async () => {
1025+
renderChatView()
1026+
mockPlayFunction.mockClear()
1027+
1028+
// Send resume_task message
1029+
mockPostMessage({
1030+
clineMessages: [
1031+
{ type: "say", say: "task", ts: Date.now() - 2000, text: "Initial task" },
1032+
{ type: "ask", ask: "resume_task", ts: Date.now(), text: "Resume task", partial: false },
1033+
],
1034+
})
1035+
1036+
await new Promise((resolve) => setTimeout(resolve, 100))
1037+
expect(mockPlayFunction).not.toHaveBeenCalled()
1038+
})
1039+
1040+
it("does not play sound when resuming a completed task from history", async () => {
1041+
renderChatView()
1042+
mockPlayFunction.mockClear()
1043+
1044+
// Send resume_completed_task message
1045+
mockPostMessage({
1046+
clineMessages: [
1047+
{ type: "say", say: "task", ts: Date.now() - 2000, text: "Initial task" },
1048+
{ type: "ask", ask: "resume_completed_task", ts: Date.now(), text: "Resume completed", partial: false },
1049+
],
1050+
})
1051+
1052+
await new Promise((resolve) => setTimeout(resolve, 100))
1053+
expect(mockPlayFunction).not.toHaveBeenCalled()
1054+
})
10231055
})
10241056

10251057
describe("ChatView - Focus Grabbing Tests", () => {

0 commit comments

Comments
 (0)