diff --git a/examples/server/public/index.html.gz b/examples/server/public/index.html.gz index 53d33feb344cd..01dd41811d083 100644 Binary files a/examples/server/public/index.html.gz and b/examples/server/public/index.html.gz differ diff --git a/examples/server/webui/package-lock.json b/examples/server/webui/package-lock.json index 1d0ab023602a9..bbebccbf20c64 100644 --- a/examples/server/webui/package-lock.json +++ b/examples/server/webui/package-lock.json @@ -8,6 +8,7 @@ "name": "webui", "version": "0.0.0", "dependencies": { + "@sec-ant/readable-stream": "^0.6.0", "@vscode/markdown-it-katex": "^1.1.1", "autoprefixer": "^10.4.20", "daisyui": "^4.12.14", @@ -617,6 +618,12 @@ "win32" ] }, + "node_modules/@sec-ant/readable-stream": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.6.0.tgz", + "integrity": "sha512-uiBh8DrB5FN35gP6/o8JEhEQ7/ci1jUsOZO/VMUjyvTpjtV54VstOXVj1TvTj/wsT23pfX6butxxh3qufsW3+g==", + "license": "MIT" + }, "node_modules/@vscode/markdown-it-katex": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@vscode/markdown-it-katex/-/markdown-it-katex-1.1.1.tgz", diff --git a/examples/server/webui/package.json b/examples/server/webui/package.json index 48090c6dea534..2836cce00d41d 100644 --- a/examples/server/webui/package.json +++ b/examples/server/webui/package.json @@ -14,6 +14,7 @@ "vite": "^5.4.10" }, "dependencies": { + "@sec-ant/readable-stream": "^0.6.0", "@vscode/markdown-it-katex": "^1.1.1", "autoprefixer": "^10.4.20", "daisyui": "^4.12.14", diff --git a/examples/server/webui/src/main.js b/examples/server/webui/src/main.js index 441fd73519a6b..2a3021ce98773 100644 --- a/examples/server/webui/src/main.js +++ b/examples/server/webui/src/main.js @@ -5,13 +5,16 @@ import TextLineStream from 'textlinestream'; // math formula rendering import 'katex/dist/katex.min.css'; -import markdownItKatexGpt, { renderLatexHTML } from './katex-gpt'; +import markdownItKatexGpt from './katex-gpt'; import markdownItKatexNormal from '@vscode/markdown-it-katex'; // code highlighting import hljs from './highlight-config'; import daisyuiThemes from 'daisyui/src/theming/themes'; +// ponyfill for missing ReadableStream asyncIterator on Safari +import { asyncIterator } from "@sec-ant/readable-stream/ponyfill/asyncIterator"; + const isDev = import.meta.env.MODE === 'development'; // utility functions @@ -283,7 +286,7 @@ async function* sendSSEPostRequest(url, fetchOptions) { const lines = res.body .pipeThrough(new TextDecoderStream()) .pipeThrough(new TextLineStream()); - for await (const line of lines) { + for await (const line of asyncIterator(lines)) { if (isDev) console.log({line}); if (line.startsWith('data:') && !line.endsWith('[DONE]')) { const data = JSON.parse(line.slice(5));