Merge origin/main

This commit is contained in:
Mikhail Chusavitin
2026-02-18 10:12:07 +03:00
18 changed files with 1236 additions and 159 deletions

View File

@@ -156,7 +156,27 @@
const known = knownTasks.get(task.id);
if (!known) {
knownTasks.set(task.id, {status: task.status, notified: false});
// New task - check if it's recently completed (within last 10 seconds)
const isRecentlyCompleted = task.status !== 'running' && task.done_at;
if (isRecentlyCompleted) {
const doneAt = new Date(task.done_at);
const now = new Date();
const ageSeconds = (now - doneAt) / 1000;
// Show notification for tasks completed within the last 10 seconds
if (ageSeconds < 10) {
if (task.status === 'completed') {
showToast(task.message || 'Задача завершена', 'success');
} else if (task.status === 'error') {
showToast(task.error || 'Ошибка выполнения задачи', 'error');
}
knownTasks.set(task.id, {status: task.status, notified: true});
} else {
knownTasks.set(task.id, {status: task.status, notified: false});
}
} else {
knownTasks.set(task.id, {status: task.status, notified: false});
}
} else if (known.status === 'running' && task.status !== 'running' && !known.notified) {
// Task transitioned from running to completed/error
if (task.status === 'completed') {