ui: show latest collect branch/eta message instead of generic running text

This commit is contained in:
2026-02-28 15:19:36 +03:00
parent b6ff47fea8
commit dae4744eb3

View File

@@ -281,7 +281,6 @@ function pollCollectionJobStatus() {
renderCollectionJob();
}
} else if (prevStatus !== collectionJob.status && collectionJob.status === 'running') {
appendJobLog('Сбор выполняется...');
renderCollectionJob();
}
})
@@ -359,7 +358,7 @@ function renderCollectionJob() {
}[collectionJob.status];
const progressLabel = isTerminal
? terminalMessage
: 'Сбор данных...';
: latestCollectionActivityMessage();
progressValue.textContent = `${collectionJob.progress}% · ${progressLabel}`;
logsList.innerHTML = collectionJob.logs.map((log) => (
@@ -370,6 +369,19 @@ function renderCollectionJob() {
setApiFormBlocked(!isTerminal);
}
function latestCollectionActivityMessage() {
if (!collectionJob || !Array.isArray(collectionJob.logs) || collectionJob.logs.length === 0) {
return 'Сбор данных...';
}
const last = String(collectionJob.logs[collectionJob.logs.length - 1].message || '').trim();
if (!last) {
return 'Сбор данных...';
}
// Job logs already contain server timestamp prefix. Show concise step text in progress label.
const cleaned = last.replace(/^\d{4}-\d{2}-\d{2}T[^\s]+\s+/, '').trim();
return cleaned || 'Сбор данных...';
}
function isCollectionJobTerminal(status) {
return ['success', 'failed', 'canceled'].includes(normalizeJobStatus(status));
}