Conversation
tt-a1i
left a comment
There was a problem hiding this comment.
审查提交:ece3e4201cc22b5ef719266fc55d3fa717ef6fd1。
需要修改后再合并。
具体问题
P2 — 逐文件详情丢失重命名的旧路径 · web/host/git-review.ts:283
真实临时 Git 仓库执行 git mv old.txt new.txt:staged summary 为 renamed、+0/-0;请求 new.txt 详情却变成 added、/dev/null 全文件新增。filePath pathspec 只包含新路径,截掉 rename source。
P2 — 摘要 revision 未包含 index 内容身份,刷新仍保留旧暂存差异 · web/host/git-review.ts:540
保持工作文件不变,用 git update-index 将暂存 blob 从 staged-a 改为 staged-b,两者 +1/-1;两个 summary revision 完全相同,detail 内容不同。ReviewPanel effect 依赖该 revision 并保留 loadedFile,故刷新相同路径时不会重新读,继续显示旧暂存内容。应包含所选比较两端的 Git 对象身份。
P2 — POSIX 权限位断言阻断 Windows CI · tests/web/model-configuration.test.ts:67
当前 GitHub Windows job 在新增用例此行失败,实际 mode 438(0666)对期望 384(0600);Windows 不提供同样的 POSIX 权限位语义。应按平台验证适用的文件权限,不能把此失败当作 Windows 凭据泄漏证据。run 35565898489。
验证范围
已审阅生产代码、相关原生配置测试及五份历史验证记录。80 个 Node 测试通过,218 个 UI/集成测试通过。独立真实 Git 复现上述两个差异问题。
限制与后续
本轮未重新运行完整浏览器 E2E、真实模型或 Windows 本地测试;当前远端 E2E 在真实嵌入 Chromium 首帧仍 hidden 处失败,原因未定位,不能引用 PR 描述的旧本机 56/56 替代当前 CI。源码/原生集成验证不等于浏览器全面验收。
已核对的 CI 失败
Run 35565898489:Web E2E:真实 Chromium 初始图像 5 秒后仍为 hidden;根因未定。Windows:新增 models.json 用例无条件断言 POSIX 0600,实际 0666。前者需要复现,后者是明确的平台测试问题。
tt-a1i
left a comment
There was a problem hiding this comment.
复审提交 4480b8d88a9453eea7b2cfed3e26a50d7927770b。
本轮新增了会话历史、后台执行投影、地址草稿和 Chromium 启动/清理诊断;此前 Windows POSIX 权限断言已按平台修正。不过两个确定性 Git review 问题在当前 head 仍存在,且当前 Node 24 检查新增失败,因此仍需修改。
P2 — 逐文件详情仍丢失 rename 的旧路径 · web/host/git-review.ts:283
详情查询仍把 pathspec 限定为新路径。真实 git mv old.txt new.txt 的摘要能识别 rename,但打开 new.txt 详情会截掉 source,退化为 /dev/null 到新文件的 added diff。当前 head 没有修改这条生产路径或增加 rename detail 回归。
P2 — summary revision 仍不包含 index 内容身份 · web/host/git-review.ts:540
revision 目前使用工作树文件的 size/mtime/ctime;纯 git update-index 可以在工作文件完全不变时替换 staged blob。相同路径和相同 +/- 统计仍产生相同 revision,UI 会继续保留旧的暂存详情。revision 需要纳入所选比较两端的 Git object/index 身份。
P2 — 当前 Node 24 CI 在本 PR 修改的 wheel 合并用例失败 · tests/web/workbar-input.spec.ts:202
Run 35736169313 中 coalesces wheel deltas while an input request is in flight 期望首次 browserAction 已调用一次,实际为 0;全量结果 464 pass / 1 fail。请定位时序问题或修正确定性等待后重跑,不应以其他 job 或旧本地结果代替当前 head 的集成检查。
验证边界:没有对 115 个文件做完整浏览器人工验收;以上前两项来自可重复的真实 Git 行为,第三项来自当前远端日志。最新 Chromium cleanup 增量保留原始启动错误并等待 close 后删 profile,未发现额外阻断。
ProblemThe composer-level file bubble accumulated pre-existing dirty files, while a long Session could say its history was exhausted even when an individual message body was only a truncated preview (observed on the resident 57161 service). ValueThe conversation now shows only changes recorded during each user turn, next to its answer. Older native turns and the full visible body of a truncated user/assistant item can be restored without raising the bounded snapshot size. Approach
ValidationCommit 94059b5: ImpactNo model-facing tool or package configuration change. Turn diffs are bounded private Session evidence (200 files / 256 KiB, 64 MiB baseline quota); a partial or unavailable baseline is explicitly distinguished from verified zero changes. Existing Session data and the resident service were left untouched. Research, limits, and ablation: https://github.com/testikun/openpi/blob/codex/web-ux-597/docs/research/WEB_TURN_EVIDENCE_AND_ITEM_RECOVERY_2026-09-23.md |
|
CI follow-up for commit 94059b5: all checks passed. Node 22.19.0 / 24 / 26, Linux Web E2E (including the new turn/history cases), Windows background-terminal lifecycle/full-suite isolation, and area labels are green: https://github.com/openpi-dev/openpi/actions/runs/35840808353 . The earlier validation comment was written while CI was pending. The resident 57161 service remains unchanged. |
ProblemIssue #597 的 Web 跟进:运行中的状态栏显示排队数量,但正文只存在当前浏览器的临时消息里;刷新、切换控制会话或回看历史后,用户可能只看到“1 条消息正在排队”却找不到自己的消息。 Value排队内容在当前与后台会话中持续可见,刷新后仍可核对;消息真正进入 Pi 历史时不留下重复的“已发送”气泡。 Approach
Validation
Impact
|
Problem
Related to #597; follows merged PR #561. Daily Web usage exposed missing older user messages, stale background execution, lost or duplicated pending prompts, slow workbar panels, pasted-image races, unclear settings feedback, and no complete-turn elapsed time. The embedded browser was blurry and queued input; Git review depended on an optional baseline that failed on large untracked workspaces.
Value
The workbench preserves drafts and Session identity across asynchronous operations, makes native configuration editable, and keeps visible feedback tied to actual Pi execution and saved results. Hidden panels do less work, while opening them refreshes the relevant content promptly. All usage-test rounds remain in this one PR; #597 stays open for continued iteration.
Approach
/openpi-setup. Native models and write-only API keys use Pi's existing model/configuration and login APIs./, with reasons for unavailable commands. Display running and settled elapsed time from Pi's actual start/settlement events; persist optional display evidence in the native Session without adding model context or changing terminal outcomes./usageuses native feedback. Keep setup requests visible, distinguish React keys from native history IDs, reconcile legacy live messages one-to-one, and keep Send reachable when the plan bar appears in short viewports.Sources, reproductions, ablation and boundaries: native interactions, round 3, round 4, round 5, history and lifecycle. Pi Web and Maka are source-scoped references, not embedded products or claims of full parity.
The review follow-up's six real-Git failures, fixes and browser evidence are recorded in Git comparison identity.
Validation
43cd2e9in merge commit0bc3470, including the earlier structured-question/plan work in35ebf01and foreground post-edit lifecycle.81d4c67and CI environment250731f:bun run checkpassed;bun run testreports Node 1931 passed / 5 skipped and Vitest 497 passed.0bc3470, the separate Pi SDK + scripted-provider Chromium suite passed 12/12, covering structured answers, refresh and controller isolation, cancellation, handoff, plan controls and native command results. This version-scoped result was not rerun for the Git-only change and is not real-model reliability evidence.0bc3470at the user's request, with configuration and Sessions preserved. The Git review follow-up is tested separately. Credentials, private Sessions and raw evidence remain outside Git.250731f: Node 22.19.0 / 24 / 26, Linux Web E2E 66/66, three independent Chromium cold starts/cleanups, and Windows process lifecycle/full-suite isolation. This includes the wheel regression on the current Node 24 job. After a cold-start diagnostic identified an invalid D-Bus address, Linux tests run in an isolateddbus-run-session; the original debug-port deadline, sandbox and failure assertions remain.ENOTEMPTYcleanup failure and two old-version regressions establish the shutdown ordering bug. A separate prior eight-second debug-port timeout still has no confirmed root cause because its original stderr was discarded; the new diagnostics preserve that evidence if it recurs. Local cleanup, logging-failure and bounded-UTF-8-tail regressions passed.Impact