Skip to content

Desktop zoom S3: Windows/Linux 原生资格与平台交付 #2270

Closed

Description

@DoodleBears

Parent/spec: #2245. Implementation plan: #2245 (comment)

Human authorized formal implementation and one PR per issue on 2026-10-19. Stacked PRs are allowed; each PR closes only its own slice issue. No merge/release authorization. Do not modify upstream or installed ASAR. Preserve the existing accepted spec (L=-8…8, 1.2^L, device-local defaults/current window separation).

Current handoff — 2026-10-20 (Asia/Tokyo)

Windows implementation and native-test handoff is the current takeover entry point; it supersedes the older Draft/CI-blocked handoff comments below.

  • Source baseline: main 2de555481cb01119b3e6abab19066bfe92f76680; fetch again before starting.
  • Windows workspace shell was delivered in merged fix(client): enable Windows workspace and preserve native dragging #2246; whole-window zoom is still not enabled or natively qualified on Windows. Linux zoom is likewise unqualified.
  • macOS S1/S2 and theme/panel fixes are merged. fix(client): restore default window zoom with Cmd+0 #2334 added Cmd+0 (merge 33da7a0c6f274e50edbc9aa9814d9a1d4eb46f07), closing Desktop zoom: add Cmd+0 reset and retain keypad limitation #2318; those results do not qualify Windows.
  • Windows first needs a qualified Client/default-binding gate, font-key compatibility lease, platform installer/rollback and native launcher path. Current paths contain macOS-only checks/tools. Preserve the same zoom owner and native Shortcut Service; do not bypass guards or patch upstream/ASAR.
  • Recovery priority: Ctrl+0 restores the saved device default, including non-100%. Probe Windows numeric-keypad capability and disclose an unsupported result if refused; an alternative input router is outside the accepted scope.
  • No qualified Windows package is attached yet. Build and identify an immutable Windows candidate, then run the linked native matrix. Reuse one isolated Profile/window and preserve ordinary Windows chrome and other sessions.

User journey

Users on each actually supported Windows/Linux desktop complete the same settings, Ctrl shortcuts, embedded focus, ordinary foreground recovery and true restart/CLI journey as macOS.

Scope and acceptance

  • Implement required platform adaptations on the same Service/compatibility path; explicit capability/version qualification prevents enabling unsupported desktop combinations.
  • Independently verify actual Windows and Linux desktop key routing, plain/shift/reset keys, IME/recording and embedded focus with exactly one handler invocation per intended action; probe numpad capability and explicitly retain unsupported codes as a limitation when refused.
  • Independently verify native visibility lifecycle, embedded rendering, coordinates, preservation of state, persistence/restart and targeted CLI on each platform.
  • Verify full Web browser regression, packaging/upgrade/rollback and per-platform Human QA with exact version/head evidence.
  • Only where the real shell supports multiple product windows, verify independent current levels, default propagation rules, new windows and restored identity; otherwise document not applicable without simulating qualification.

Dependency/delivery

S2 is merged; the remaining dependency is actual Windows/Linux adaptation and independent native qualification. Keep #2245 open until its remaining platform scope is complete.

This issue covers both Windows and Linux. Windows-only proof does not close the complete issue. If delivering independent platform PRs, split platform sub-issues first to retain one issue per closing PR; otherwise intermediate Windows work references #2270 while Linux remains open. Lack of native test access is an explicit unfulfilled gate, not a successful platform result.

This handoff does not extend the earlier macOS PR merge authorization to future platform PRs. No production deployment, release or new platform merge is authorized here.

Activity

  1. DoodleBears commented on Oct 19, 2026

    @DoodleBears
    ContributorAuthor

    Close eligibility audit — keep open

    Windows/Linux platform adaptations and independent native qualification have not been delivered; activation remains disabled. Platform keyboard/embedded focus, visibility recovery, persistence/restart, packaging and Human QA remain required. Multiple-window behavior applies only if the real shell supports it.

    This issue has no completed platform delivery PR and is not eligible for closure. The merged macOS work does not satisfy these requirements.

  2. DoodleBears commented on Oct 19, 2026

    @DoodleBears
    ContributorAuthor

    Human direction: prioritize completing macOS #2268/#2269 and the wallpaper/theme UI regressions first. Windows testing will be handed to the Human after the macOS delivery, with exact artifact/head, setup, test steps and failure-report requirements. Windows/Linux native qualification remains open in #2270 and does not block this macOS implementation turn; neither platform is silently marked supported or complete. No merge/release authorization was added.

  3. DoodleBears commented on Oct 19, 2026

    @DoodleBears
    ContributorAuthor

    Windows handoff after macOS qualification

    macOS completion stack: #2294 → #2295 → #2298 → #2299, all Draft/unmerged. S1 head 574992cbde821398b224b4364810cb63c5919913; S2 head d56e3a77c746cb0cd8756437cddc614ff2e46d25. Parent #2245. Current independent CI blocker: #2314.

    Windows/Linux are not implemented or enabled by this stack. The macOS installer and Client lease intentionally refuse other platforms/unknown tuples. This is an implementation-and-qualification handoff, not a claim that the Human can already accept working Windows zoom. No Windows native result is inferred from macOS pixels/jsdom/source fixtures.

    Before Windows feature acceptance, provide a bounded S3 PR that keeps the same state/CLI owner and portably qualifies the actual installed Windows app/Host/Client tuple, Profile package transaction/version/process/writer-lock guards and native shortcut handoff. Preserve DSH/Electron chrome; do not force platform flags, patch ASARs or bypass the unsupported-version guard. Windows titlebar/rail behavior has its own #2221 boundary.

    Human Windows test matrix once that S3 artifact is ready:

    1. Ordinary product install plus explicit supported activation, fresh launch/restart/disable/upgrade/rollback; original native font preferences and draft remain.
    2. Main composer, same/cross-origin iframe and native guest input: physical Ctrl+=, Ctrl+Shift+= and Ctrl+- each act once; supported custom binding/reset only, no invented numpad support. Verify IME/recording/custom-binding conflicts and retained caret/draft/inner-page zoom.
    3. All17 levels; Settings recovery at23% and430%; popup/tooltip geometry and keyboard focus, panel splitting and click/drag/scroll coordinates.
    4. Windowed/maximized/fullscreen plus Windows display scaling100/125/150/200%; native caption/control hit targets and window drag stay usable.
    5. Guest created/resized while hidden, ordinary hide/occlude/minimize/restore at fixed geometry: whole-window RGB/input pixels, identity/navigation count and exactly one zoom action; no reload/recreation recovery.
    6. Same browser user-data across supported local/remote Hosts and exact-target installed CLI read/set/reset; normal browser zoom remains native. Tokens stay in private files and never in screenshots/logs.

    Keep source tests, native pixels, Human results and exact-head CI separate. One S3 issue/PR remains the delivery unit; no merge/release authorization is implied by this handoff.

    Agent-Task: codex/local/01a1506e-87d7-7c10-b4d9-9ba86f02b264.

  4. DoodleBears commented on Oct 19, 2026

    @DoodleBears
    ContributorAuthor

    Windows takeover handoff — 2026-10-20(Asia/Tokyo)

    Parent #2245 · S3 #2270。此条替代本 issue 中旧的“macOS PR 仍 Draft / 被 #2314 阻塞”交接状态。

    1. 当前实际支持状态

    交接基线是最新 main:2de555481cb01119b3e6abab19066bfe92f76680。Windows 开始工作时仍须重新 fetch,记录实际 HEAD;保留已有脏文件,使用独立 worktree。

    范围 当前事实
    Windows 新 Bot 工作区 #2221 / #2246 已完成并合并;原生标题栏、按钮和拖拽应保留。该验收不等于 Windows 缩放验收。
    macOS 整窗缩放 S1/S2、面板/主题修复已合并;#2334 新增 Cmd+0,合并提交 33da7a0c6f274e50edbc9aa9814d9a1d4eb46f07。
    Windows 整窗缩放 尚未实现平台启用,也未完成原生资格。当前 main 有明确 macOS gate。 不是装好 main 就可以验收 Ctrl 缩放。
    Linux 整窗缩放 尚未启用/验收,仍属于 #2270 的剩余范围。
    普通 Web 浏览器 继续使用浏览器原生缩放。

    macOS 合格组合为 DSH Desktop 0.2.1-rc.2 配合已验证的 Host/Client/兼容包;不是任意桌面版本的支持声明。普通产品安装携带兼容包,但仍需显式激活。目前没有可直接移交的已合格 Windows 安装包;macOS QA 包及私有 Profile/端口/token 不应复制到 Windows。

    #2334 的最终源 head 为 8b46c1771185ae30695fa6526b20e5deb0c52397,适用 CI、独立 Standards/Spec 和 Human QA 已通过。原生行为证据来自现有隔离 Profile 的不可变 Client 包覆盖,不是新 Windows 安装资格。交接基线中下述 Client/安装器/兼容脚本未在该合并后改变。

    2. Windows 需要先补的实现

    先从 Windows DSH 0.2.1-rc.2 的真实安装开始;记录实际可执行程序版本、Host release、Client/兼容包版本和哈希,再决定支持集合。未知组合继续拒绝。Windows 标识取值须分别核对实际 shell 与 Shortcut Service,不能机械替换 darwin / macos 字符串。

    1. Client 挂载与命令默认值:window-zoom-mount.ts 仅允许 shortcuts.platform === 'macos',默认绑定只登记 desktop:macos。需加入已验证的 Windows 组合,沿用现有 WindowZoom owner、Shortcut Service/Registry 和 primary 修饰符;目标为 Ctrl+= / Ctrl+Shift+= / Ctrl+- / Ctrl+0。
    2. 原生字号键所有权:desktop-zoom-compat.mjs 的兼容 lease 只在 dataset.platform === 'darwin' 和受支持 boot release 下暴露。Windows 必须验证 Ctrl 加减与字号命令的真实冲突,然后扩展同一 lease;释放时先撤销应用缩放命令,再恢复原字号 Fiber。保留版本/哈希检查、原生 theme 身份、字体偏好和单一 Provider。
    3. 正式激活/撤销:desktop-zoom-setup.mjs 当前拒绝非 darwin,并使用 .app 路径、PlistBuddy、ps 和 macOS 打包管理器定位。Windows 需要自己的应用版本与 bundled package-manager 定位、目标进程检查、Profile writer lock、路径/link/junction 和锁归属清理验证。保留目标 Desktop 全程关闭、scripts disabled、只动本 Profile 的事务边界;失败/不确定结果先检查,不自动重试。不得只删平台保护。
    4. Windows 原生验证工具:e2e-desktop-zoom-launch.mjs 使用 open / .app / lsof,是 macOS launcher。需补可识别并复用同一 Windows 隔离 Profile、user-data 和精确 PID 的验证路径;不反复新开 DSH,不操作日常 Profile 或其他 session。CLI/调试端口在重启后重新发现,token 只存本机私有文件。
    5. Windows 壳与布局回归:复用已有 Dockview 坐标修复、Settings/Tooltip、壁纸 viewport 层和工作区所有权。保留 Windows 原生标题栏/菜单/窗口按钮/拖拽,不能套用 macOS traffic-light 的 88×40 避让。用 Windows 像素验证后再做必要的小修。

    恢复优先级已确认: Ctrl+0 恢复保存的设备默认值,包括非 100% 默认值;保留显式自定义绑定/解绑,默认键遇到已有显式分配时让位。数字键盘不是本轮必须实现的目标。已证实 macOS 固定版本主进程拒绝 NumpadAdd/Subtract/0;Windows 要核对自己的真实协议/输入行为,若同样拒绝,记录明确限制即可。不得靠 Client 键名替换、第二套全局监听、伪造平台标志、修改上游或已安装 ASAR 覆盖嵌入焦点。

    3. Windows 验收顺序

    A — 固定现场与基线

    • 原生 Windows Desktop 才能资格验收;WSL、jsdom 和浏览器 fixture 只算各自的源码/依赖证明。
    • 记录 Windows build、显示缩放、DSH 安装版本、Host release、候选 source SHA、安装包版本/哈希、激活状态;隔离 Profile 的实际路径和凭证保留私有。
    • 先保留当前 main 的受保护基线:不应登记可用的 Windows zoom target;激活命令应明确拒绝 unsupported platform,不应偷偷改变字号。若安装包没有对应命令,先确认实际运行包/路径与 source 是否一致。
    • 记录草稿、字体设置、面板布局、主题/壁纸;随后安装不可变 Windows 候选包并使用正式显式激活路径。pnpm build 成功不能替代安装及实际冷启动。

    B — 最小可运行闭环(先完成再扩大)

    1. Bot 设置 → 通用 → 窗口缩放。保持 17 档:L=-8…8、比例 1.2^L(约 23%—430%)。默认 100% 时按一次 Ctrl+= 到 120%,Ctrl+- 回 100%;普通等号与带 Shift 的加号分别测试。
    2. 将设备默认设为 120%,当前调到 144%,从真实输入框按一次 Ctrl+0:恢复 120%,默认值不变,已有草稿/选区/焦点保留;随后恢复测试前的设备偏好。
    3. 原生主输入框、同源 iframe、跨源 iframe、真实业务 Browser 的 leased webview 分别测试上述按键与 Ctrl+0。每次只按一次,记录 handler 调用次数和状态写入次数;只看写入不能排除第二次幂等调用。字体数值、guest native zoom、输入内容和光标不得被改动。
    4. 显式自定义绑定、已有 Ctrl+0 冲突、解绑、快捷键录制、按住重复、真实中文输入法未确认候选分别测试。IME/录制等上下文遵循已有原生输入 owner,不绕过保护。数字键盘记“支持的实测结果”或“明确拒绝/不支持”,不伪报通过。

    C — 布局、主题、系统 chrome

    • 83/100/120/144% 及两端 23/430%;放大缩小、拖面板分隔线、调整窗口,内容始终在分配的 panel 内。极端比例仍能进入设置、切换分区、关闭弹层并用 Ctrl+0 恢复。
    • 设置 selector、下拉菜单、Tooltip、弹窗的位置和点击/滚动坐标正确,Escape/焦点返回正常。
    • 浅色/深色、壁纸及面板主题:壁纸持续覆盖内容背景,缩放后没有缩小留白;header 材质正确。Windows 原生 chrome 继续由系统/DSH 拥有,验证最小化/最大化/还原/关闭、菜单、窗口拖拽和双击最大化;标题文字拖 panel,空白拖窗口,按钮可操作。
    • 窗口/最大化/全屏及系统显示缩放 100/125/150/200%;有多显示器时再验证跨 DPI 屏移动。未具备的硬件场景记未测。

    D — webview 前台恢复(独立门槛)

    • 前台、最小化/隐藏时分别创建或 resize guest,保留 RGB 标尺、可编辑输入、guest 身份和导航计数。
    • 最小化约 8 秒后普通还原,在原有窗口尺寸下恢复正确比例与实际像素;输入、guest 身份和导航计数保留。保持 DOM/visibility 为 visible 不代表已经绘制,必须检查原生整窗截图/录屏中的 guest。
    • 不能用刷新/重建 guest、自动重载、尺寸抖动或强制全屏掩盖空白;失败则阻止该 Windows 组合进入支持列表。

    E — 持久化、CLI、安装生命周期

    • 真正退出目标进程,使用同一 Profile/user-data 冷启动;当前/默认比例、草稿、布局、字体、壁纸保留。退出/重新进入 Bot 模式后原生壳恢复正常。
    • 用候选安装包提供的 CLI(避免旧全局命令)执行 window-zoom-clients,选显式 --client-id;get 读 revision,set --zoom-level=1 --expected-revision …、reset --expected-revision … 与设置界面一致。set --zoom-default 同时更新默认和当前值。重启后重新枚举 Client ID,不复用旧 token/端口。
    • 覆盖 stale revision、离线/繁忙 Client、存储写入拒绝、超时后重读而不盲重放;不新增 Host 设置副本。
    • 正式安装 → 显式激活 → 冷启动 → 关闭 Desktop 后 disable → 重启 → 升级/回滚 → 移除产品。运行中的目标必须拒绝包事务,原生字体偏好与 theme namespace 不丢失。未知版本保持不启用,未支持的 Host 切换不得强行开启。
    • 普通 Web 浏览器保留浏览器原生 Ctrl 缩放;macOS 功能不回归。多个产品窗口仅在真实壳支持时验收,否则记不适用,不用模拟窗口冒充。

    4. 源码检查与证据

    工具链读取当前 .node-version / packageManager(本次为 Node v24.21.0、pnpm 12.4.2)。Windows 上先读 AGENTS.md 及 dsh-plugin-dev、dsh-dev、dsh-ui、verify-deepseekbot,按其机制适配真实壳。

    git fetch origin main
    git status --short
    # 在独立 worktree 从最新 origin/main 开始;保留旧工作,不 reset/clean
    node --version
    pnpm --version
    pnpm install --frozen-lockfile
    pnpm exec vitest run window-zoom desktop-zoom workspace-shell workspace-chrome wallpaper
    pnpm lint
    pnpm format:check
    pnpm typecheck
    pnpm build
    node scripts/ci-plan.mjs --base origin/main

    已有 scripts/e2e-dock-zoom.mjs、scripts/e2e-workspace-chrome.mjs、scripts/check-select-zoom.mjs、scripts/check-wallpaper-zoom.mjs 可供依赖/浏览器回归;先检查路径和运行时前提的 Windows 兼容性。它们均不能替代原生 Windows 验收。

    优先阅读 ADR-0237、功能验收地图、CLI 文档。产品术语仍以 CONTEXT.md 为准。

    每个结果标明 source SHA / 包版本与哈希 / DSH+Host+Client / 系统 DPI 与界面 zoom / 操作及焦点 / 预期与实测 / handler 与写入计数 / 截图或录屏 / 通过、失败、未测。截图只含本次测试窗口,发布前移除 token、账号及无关对话。PR 放 GitHub 可渲染的前后原生图;源码、CI、像素、Human QA 分别报告。

    5. 交付边界

    • 本交接不改代码、不启动 Windows 实例,也不宣称 Windows 已通过。macOS 的合并授权不自动扩展到后续平台 PR;此处不授权发布。
    • Windows 先交付可运行适配和真实证据;Desktop zoom S3: Windows/Linux 原生资格与平台交付 #2270 同时包含 Linux,Windows 单平台通过不能直接关闭整个 issue。若按平台分 PR,先拆对应子 issue,保持每个 PR 只关闭自己完成的 issue;否则 Windows 中间成果仅 Refs Desktop zoom S3: Windows/Linux 原生资格与平台交付 #2270,Linux 留待完成。
    • Windows agent 开工前刷新 issue/PR/claim,按 agent-work-trace 认领,不继承本次 macOS task 的身份。保留 dirty work、其他 session 和原生 Profile,不修改上游/ASAR,不进行生产部署。

    Agent-Task(交接整理): codex/local/01a1506e-87d7-7c10-b4d9-9ba86f02b264。

  5. DoodleBears commented on Oct 19, 2026

    @DoodleBears
    ContributorAuthor

    Agent work claim

    • Agent: Codex
    • Task: codex/local/01a155e2-bea7-79d3-a3d1-c3bd465071d5 (not a DSH Session)
    • Issue scope: Windows guarded zoom adaptation, native font-key lease, install/disable, isolated native qualification; Linux remains open. Human explicitly requested takeover from the latest handoff.
    • Branch: codex/2270-windows-window-zoom
    • Baseline: 55c884830 (fresh origin/main)
    • Started: 2026-10-19 21:10 UTC
    • State: active

    Refs the current handoff: #2270 (comment). Preserve existing changes and other sessions. No upstream/ASAR changes, merge or release.

  6. added
    agent:activeOne or more coding-agent tasks currently claim this issue; see claim comments for task IDs
    on Oct 19, 2026
  7. DoodleBears commented on Oct 19, 2026

    @DoodleBears
    ContributorAuthor

    Windows Draft handoff — #2357(2026-10-20,Asia/Tokyo)

    已提交 Draft PR #2357,仅 Refs #2270。Windows 资格未完成,Linux 仍未启用/验收;不合并、不发布、不关闭本 issue。

    • Agent-Task: codex/local/01a155e2-bea7-79d3-a3d1-c3bd465071d5
    • State: handed-off(按 Human 要求先交 Draft 并保存原生现场)
    • 原 claim 的 Started 时间更正为 GitHub 创建时间 2026-10-19 20:40:58 UTC。
    • 新取 origin/main 基线 55c88483002ee10a87a6be262c37c327643a0bee;独立分支 codex/2270-windows-window-zoom;实现 SHA b27a0cee2ea91f6be09a4830f2f59551ea4a81ab,含验证报告的 PR head 447ae518fc3fb89169c885286382f77c5a9f5ea9。已有脏工作保留。

    已实现:Windows 实际 win32 shell / windows Shortcut Service guard、精确 0.2.1-rc.2 boot 与兼容 lease、四个 Ctrl 默认键、原字号 Fiber 的租约恢复顺序;Windows FileVersion / bundled pnpm / CIM 进程 / writer-lock 归属 / junction 检查;正式关闭后 enable/disable 路径;同一 root/user-data/精确 PID/loopback listener 的原生 QA 工具。沿用 WindowZoom owner、现有快捷键服务和设备本地存储,没有第二套按键路由,没有修改上游或 ASAR。

    真实环境与候选包:Windows 11 专业版 25H2 26200.9457 x64;官方 DSH FileVersion 和观察到的 Host release 均为 0.2.1-rc.2;实测 DPR 1.1399999856948853,不代表 100/125/150/200% DPI 通过。

    • 原生记录来自 候选 1 0.0.0-qa.2270.1,是在实现提交前的脏树构建,未保存为精确源码提交,因此不能资格认证最终 head。
    • 候选 2 0.0.0-qa.2270.2 从实现 SHA 构建、打包;manifest SHA-256 e108a50f1770140158b077836214106fd274000856af20bd47f7064dd6781045。尚未安装或原生验收。
    • 完整两轮包哈希、Client/兼容层及官方 EXE/ASAR 身份。官方 exe/ASAR 测后哈希与初始一致;六个 tarball 仅保留本机 QA,未发布。

    原生部分通过(候选 1):

    1. 产品安装但未启用时无 zoom target;关闭 Desktop 后用候选内正式 setup enable,再冷启动出现 Windows lease、设置及一个 CLI target。运行中包事务明确拒绝 desktop-zoom-setup-desktop-running。
    2. Human 在主输入框物理按 Ctrl+0:当前 144→120%、保存的默认 120% 不变;native event / registered handler / zoom-storage write 各 1,草稿及选区 26/26 保留。焦点保持未证实,不算通过。
    3. 单独物理 Ctrl+Shift+=(先释放 Equal):120→144%,native event / handler / write 各 1,草稿保留。
    4. 固定 Windows shortcut protocol 明确拒绝 NumpadAdd/Subtract/0(Unsupported shortcut code),候选记录为不支持;不声称物理数字键盘已通过。

    保留异常:四键请求(Equal、Minus、Shift+Equal、Digit0)实际有 5 个原生事件、handler 和写入,含额外 ordinary Equal,比例 120→144→120→144→172.8→120%。单独 Shift+Equal 补测没有复现额外事件,但未消除该异常;四键组不标为通过。原生自动输入工具产生空 physical code,模拟键不作为通过证据。

    源码/浏览器证据:lint / format / typecheck / build 通过;focused 16 文件 / 87 tests 通过;Dock 17 档、chrome 204、selector 136、Tooltip 204、wallpaper 34 个浏览器 fixture 通过;product 和 Skill changelog 检查通过。这些不替代原生验收。

    本机检查未全绿:related 308 passed / 1 failed,失败是未改动的 fresh-profile 测试将 file:/release/... 固定为 /,Windows 得到 \;docs 前置 slides:build 在现有 sync-slides.mjs spawn pnpm 时 ENOENT,依赖的 docs public-surface 测试未运行。

    最终 head 的 hosted CI 已通过:相关测试、lint/format/typecheck/build、mobile bundles、docs build、隔离 Host smoke。该结果不消除 Windows 本机失败,也不替代原生资格;独立审阅 / Human QA 仍待完成。提交内报告保留 CI 启动前的历史状态,以本次回填更新为准。

    继续时保留同一隔离 Profile(路径和 token 不公开;默认 120%、当前 144%,原偏好恢复待做):

    • 先将最终精确 SHA 候选安装到该 Profile,冷启动重新发现端口、凭证与 Client ID,重跑单键最小闭环并复核额外 Equal、焦点/字体保持。
    • 同源/跨源 iframe、真实业务 leased webview 的四键与 Ctrl+0、handler/write 各一次、输入/光标/guest zoom;真实中文 IME 未确认候选、录制、repeat、自定义绑定/冲突/解绑。
    • 原生面板/分隔线、selector/Tooltip/弹层坐标和 Escape/focus return;23/83/100/120/144/430% 恢复;浅深主题、壁纸、header。
    • Windows 菜单、caption 按钮、窗口与 panel 拖拽、双击最大化、窗口/最大化/全屏、100/125/150/200% 系统 DPI 及可用的跨屏场景。
    • 独立 webview 前台门槛:可见/最小化时创建或 resize guest,保留 RGB 标尺、可编辑输入、identity/navigation count,最小化约 8 秒后原尺寸普通还原,检查真实整窗像素;不能刷新/重建/抖尺寸掩盖失败。本次 Human 普通还原不算该门槛通过。
    • 真正退出重启后的比例/默认/草稿/布局/字体/壁纸持久化、Bot 模式退出重入;关闭后 disable 与字号恢复、升级/回滚/移除;CLI stale/offline/busy/storage-failure/timeout readback;普通 Web/macOS 回归。恢复原始设备偏好。Linux 仍单独未完成。

    详细 pass/fail/untested 报告与原生截图。PR 内嵌同一原生窗口候选 1 的禁用/启用前后图;不能当作最终候选或完整 Windows 资格。

  8. removed
    agent:activeOne or more coding-agent tasks currently claim this issue; see claim comments for task IDs
    on Oct 19, 2026
  9. DoodleBears commented on Oct 19, 2026

    @DoodleBears
    ContributorAuthor

    Windows candidate merged; native qualification remains open

    Human authorized merging the documented candidate after the Draft handoff. PR #2357 is now merged, squash commit 78f61f227586f175699159d0cd0232cb2436839a, from exact head 447ae518fc3fb89169c885286382f77c5a9f5ea9; hosted CI passed before merge.

    This is implementation delivery, not full Windows native qualification. The partial results and remaining gates remain valid: final-candidate install/keyboard retest, extra Equal discrepancy, focus/IME/embedded contexts, guest foreground pixels, native chrome/DPI and full persistence/disable/upgrade/rollback/removal lifecycle are still pending. Linux remains unimplemented/unqualified in this issue.

    The same isolated Profile, user-data, candidate packages and worktree are preserved for continuation. No release or production installation was performed. Keep #2270 open.

    • Agent-Task: codex/local/01a155e2-bea7-79d3-a3d1-c3bd465071d5
    • State: handed-off — implementation merged; remaining Windows native acceptance and Linux scope stay open.
  10. DoodleBears commented on Oct 19, 2026

    @DoodleBears
    ContributorAuthor

    Human acceptance — close this issue

    Human 在了解此前说明的剩余原生验证和 Linux 范围后,明确接受当前结果并要求关闭 #2270。本 issue 按该决定结束跟踪。

    PR #2357 已合并,提交 78f61f227586f175699159d0cd0232cb2436839a,合并前 CI 通过。此前的原生结果、异常及未测项 保留原状态,不追认为通过;Linux 尚未完成适配/原生资格,关闭本 issue 不构成 Linux 支持声明。

    同一隔离 Profile、候选包和证据继续保留,便于需要时复查。此次只关闭 issue,不发布。

    Agent-Task: codex/local/01a155e2-bea7-79d3-a3d1-c3bd465071d5.

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:frontendClient-side implementationenhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions