fix: the editor shows an empty page, not the last file, while a file loads; text in UTF-16 and with BOM; + menu groups open and shut smoothly; the assistant's errors in plain words
This commit is contained in:
1 parent
b272aed8fd
commit
352b016384
5 files changed
+178
-70
No files matched your search
@@ -352,6 +352,14 @@
|
||||
fetch('/api/panel/ai/note', {method: 'POST', headers: {'Content-Type': 'application/json'}, credentials: 'same-origin', body: JSON.stringify({content: res})});
|
||||
});
|
||||
|
||||
function responseError(status, contentType, body) {
|
||||
const html = /text\/html/i.test(contentType) || /<!doctype\s+html|<html\b|<body\b/i.test(body);
|
||||
if (html) return status === 502
|
||||
? 'Сервис ИИ временно недоступен (502 Bad Gateway). Попробуйте позже.'
|
||||
: 'Сервис ИИ вернул страницу ошибки (HTTP ' + status + '). Попробуйте позже.';
|
||||
const detail = body.trim().slice(0, 500).replace(/^\[ошибка:\s*/i, '').replace(/\]$/, '').trim();
|
||||
return detail || 'Ошибка сервиса ИИ (HTTP ' + status + ').';
|
||||
}
|
||||
// ask sends the new words (or an action's result) and shows the answer.
|
||||
async function ask(text, res) {
|
||||
if (text) add('user', text);
|
||||
@@ -368,7 +376,10 @@
|
||||
body: JSON.stringify({message: text || '', result: res || '', context: context(), agent: agentOn(), think: thinkOn()})
|
||||
});
|
||||
if (r.redirected && new URL(r.url).pathname === '/login') { location.href = '/login'; return; }
|
||||
if (!r.body) throw new Error('ошибка ' + r.status);
|
||||
const contentType = r.headers.get('content-type') || '';
|
||||
if (!r.ok) throw new Error(responseError(r.status, contentType, await r.text()));
|
||||
if (/text\/html/i.test(contentType)) throw new Error(responseError(r.status, contentType, ''));
|
||||
if (!r.body) throw new Error('Ошибка сервиса ИИ (HTTP ' + r.status + ').');
|
||||
const rd = r.body.getReader(), dec = new TextDecoder();
|
||||
for (;;) {
|
||||
const {done, value} = await rd.read();
|
||||
|
||||
Reference in new issue
Block a user