ui: show latest collect branch/eta message instead of generic running text
This commit is contained in:
@@ -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));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user