Add delete stopped streaming messages
This commit is contained in:
@@ -1508,6 +1508,8 @@ class Odidere {
|
|||||||
this.isAutoScrollEnabled = true;
|
this.isAutoScrollEnabled = true;
|
||||||
this.currentController = new AbortController();
|
this.currentController = new AbortController();
|
||||||
|
|
||||||
|
let streamingMessage = null;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const hasNewInput =
|
const hasNewInput =
|
||||||
text || this.attachments.length > 0 || this.locationData;
|
text || this.attachments.length > 0 || this.locationData;
|
||||||
@@ -1572,7 +1574,6 @@ class Odidere {
|
|||||||
|
|
||||||
// Stash assistant messages with tool_calls until their results arrive.
|
// Stash assistant messages with tool_calls until their results arrive.
|
||||||
let pendingTools = null;
|
let pendingTools = null;
|
||||||
let streamingMessage = null;
|
|
||||||
const streamingMeta = (usage, timings) => {
|
const streamingMeta = (usage, timings) => {
|
||||||
const meta = {};
|
const meta = {};
|
||||||
if (voice) meta.voice = voice;
|
if (voice) meta.voice = voice;
|
||||||
@@ -1787,6 +1788,25 @@ class Odidere {
|
|||||||
} catch (e) {
|
} catch (e) {
|
||||||
if (e.name === 'AbortError') {
|
if (e.name === 'AbortError') {
|
||||||
console.debug('request aborted');
|
console.debug('request aborted');
|
||||||
|
if (streamingMessage) {
|
||||||
|
const $msg = streamingMessage.$el;
|
||||||
|
const $deleteBtn = document.createElement('button');
|
||||||
|
$deleteBtn.type = 'button';
|
||||||
|
$deleteBtn.className =
|
||||||
|
'message__action-btn message__action-btn--delete';
|
||||||
|
$deleteBtn.dataset.action = 'delete';
|
||||||
|
$deleteBtn.setAttribute('aria-label', 'Delete message');
|
||||||
|
$deleteBtn.innerHTML = `<svg class="icon"><use href="${ICONS_URL}#trash"></use></svg>`;
|
||||||
|
$deleteBtn.addEventListener('click', (e) =>
|
||||||
|
this.#handleDeleteClick(e, streamingMessage.message.id),
|
||||||
|
);
|
||||||
|
$msg
|
||||||
|
.querySelector('.message__actions-buttons')
|
||||||
|
.insertBefore(
|
||||||
|
$deleteBtn,
|
||||||
|
$msg.querySelector('.message__actions-buttons').firstChild,
|
||||||
|
);
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.error('failed to send request:', e);
|
console.error('failed to send request:', e);
|
||||||
|
|||||||
Reference in New Issue
Block a user