|
3 | 3 | // @description Add AI chat & product/category summaries to Amazon shopping, powered by the latest LLMs like GPT-4o! |
4 | 4 | // @author KudoAI |
5 | 5 | // @namespace https://kudoai.com |
6 | | -// @version 2025.9.5.9 |
| 6 | +// @version 2025.9.5.10 |
7 | 7 | // @license MIT |
8 | 8 | // @icon https://amazongpt.kudoai.com/assets/images/icons/app/black-gold-teal/icon48.png?v=8e8ed1c |
9 | 9 | // @icon64 https://amazongpt.kudoai.com/assets/images/icons/app/black-gold-teal/icon64.png?v=8e8ed1c |
|
156 | 156 | const remoteData = { |
157 | 157 | app: await new Promise(resolve => xhr({ |
158 | 158 | method: 'GET', url: `${app.urls.resourceHost}/assets/data/app.json`, |
159 | | - onload: resp => resolve(JSON.parse(resp.responseText)) |
| 159 | + onload: ({ responseText }) => resolve(JSON.parse(responseText)) |
160 | 160 | })), |
161 | 161 | msgs: await new Promise(resolve => { |
162 | 162 | const msgHostDir = `${app.urls.resourceHost}/greasemonkey/_locales/`, |
|
196 | 196 | suggestOpenAI: `${app.msgs.alert_try} ${app.msgs.alert_switchingOff} ${app.msgs.mode_proxy}` |
197 | 197 | } |
198 | 198 | app.katexDelimiters = await new Promise(resolve => xhr({ // used in show.reply() |
199 | | - method: 'GET', onload: resp => resolve(JSON.parse(resp.responseText)), |
| 199 | + method: 'GET', onload: ({ responseText }) => resolve(JSON.parse(responseText)), |
200 | 200 | url: `${app.urls.aiwebAssets}/data/katex-delimiters.json` |
201 | 201 | })) |
202 | 202 | window.apis = Object.assign(Object.create(null), await new Promise(resolve => xhr({ |
203 | | - method: 'GET', onload: resp => resolve(JSON5.parse(resp.responseText)), |
| 203 | + method: 'GET', onload: ({ responseText }) => resolve(JSON5.parse(responseText)), |
204 | 204 | url: `${app.urls.aiwebAssets}/data/ai-chat-apis.json5` |
205 | 205 | }))) |
206 | 206 | apis.AIchatOS.userID = '#/chat/' + Date.now() |
|
1861 | 1861 | function downloadChat() { |
1862 | 1862 | xhr({ |
1863 | 1863 | method: 'GET', url: shareURL, |
1864 | | - onload: resp => { |
1865 | | - const html = resp.responseText, dlLink = dom.create.anchor( |
| 1864 | + onload: ({ responseText }) => { |
| 1865 | + const html = responseText, dlLink = dom.create.anchor( |
1866 | 1866 | URL.createObjectURL(new Blob([html], { type: 'text/html' }))) |
1867 | 1867 | dlLink.download /* filename */ = html.match(/<title>([^<]+)<\/title>/i)[1] // page title |
1868 | 1868 | .replace(/\s*[—|/]+\s*/g, ' ') // convert symbols to space for hyphen-casing |
|
0 commit comments