Skip to content

Commit 5db3c8b

Browse files
committed
fix safari background (#512 (comment))
1 parent 90f4880 commit 5db3c8b

File tree

2 files changed

+45
-41
lines changed

2 files changed

+45
-41
lines changed

safari/project.pre.patch

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"background.js"
1313
],
1414
- "persistent": true
15-
+ "persistent": false
15+
+ "persistent": true
1616
},
1717
"browser_action": {
1818
"default_popup": "popup.html?popup=true"

src/background/index.mjs

Lines changed: 44 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -229,49 +229,53 @@ Browser.runtime.onMessage.addListener(async (message, sender) => {
229229
}
230230
})
231231

232-
Browser.webRequest.onBeforeRequest.addListener(
233-
(details) => {
234-
if (
235-
details.url.includes('/public_key') &&
236-
!details.url.includes(defaultConfig.chatgptArkoseReqParams)
237-
) {
238-
let formData = new URLSearchParams()
239-
for (const k in details.requestBody.formData) {
240-
formData.append(k, details.requestBody.formData[k])
232+
try {
233+
Browser.webRequest.onBeforeRequest.addListener(
234+
(details) => {
235+
if (
236+
details.url.includes('/public_key') &&
237+
!details.url.includes(defaultConfig.chatgptArkoseReqParams)
238+
) {
239+
let formData = new URLSearchParams()
240+
for (const k in details.requestBody.formData) {
241+
formData.append(k, details.requestBody.formData[k])
242+
}
243+
setUserConfig({
244+
chatgptArkoseReqUrl: details.url,
245+
chatgptArkoseReqForm: formData.toString(),
246+
}).then(() => {
247+
console.log('Arkose req url and form saved')
248+
})
241249
}
242-
setUserConfig({
243-
chatgptArkoseReqUrl: details.url,
244-
chatgptArkoseReqForm: formData.toString(),
245-
}).then(() => {
246-
console.log('Arkose req url and form saved')
247-
})
248-
}
249-
},
250-
{
251-
urls: ['https://*.openai.com/*'],
252-
types: ['xmlhttprequest'],
253-
},
254-
['requestBody'],
255-
)
250+
},
251+
{
252+
urls: ['https://*.openai.com/*'],
253+
types: ['xmlhttprequest'],
254+
},
255+
['requestBody'],
256+
)
256257

257-
Browser.webRequest.onBeforeSendHeaders.addListener(
258-
(details) => {
259-
const headers = details.requestHeaders
260-
for (let i = 0; i < headers.length; i++) {
261-
if (headers[i].name === 'Origin') {
262-
headers[i].value = 'https://www.bing.com'
263-
} else if (headers[i].name === 'Referer') {
264-
headers[i].value = 'https://www.bing.com/search?q=Bing+AI&showconv=1&FORM=hpcodx'
258+
Browser.webRequest.onBeforeSendHeaders.addListener(
259+
(details) => {
260+
const headers = details.requestHeaders
261+
for (let i = 0; i < headers.length; i++) {
262+
if (headers[i].name === 'Origin') {
263+
headers[i].value = 'https://www.bing.com'
264+
} else if (headers[i].name === 'Referer') {
265+
headers[i].value = 'https://www.bing.com/search?q=Bing+AI&showconv=1&FORM=hpcodx'
266+
}
265267
}
266-
}
267-
return { requestHeaders: headers }
268-
},
269-
{
270-
urls: ['wss://sydney.bing.com/*', 'https://www.bing.com/*'],
271-
types: ['xmlhttprequest', 'websocket'],
272-
},
273-
['requestHeaders'],
274-
)
268+
return { requestHeaders: headers }
269+
},
270+
{
271+
urls: ['wss://sydney.bing.com/*', 'https://www.bing.com/*'],
272+
types: ['xmlhttprequest', 'websocket'],
273+
},
274+
['requestHeaders'],
275+
)
276+
} catch (error) {
277+
console.log(error)
278+
}
275279

276280
registerPortListener(async (session, port, config) => await executeApi(session, port, config))
277281
registerCommands()

0 commit comments

Comments
 (0)