test(mount): 挂载/perf lane 仍按 0.1.5-rc.2 契约编写,在 0.2.0-rc.2 上 4 条常红(pre-existing) #2

Open
opened 2026-10-11 22:03:27 +08:00 by hermes-mac13 · 0 comments

现象

在 DSH 0.2.0-rc.2(npm latest,与 peerDependencies 的 ^0.2.0-rc.2 同 tuple)上跑 scripts/e2e-mount.sh,结果 3 passed / 4 failed;同环境复跑基线 5a715ac(origin/main)失败集合逐条相同,故与任何插件改动无关:

spec 0.2.0-rc.2
tests/e2e/mount.e2e.ts:144 挂载 + 内置 tab 扫描 ✘ 90s 内 [data-dsh-apes-sidebar] 内没有 [title](tab 条未起);连带 editor chunk 的 waitForResponse 未达成
tests/e2e/mount.e2e.ts:561 插件 chrome 挂载 + 稳定 data 属性 ✓
tests/e2e/mount.e2e.ts:594 标准 WCO 几何驱动条 ✓
tests/e2e/mount.e2e.ts:636 opt-in shell preset ✘ settings.update: 400
tests/e2e/mount.e2e.ts:664 custom scheme 注入用户样式 ✘ settings.update: 400
tests/e2e/perf.e2e.ts:113 mount latency / longtask / bundle cost ✓
tests/e2e/perf.e2e.ts:182 底部条拖拽帧率 ✘ 帧间隔超阈

证据(本地 macOS 13.7.8)

  • 本机 Playwright 1.62 拒绝安装自带 chromium(Playwright does not support chromium on mac13),已用系统 Chrome 154(临时 channel: 'chrome')跑通整条 lane,证明 lane 本身可执行。
  • 两次运行均为「打包 → scratch profile dsh plugin add → 真实 dsh web --port 0 → Playwright 7 用例」:本分支 4 failed / 3 passed,基线 5a715ac 4 failed / 3 passed,红条编号完全一致(144 / 636 / 664 / 182)。

归因

  • tests/e2e/* 与 .github/workflows/ci.yml 最后同步于 5a7e213(2026-10-03,v0.19.1 re-base = DSH 0.1.5-rc.2 时代);其后的 0.2.0-rc.2 对齐提交(df6f99c、f4c44d1、a6dd8aa、0aafa94)没有回带 lane。
  • ci.yml:178 仍 npm install -g @deepseek-ai/dsh@0.1.5-rc.2,与 package.json 的 peer 下限 ^0.2.0-rc.2 不一致 —— 该 lane 从未在插件当前目标宿主上验证过。
  • settings.update: 400 来自插件自有路由 /sidebar/settings.update 内层调用的宿主 settings 服务;seed 会话未起导致 :144 的 tab 条缺失 —— 两者都符合「lane harness 用的是 0.1.5-rc.2 的 RPC/命名空间契约」。

建议动作(待拍板)

  1. 把 ci.yml 的 mount job 钉版推到 @deepseek-ai/dsh@0.2.0-rc.2(与 peer 对齐),让 lane 在插件真正的目标宿主上跑。
  2. 按 0.2.0-rc.2 的 RPC 参数名 / settings 命名空间注册契约修 tests/e2e/host-protocol.ts 与两处 settings.update 用例。
  3. perf.e2e.ts:182 的帧率阈值在无头 Chrome 下单独复测(可能只是测量环境问题)。

来源:PR #1 的挂载冒烟(同一批证据)。

## 现象 在 DSH `0.2.0-rc.2`(npm `latest`,与 `peerDependencies` 的 `^0.2.0-rc.2` 同 tuple)上跑 `scripts/e2e-mount.sh`,结果 **3 passed / 4 failed**;同环境复跑基线 `5a715ac`(origin/main)**失败集合逐条相同**,故与任何插件改动无关: | spec | 0.2.0-rc.2 | | --- | --- | | `tests/e2e/mount.e2e.ts:144` 挂载 + 内置 tab 扫描 | ✘ 90s 内 `[data-dsh-apes-sidebar]` 内没有 `[title]`(tab 条未起);连带 editor chunk 的 `waitForResponse` 未达成 | | `tests/e2e/mount.e2e.ts:561` 插件 chrome 挂载 + 稳定 data 属性 | ✓ | | `tests/e2e/mount.e2e.ts:594` 标准 WCO 几何驱动条 | ✓ | | `tests/e2e/mount.e2e.ts:636` opt-in shell preset | ✘ `settings.update: 400` | | `tests/e2e/mount.e2e.ts:664` custom scheme 注入用户样式 | ✘ `settings.update: 400` | | `tests/e2e/perf.e2e.ts:113` mount latency / longtask / bundle cost | ✓ | | `tests/e2e/perf.e2e.ts:182` 底部条拖拽帧率 | ✘ 帧间隔超阈 | ## 证据(本地 macOS 13.7.8) - 本机 Playwright 1.62 拒绝安装自带 chromium(`Playwright does not support chromium on mac13`),已用系统 Chrome 154(临时 `channel: 'chrome'`)跑通整条 lane,证明 lane 本身可执行。 - 两次运行均为「打包 → scratch profile `dsh plugin add` → 真实 `dsh web --port 0` → Playwright 7 用例」:本分支 4 failed / 3 passed,基线 `5a715ac` 4 failed / 3 passed,红条编号完全一致(144 / 636 / 664 / 182)。 ## 归因 - `tests/e2e/*` 与 `.github/workflows/ci.yml` 最后同步于 `5a7e213`(2026-10-03,v0.19.1 re-base = DSH 0.1.5-rc.2 时代);其后的 0.2.0-rc.2 对齐提交(`df6f99c`、`f4c44d1`、`a6dd8aa`、`0aafa94`)没有回带 lane。 - `ci.yml:178` 仍 `npm install -g @deepseek-ai/dsh@0.1.5-rc.2`,与 `package.json` 的 peer 下限 `^0.2.0-rc.2` 不一致 —— 该 lane 从未在插件当前目标宿主上验证过。 - `settings.update: 400` 来自插件自有路由 `/sidebar/settings.update` 内层调用的宿主 settings 服务;seed 会话未起导致 `:144` 的 tab 条缺失 —— 两者都符合「lane harness 用的是 0.1.5-rc.2 的 RPC/命名空间契约」。 ## 建议动作(待拍板) 1. 把 `ci.yml` 的 mount job 钉版推到 `@deepseek-ai/dsh@0.2.0-rc.2`(与 peer 对齐),让 lane 在插件真正的目标宿主上跑。 2. 按 0.2.0-rc.2 的 RPC 参数名 / settings 命名空间注册契约修 `tests/e2e/host-protocol.ts` 与两处 `settings.update` 用例。 3. `perf.e2e.ts:182` 的帧率阈值在无头 Chrome 下单独复测(可能只是测量环境问题)。 来源:PR #1 的挂载冒烟(同一批证据)。
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: figmar/apes-sidebar#2