diff --git a/src/renderer/src/providers/AnthropicProvider.ts b/src/renderer/src/providers/AnthropicProvider.ts index 838021bda8..0a6f29e13d 100644 --- a/src/renderer/src/providers/AnthropicProvider.ts +++ b/src/renderer/src/providers/AnthropicProvider.ts @@ -84,8 +84,8 @@ export default class AnthropicProvider extends BaseProvider { }) .on('text', (text) => { if (window.keyv.get(EVENT_NAMES.CHAT_COMPLETION_PAUSED)) { - resolve() - return stream.controller.abort() + stream.controller.abort() + return resolve() } onChunk({ text }) }) diff --git a/src/renderer/src/services/api.ts b/src/renderer/src/services/api.ts index 6722d19d8f..9184d2dc4c 100644 --- a/src/renderer/src/services/api.ts +++ b/src/renderer/src/services/api.ts @@ -56,6 +56,9 @@ export async function fetchChatCompletion({ const timer = setInterval(() => { if (window.keyv.get(EVENT_NAMES.CHAT_COMPLETION_PAUSED)) { paused = true + message.status = 'paused' + EventEmitter.emit(EVENT_NAMES.RECEIVE_MESSAGE, message) + store.dispatch(setGenerating(false)) onResponse({ ...message, status: 'paused' }) clearInterval(timer) }