Merge origin/main
This commit is contained in:
@@ -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') {
|
||||
|
||||
Reference in New Issue
Block a user