diff --git a/reaction_board/web/queries.py b/reaction_board/web/queries.py index fa1b4bd..ff0a59f 100644 --- a/reaction_board/web/queries.py +++ b/reaction_board/web/queries.py @@ -646,7 +646,7 @@ class DashboardQueries: value = {"raw": row["v"]} items.append((name, value)) items.sort(key=lambda pair: self._task_started_sort_key(pair[1])) - # 插入序即开始时间倒序;JSON/Object.entries 会保留。 + # 插入序即开始时间倒序;前端 Object.entries 保留该序,勿再排序。 return dict(items) def _task_running(self, conn: sqlite3.Connection) -> dict[str, Any]: diff --git a/reaction_board/web/static/views/system.js b/reaction_board/web/static/views/system.js index 7bb66d4..9bf0451 100644 --- a/reaction_board/web/static/views/system.js +++ b/reaction_board/web/static/views/system.js @@ -6,16 +6,8 @@ import { } from "../format.js"; function taskRows(tasks) { - const entries = Object.entries(tasks || {}).sort((a, b) => { - const sa = Number(a[1] && a[1].started_at); - const sb = Number(b[1] && b[1].started_at); - const aOk = Number.isFinite(sa); - const bOk = Number.isFinite(sb); - if (aOk && bOk) return sb - sa; - if (aOk) return -1; - if (bOk) return 1; - return String(a[0]).localeCompare(String(b[0])); - }); + // Order comes from backend (_task_records started_at DESC); do not re-sort here. + const entries = Object.entries(tasks || {}); if (!entries.length) return emptyState("暂无任务记录", "运行一次同步、快照或发现后会写入最近结果。"); return `