Skip to content

批量任务:显示哪个批量任务正在运行 #46

Closed

Description

@Delta1035

背景

批量执行脚本时,只有侧栏「批量」标签上的一个圆点表示「有任务在执行」,看不出是哪个任务;而且「执行中」只覆盖启动阶段:并行任务启动完、串行任务最后一步满足条件后就变成「已完成」,但它带起来的服务仍在运行。

要做

「正在运行」的判断(packages/shared,纯函数 + 单元测试):

  • 启动中:最近一次执行状态为 running,显示进度(已完成步骤数 / 总数);
  • 运行中:执行已结束,但它启动或复用的脚本(步骤的 runId)仍有未退出的;
  • 全部退出后不再显示。数据来自现有 listGroupStates + listRuns,不改 API 与 core。

显示位置:

  1. 「批量」标签圆点:悬停 / aria-label 显示正在运行的任务名;
  2. 侧栏顶部常驻条:每个正在运行的任务一行(名称、状态、进度),点击跳到任务,带停止按钮;
  3. 项目详情的脚本行:属于批量任务的脚本显示「批量:任务名」徽标(含复用的脚本);
  4. 标题栏:显示正在运行的任务名与进度,多个时「xx 等 n 个」,悬停看完整列表;窄屏隐藏。

不做:改 core 的执行状态定义、通知 / 托盘提示。

验收标准

  • pnpm check 通过
  • 判断逻辑有单元测试(启动中、运行中、全部退出、复用、无 runId 的旧记录)
  • pnpm e2e 通过,groups.spec.ts 覆盖四处显示的出现与消失
  • 需要时更新 ARCHITECTURE.md / PROGRESS.md

Activity

  1. added this to the 桌面 MVP 发布 milestone on Oct 9, 2026
  2. Delta1035 commented on Oct 9, 2026

    @Delta1035
    OwnerAuthor

    验证结果(PR #48):

    • pnpm check 通过:格式、lint、类型检查;单元测试 shared 119、desktop 669 通过(新增 active-groups.test.ts 6 个:启动中、运行中、全部退出、stopping 仍算运行、复用 / 重复 runId、无 runId 的旧记录)。
    • pnpm e2e(Windows)34 通过、2 跳过(SIGTERM 用例仅在 Linux 运行);groups.spec.ts 断言启动中与执行结束后,「批量」标签、侧栏常驻条、标题栏都显示任务名和进度,脚本行显示「批量:front1」,停止后全部消失。
    • 未验证:Linux 本机(交给 CI 的 Ubuntu);窄屏抽屉里常驻条的实际观感、多个任务同时运行时的布局只由代码保证,没有人工截图检查。
  3. added a commit that references this issue on Oct 9, 2026
    5dfaa1e
  4. added a commit that references this issue on Oct 28, 2026
    78cd229
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:desktopElectron 主进程、preload 与 renderer UIarea:sharedpackages/sharedenhancementNew feature or request

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions