apache / apache/maka

ci: add a macOS e2e lane so platform-specific renderer regressions cannot sail through green

Open
#2,342 1 comment 0 reactions 1 assignee Claimed by @1625567290 View on GitHub
Dominant language
TypeScript
Stars
5.4k
Forks
502
Avg merge
1d 2h
Merged PRs (30d)
715

Description

## 背景

Prompt rail 在 macOS 上的点击穿透回归(#2338 修复)说明了一个系统性缺口:桌面 e2e 只在 Linux(xvfb)跑,而渲染器有平台特有的行为差异,CI 永远抓不到。

## 已知的平台差异(本次实证)

- **scrollbar 模型**:macOS 是 overlay scrollbar——不占布局空间,但命中区域拦截指针,rail 画在滚动条上却点不到;Linux in-flow scrollbar 把内容列左移,同一份代码行为完全不同。
- **滚动后命中时序**:程序滚动后约 1.5s 内滚动容器内容命中短暂失效/碎片化(macOS 特有)。
- **后台窗口节流**:本地 4 workers 并行时,后台 Electron 窗口的 smooth scroll/IO 被节流,断言超时(配置注释已承认该本地并行问题)。

## 建议

在 .github/workflows 增加一个 macOS runner 的 e2e job(或复用 release-desktop.yml 的 macos lane 加 Playwright 步骤),与现有 e2e_shard 相同的 shard 配置。成本:macOS runner 时长与费用;收益:rail 类命中回归、滚动时序类问题在合入前即暴露。

关联:#2338 的平台注记(prompt-rail.spec.ts)目前只能要求'合入前在 macOS 手工跑一次'。

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.