Skip to content

Commit 7c02c84

Browse files
committed
fix: conversation of bing sydney mode (#236, #242)
1 parent 509cdc5 commit 7c02c84

File tree

3 files changed

+32
-6
lines changed

3 files changed

+32
-6
lines changed

src/background/apis/bing-web.mjs

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@ export async function generateAnswersWithBingWebApi(
2020
const config = await getUserConfig()
2121

2222
const bingAIClient = new BingAIClient({ userToken: accessToken })
23+
if (session.bingWeb_jailbreakConversationCache)
24+
bingAIClient.conversationsCache.set(
25+
session.bingWeb_jailbreakConversationId,
26+
session.bingWeb_jailbreakConversationCache,
27+
)
2328

2429
let answer = ''
2530
const response = await bingAIClient
@@ -40,17 +45,30 @@ export async function generateAnswersWithBingWebApi(
4045
clientId: session.bingWeb_clientId,
4146
invocationId: session.bingWeb_invocationId,
4247
}
48+
: session.bingWeb_jailbreakConversationId
49+
? {
50+
jailbreakConversationId: session.bingWeb_jailbreakConversationId,
51+
parentMessageId: session.bingWeb_parentMessageId,
52+
}
4353
: {}),
4454
})
4555
.catch((err) => {
4656
port.onMessage.removeListener(messageListener)
4757
throw err
4858
})
4959

50-
session.bingWeb_conversationSignature = response.conversationSignature
51-
session.bingWeb_conversationId = response.conversationId
52-
session.bingWeb_clientId = response.clientId
53-
session.bingWeb_invocationId = response.invocationId
60+
if (!sydneyMode) {
61+
session.bingWeb_conversationSignature = response.conversationSignature
62+
session.bingWeb_conversationId = response.conversationId
63+
session.bingWeb_clientId = response.clientId
64+
session.bingWeb_invocationId = response.invocationId
65+
} else {
66+
session.bingWeb_jailbreakConversationId = response.jailbreakConversationId
67+
session.bingWeb_parentMessageId = response.messageId
68+
session.bingWeb_jailbreakConversationCache = bingAIClient.conversationsCache.get(
69+
response.jailbreakConversationId,
70+
)
71+
}
5472

5573
if (response.details.sourceAttributions.length > 0) {
5674
const footnotes =

src/background/apis/waylaidwanderer-api.mjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,13 @@ export async function generateAnswersWithWaylaidwandererApi(port, question, sess
2323
body: JSON.stringify({
2424
message: question,
2525
stream: true,
26-
...(session.bingWeb_conversationId && {
26+
...(session.bingWeb_conversationSignature && {
2727
conversationId: session.bingWeb_conversationId,
2828
conversationSignature: session.bingWeb_conversationSignature,
2929
clientId: session.bingWeb_clientId,
3030
invocationId: session.bingWeb_invocationId,
3131
}),
32-
...(session.conversationId && {
32+
...(session.parentMessageId && {
3333
conversationId: session.conversationId,
3434
parentMessageId: session.parentMessageId,
3535
}),

src/utils/init-session.mjs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ import { Models } from '../config/index.mjs'
1717
* @property {string|null} bingWeb_conversationId
1818
* @property {string|null} bingWeb_clientId
1919
* @property {string|null} bingWeb_invocationId
20+
* @property {string|null} bingWeb_jailbreakConversationId
21+
* @property {string|null} bingWeb_parentMessageId
22+
* @property {Object|null} bingWeb_jailbreakConversationCache
2023
* @property {number|null} poe_chatId
2124
*/
2225
/**
@@ -59,6 +62,11 @@ export function initSession({
5962
bingWeb_clientId: null,
6063
bingWeb_invocationId: null,
6164

65+
// bing sydney
66+
bingWeb_jailbreakConversationId: null,
67+
bingWeb_parentMessageId: null,
68+
bingWeb_jailbreakConversationCache: null,
69+
6270
// poe
6371
poe_chatId: null,
6472
}

0 commit comments

Comments
 (0)