@@ -254,7 +254,6 @@ export default function UpdatePage({
|
||||
const [showUpgradeModal, setShowUpgradeModal] = useState(false);
|
||||
const [confirmReadyToDownload, setConfirmReadyToDownload] = useState(false);
|
||||
const [cancelling, setCancelling] = useState(false);
|
||||
const [queuedSeconds, setQueuedSeconds] = useState(0);
|
||||
const [now, setNow] = useState(() => Date.now());
|
||||
|
||||
const announced = useRef<string | null>(null);
|
||||
@@ -321,17 +320,9 @@ export default function UpdatePage({
|
||||
else setLoading(false);
|
||||
}, [isMock]);
|
||||
|
||||
// Terminal failures or cancellations do not pollute active state
|
||||
const job = info?.job && info.job.status !== "failed" && info.job.status !== "cancelled" ? info.job : null;
|
||||
|
||||
// Queued duration counter
|
||||
useEffect(() => {
|
||||
if (job?.status === "queued") {
|
||||
const timer = window.setInterval(() => setQueuedSeconds((s) => s + 1), 1000);
|
||||
return () => window.clearInterval(timer);
|
||||
}
|
||||
setQueuedSeconds(0);
|
||||
}, [job?.status]);
|
||||
// Keep terminal jobs visible so operators can understand what happened and
|
||||
// recover without guessing. The polling effect below only polls active jobs.
|
||||
const job = info?.job ?? null;
|
||||
|
||||
const applyQueuedAt = timestamp(job?.applyQueuedAt);
|
||||
const restartAt =
|
||||
@@ -409,7 +400,7 @@ export default function UpdatePage({
|
||||
disposed = true;
|
||||
if (timer !== undefined) window.clearTimeout(timer);
|
||||
};
|
||||
}, [isMock, job?.id, job?.status, job?.operation, notify, restartSeconds]);
|
||||
}, [isMock, job?.id, job?.status, job?.operation, notify]);
|
||||
|
||||
// Check update handler
|
||||
const check = async () => {
|
||||
@@ -918,7 +909,7 @@ export default function UpdatePage({
|
||||
{job?.status === "queued" && (
|
||||
<div className="tn-modal-card-box">
|
||||
<div className="tn-modal-card-title">
|
||||
<div style={{ marginBottom: 12 }}><BeamBar width={160} /></div>正在建立与官方 Git 仓库的流式传输连接...
|
||||
<div style={{ marginBottom: 12 }}><BeamBar width={160} /></div>正在等待系统更新服务接管任务...
|
||||
</div>
|
||||
|
||||
<div className="tn-modal-actions-bar">
|
||||
|
||||
Reference in New Issue
Block a user