Show animated pulse bar when processing but progress still 0%
Docker Build and Push / check-secrets (push) Successful in 4s
Docker Build and Push / build-and-push (cpu, latest) (push) Has been skipped
Docker Build and Push / build-and-push (cuda, 11.8) (push) Has been skipped
Docker Build and Push / build-and-push (cuda, 12.8) (push) Has been skipped
Docker Build and Push / build-and-push (directml, latest) (push) Has been skipped
Docker Build and Push / build-and-push (cuda, 12.6) (push) Has been skipped
Build Windows CPU / build (push) Has been cancelled
Build Windows CUDA 11.8 / build (push) Has been cancelled
Build Windows CUDA 12.6 / build (push) Has been cancelled
Build Windows CUDA 12.8 / build (push) Has been cancelled
Build Windows DirectML / build (push) Has been cancelled
Docker Build and Push / check-secrets (push) Successful in 4s
Docker Build and Push / build-and-push (cpu, latest) (push) Has been skipped
Docker Build and Push / build-and-push (cuda, 11.8) (push) Has been skipped
Docker Build and Push / build-and-push (cuda, 12.8) (push) Has been skipped
Docker Build and Push / build-and-push (directml, latest) (push) Has been skipped
Docker Build and Push / build-and-push (cuda, 12.6) (push) Has been skipped
Build Windows CPU / build (push) Has been cancelled
Build Windows CUDA 11.8 / build (push) Has been cancelled
Build Windows CUDA 12.6 / build (push) Has been cancelled
Build Windows CUDA 12.8 / build (push) Has been cancelled
Build Windows DirectML / build (push) Has been cancelled
For large videos (e.g. 27508 frames), the first 275 frames only amount to ~1% which rounds to 0 in integer percentage — so detect_pct stays 0 for a while even though the task is actively running. Instead of showing static zero bars, display a pulsing indeterminate bar with an explanation message so the user knows the task is alive. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Haiku 4.5
parent
b4b9837dde
commit
8dc1276a7c
+24
-6
@@ -458,6 +458,11 @@
|
||||
.log-toolbar .subtle { flex: 1; }
|
||||
#wl-pause-btn.paused { color: var(--warn); border-color: rgba(181,113,10,.5); }
|
||||
|
||||
@keyframes pulse-bar {
|
||||
0%,100% { opacity:.3; transform: scaleX(.3); }
|
||||
50% { opacity:1; transform: scaleX(1); }
|
||||
}
|
||||
|
||||
/* ── Responsive ─────────────────────────────────────────── */
|
||||
@media (max-width: 1100px) {
|
||||
.shell { grid-template-columns: 1fr; }
|
||||
@@ -1073,12 +1078,25 @@ function updateDetailDynamic(t) {
|
||||
const p = t.download_progress||0;
|
||||
progEl.innerHTML = `<div style="font-size:11px;color:var(--muted);margin-bottom:4px">下载进度 ${p}%</div><div class="prog-track"><div class="prog-fill dl" style="width:${p}%"></div></div>`;
|
||||
} else if (t.status === 'processing') {
|
||||
progEl.innerHTML = `
|
||||
<div style="display:grid;gap:5px">
|
||||
<div class="phase-row"><span class="phase-label">检测</span><div class="phase-track"><div class="phase-fill detect" style="width:${t.detect_pct||0}%"></div></div><span class="phase-pct">${t.detect_pct||0}%</span></div>
|
||||
<div class="phase-row"><span class="phase-label">处理</span><div class="phase-track"><div class="phase-fill process" style="width:${t.process_pct||0}%"></div></div><span class="phase-pct">${t.process_pct||0}%</span></div>
|
||||
<div class="phase-row"><span class="phase-label">合并</span><div class="phase-track"><div class="phase-fill merge" style="width:${t.merge_pct||0}%"></div></div><span class="phase-pct">${t.merge_pct||0}%</span></div>
|
||||
</div>`;
|
||||
const allZero = !t.detect_pct && !t.process_pct && !t.merge_pct;
|
||||
if (allZero) {
|
||||
// 尚未有实质进度,显示脉冲动画表示"正在工作"
|
||||
progEl.innerHTML = `
|
||||
<div style="font-size:11px;color:var(--warn);margin-bottom:6px">
|
||||
⏳ 初始化中,正在处理第一批帧…(大视频需要等待)
|
||||
</div>
|
||||
<div class="prog-track" style="overflow:visible">
|
||||
<div style="height:4px;border-radius:2px;background:linear-gradient(90deg,var(--brand),#0ea5a5);
|
||||
animation:pulse-bar 1.5s ease-in-out infinite;transform-origin:left"></div>
|
||||
</div>`;
|
||||
} else {
|
||||
progEl.innerHTML = `
|
||||
<div style="display:grid;gap:5px">
|
||||
<div class="phase-row"><span class="phase-label">检测</span><div class="phase-track"><div class="phase-fill detect" style="width:${t.detect_pct||0}%"></div></div><span class="phase-pct">${t.detect_pct||0}%</span></div>
|
||||
<div class="phase-row"><span class="phase-label">处理</span><div class="phase-track"><div class="phase-fill process" style="width:${t.process_pct||0}%"></div></div><span class="phase-pct">${t.process_pct||0}%</span></div>
|
||||
<div class="phase-row"><span class="phase-label">合并</span><div class="phase-track"><div class="phase-fill merge" style="width:${t.merge_pct||0}%"></div></div><span class="phase-pct">${t.merge_pct||0}%</span></div>
|
||||
</div>`;
|
||||
}
|
||||
} else {
|
||||
progEl.innerHTML = '';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user