Skip to content

Commit 42971dc

Browse files
committed
fix: AbortController for Bing Mode
1 parent 82ace1b commit 42971dc

File tree

4 files changed

+13
-12
lines changed

4 files changed

+13
-12
lines changed

src/background/apis/bing-web.mjs

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ export async function generateAnswersWithBingWebApi(
2121
if (msg.stop) {
2222
console.debug('stop generating')
2323
port.postMessage({ done: true })
24-
controller.abort()
2524
port.onMessage.removeListener(stopListener)
25+
controller.abort()
2626
}
2727
}
2828
port.onMessage.addListener(stopListener)
@@ -36,6 +36,14 @@ export async function generateAnswersWithBingWebApi(
3636
let answer = ''
3737
const response = await bingAIClient
3838
.sendMessage(question, {
39+
abortController: controller,
40+
toneStyle: (await getUserConfig()).modelMode,
41+
onProgress: (token) => {
42+
answer += token
43+
// remove reference markers [^number^]
44+
answer = answer.replaceAll(/\[\^\d+\^\]/g, '')
45+
port.postMessage({ answer: answer, done: false, session: null })
46+
},
3947
...(session.bingWeb.conversationId
4048
? {
4149
conversationId: session.bingWeb.conversationId,
@@ -44,13 +52,6 @@ export async function generateAnswersWithBingWebApi(
4452
invocationId: session.bingWeb.invocationId,
4553
}
4654
: {}),
47-
onProgress: (token) => {
48-
answer += token
49-
// remove reference markers [^number^]
50-
answer = answer.replaceAll(/\[\^\d+\^\]/g, '')
51-
port.postMessage({ answer: answer, done: false, session: null })
52-
},
53-
toneStyle: (await getUserConfig()).modelMode,
5455
})
5556
.catch((err) => {
5657
port.onMessage.removeListener(stopListener)

src/background/apis/chatgpt-web.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ export async function generateAnswersWithChatgptWebApi(port, question, session,
5757
if (msg.stop) {
5858
console.debug('stop generating')
5959
port.postMessage({ done: true })
60-
controller.abort()
6160
port.onMessage.removeListener(stopListener)
61+
controller.abort()
6262
}
6363
}
6464
port.onMessage.addListener(stopListener)

src/background/apis/custom-api.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ export async function generateAnswersWithCustomApi(port, question, session, apiK
2727
if (msg.stop) {
2828
console.debug('stop generating')
2929
port.postMessage({ done: true })
30-
controller.abort()
3130
port.onMessage.removeListener(stopListener)
31+
controller.abort()
3232
}
3333
}
3434
port.onMessage.addListener(stopListener)

src/background/apis/openai-api.mjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ export async function generateAnswersWithGptCompletionApi(
3939
if (msg.stop) {
4040
console.debug('stop generating')
4141
port.postMessage({ done: true })
42-
controller.abort()
4342
port.onMessage.removeListener(stopListener)
43+
controller.abort()
4444
}
4545
}
4646
port.onMessage.addListener(stopListener)
@@ -116,8 +116,8 @@ export async function generateAnswersWithChatgptApi(port, question, session, api
116116
if (msg.stop) {
117117
console.debug('stop generating')
118118
port.postMessage({ done: true })
119-
controller.abort()
120119
port.onMessage.removeListener(stopListener)
120+
controller.abort()
121121
}
122122
}
123123
port.onMessage.addListener(stopListener)

0 commit comments

Comments
 (0)