Skip to content

Commit 5e3329e

Browse files
committed
fix(wrappers): guard against undefined Browser.cookies in getChatGptAccessToken
In some browser contexts (e.g. Safari, or environments where the cookies permission is unavailable), Browser.cookies can be undefined, causing: "can't access property 'getAll', a.cookies is undefined" chatgpt-web.mjs already uses this guard pattern. Apply the same defensive check before calling Browser.cookies.getAll in getChatGptAccessToken, allowing the session endpoint to be reached without cookies when the API is unavailable. Fixes #912 Co-Authored-By: Octopus <liyuan851277048@icloud.com>
1 parent c236a4b commit 5e3329e

1 file changed

Lines changed: 8 additions & 5 deletions

File tree

‎src/services/wrappers.mjs‎

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,14 @@ export async function getChatGptAccessToken() {
1515
if (userConfig.accessToken) {
1616
return userConfig.accessToken
1717
} else {
18-
const cookie = (await Browser.cookies.getAll({ url: 'https://chatgpt.com/' }))
19-
.map((cookie) => {
20-
return `${cookie.name}=${cookie.value}`
21-
})
22-
.join('; ')
18+
let cookie = ''
19+
if (Browser.cookies && Browser.cookies.getAll) {
20+
cookie = (await Browser.cookies.getAll({ url: 'https://chatgpt.com/' }))
21+
.map((cookie) => {
22+
return `${cookie.name}=${cookie.value}`
23+
})
24+
.join('; ')
25+
}
2326
const resp = await fetch('https://chatgpt.com/api/auth/session', {
2427
headers: {
2528
Cookie: cookie,

0 commit comments

Comments
 (0)