edit | blame | history | raw

26.0814 Mindraw Coder:DMG 白屏不可复现

用户目标

执行 MD-127-DMG-WHITE-SCREEN-FIX-01:从 commit 4353e348... 和正式 QA 白屏 FAIL 出发,根因定位、最小修复并形成 RED/GREEN 与新代码 Review Gate。

已完成事项

  • 核验指定跨平台 branch/worktree 为固定 HEAD 且 clean。
  • 完整读取派工、QA 报告、工程地图、调试/TDD/交付规则。
  • 追踪 Tauri 原生窗口 → embedded Vite frontend → React App 启动链。
  • 用锁定 DMG 在只读 mount、全新 QA-only HOME/TMPDIR/XDG_CONFIG_HOME 下真实启动并通过 GUI/AX 取证。
  • 用历史 1.2.4 正常候选执行同方法作为对照。
  • 保存阻塞报告、截图证据并回写统一台账与 PMO_INBOX。

核心事实 / 变更快照

  • 变更对象:QA-OPS-MD-127-TAG-FIX-REBUILD-01 白屏复现事实。
  • 事实来源:锁定 DMG SHA、真实只读 mount、Computer Use GUI/AX、WebKit unified log。
  • 调查前:正式 QA 记录两个 clean profile 均持续白屏。
  • 调查后:同一候选在等价条件及新的独立 QA-only profile 中均显示完整侧栏/WebView/主区域;历史 1.2.4 对照也正常。
  • 边界:不推翻正式 QA FAIL、不解除发布禁令;只说明 Coder 当前无法建立可重复 RED,因此不能合法修改代码或生成 Review Gate。
  • 验证证据:02-P/MEXP16-CrossPlatform127/review/md-127-dmg-white-screen-fix-01-blocked-20260814.md

关键决策

没有采用未证实的 vite base、延迟显示窗口或 WebView 重建等猜测性修复。TDD 要求先观察失败;当前固定候选表现为 GREEN,任何产品代码修改都会失去因果证据。

文件变更

只新增阻塞报告/截图和治理记录;源码、测试、配置、CODEGRAPH、CHANGELOG 均未修改。

未决问题与后续建议

固定 QA 需重跑并保留连续录屏、同步 WebKit 日志、白屏时 AX 树和未清理 QA-only profile。如果取得稳定 RED,Coder 再从该证据继续最小修复。

可复用命令 / Runbook

用途:在不触碰用户 App/文档的前提下复核锁定 DMG 的 clean-profile mounted launch。

前置:确认无 Mindraw 进程;CANDIDATE 必须是派工锁定 DMG,QA_ROOT 必须是新 QA-only 临时目录。

CANDIDATE='<locked-candidate.dmg>'
QA_ROOT='<new-qa-only-root>'
mkdir -p "$QA_ROOT/mount" "$QA_ROOT/home/.config" "$QA_ROOT/tmp"
hdiutil attach -readonly -nobrowse -mountpoint "$QA_ROOT/mount" "$CANDIDATE"
HOME="$QA_ROOT/home" TMPDIR="$QA_ROOT/tmp" XDG_CONFIG_HOME="$QA_ROOT/home/.config" "$QA_ROOT/mount/Mindraw.app/Contents/MacOS/mindraw"

验证:读取窗口截图与 Accessibility 树,确认 tauri://localhost WebView、侧栏按钮和主编辑区内容;同时保存相同时间窗的 WebKit unified log。

清理:使用 App 的 Cmd+Q 正常退出,确认无该 bundle 进程后 hdiutil detach "$QA_ROOT/mount"。不得清理失败 profile,直到 Coder完成只读复核。

搜索关键词:MD-127-DMG-WHITE-SCREEN-FIX-01NO_REPRODUCIBLE_REDclean profiletauri://localhost