codebee 0.1.60 → 0.1.61

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/app/ui/app.js CHANGED
@@ -988,8 +988,13 @@ function runStatusText(run) {
988
988
  if (!isNaN(at) && Date.now() < at)
989
989
  return t("将于 {0} 自动续跑", String(run.resume_enqueue_at).slice(11, 16));
990
990
  }
991
- return { queued: t("排队中"), running: t("运行中"), done: t("完成"),
991
+ const txt = { queued: t("排队中"), running: t("运行中"), done: t("完成"),
992
992
  failed: t("失败"), cancelled: t("已取消"), timeout: t("超时") }[st] || st;
993
+ // 「跑完」≠「通过」:done 但评审未过(verdict.pass=false)必须一眼可辨——
994
+ // 此前一律显示「完成」,用户以为修好了(2026-09-23 禅道双单实案反馈)
995
+ if (st === "done" && run && run.verdict && run.verdict.pass === false)
996
+ return txt + t("·未达标");
997
+ return txt;
993
998
  }
994
999
 
995
1000
  /* 运行错误来源徽标:错误文案以「超时」打头(runner 统一格式)时标 TIMEOUT,
@@ -4773,7 +4778,8 @@ async function renderRunDetail() {
4773
4778
  if (!rdCurrent(id, token) || fetchSeq !== S._rdFetchSeq) return; // 拉取期间已切走/被更新请求取代
4774
4779
  $("rd-title").textContent = run.title;
4775
4780
  const chip = $("rd-status");
4776
- chip.className = "chip " + run.status;
4781
+ chip.className = "chip " + run.status +
4782
+ (run.status === "done" && run.verdict && run.verdict.pass === false ? " unqualified" : "");
4777
4783
  chip.textContent = runStatusText(run);
4778
4784
  const active = run.status === "queued" || run.status === "running";
4779
4785
  $("btn-cancel").classList.toggle("hidden", !active);