Skip to content

fix(desktop): preserve native theme settings during zoom setup - #2298

Merged
DoodleBears merged 16 commits into
mainfrom
codex/2268-macos-zoom-delivery
Oct 19, 2026
Merged

DoodleBears merged 16 commits into
mainfrom
codex/2268-macos-zoom-delivery

Conversation

@DoodleBears

@DoodleBears DoodleBears commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Issue #2268 | Agent claim | Native delivery proof

Why the change

Enable the product-carried macOS whole-window zoom adapter without changing the installed shell or losing native font settings.

Special things to note

  • Stacked on fix(ui): let wallpaper show through workspace chrome #2295 → fix(ui): keep wallpaper crop stable across desktop zoom #2294; Closes Desktop zoom S1: macOS 设置、快捷键与本机恢复闭环 #2268, Merge authorized after exact-head CI and final review. Ordinary Bundle installation carries the adapter; explicit setup requires the target Desktop closed and --home <home> --profile desktop --desktop-app <app>. It uses that app's bundled pnpm with scripts disabled and the native Profile writer lock, refuses a running target/other owner/unknown app version, and never edits ASAR. Disable before product removal or an unqualified shell upgrade; setup success is configuration only.
  • Actual macOS 0.2.1-rc.2 proof: installed final tarball enable/restart, disable/native restoration/re-enable, original ui-theme 15px font retention, same-browser-data native Host A→B→A with identical zoom document, and installed CLI read/reset/set/readback. Human accepted real IME protection and final windowed/fullscreen wallpaper/header/panels/Settings. Recorded prior Client suite: 2035 pass/1 existing skip; final focused 66 tests, lint/format/types/build pass. Fresh exact-head verify CI and package-preparation preflight passed. S2 wider native popup/embedded qualification stays in Desktop zoom S2: 编辑与嵌入焦点、极端比例和恢复可靠性 #2269; Windows/Linux in Desktop zoom S3: Windows/Linux 原生资格与平台交付 #2270.
  • Merge risk: two-way door — disable the owned dependency/link and revert; medium blast radius — explicit opt-in macOS Profile resolution/font shortcuts. Review focus: copied MIT payload, offline writer ownership, package outcomes and native preferences. The managed-Desktop CLI and native-manager not-bundle failures are preserved, not presented as successful installation paths.

Change outline

Ordinary product Bundle → portable pinned licensed theme
Closed Desktop + explicit application → shared Profile lock → bundled pnpm → owned theme link
Cold native boot → original ui-theme Settings row → owned font shortcut lease → Client zoom
Closed-app disable → remove owned dependency/link → cold boot → original native theme

Detailed native lifecycle and proof limits. The actual boot-release guard retains native font keys on unknown/missing versions; it does not qualify another shell tuple.

This PR's follow-up changes packaging/CLI rather than adding a rendered surface; matched visual bug before/after pairs are in #2294/#2295. The image below is actual integrated S1/S2 Desktop output after installing the recorded .14 artifact, with a synthetic unsent draft.

Actual installed macOS Desktop at 144% with full wallpaper, themed panel headers and retained test draft

Task: codex/local/01a1506e-87d7-7c10-b4d9-9ba86f02b264. No merge or release.

Review refresh (2026-10-20): latest main is integrated; source semantic diffs remain unchanged. Fresh Standards/Spec review and CI bind to 494661c8d7860e8d1bb63acd7a756d4958f30f63. Current stack: main → #2294 → #2295 → #2298 → #2299. #2317 is closed/superseded by merged #2319. Native evidence retains its recorded artifact scope; default reset/keypad #2318 and Windows/Linux #2270 remain outstanding. The Human authorizes merge after all gates pass; no release.

Merged to main as 628d5a84cedfa285571341c671a471bee3edea94 after exact-head CI and independent Standards/Spec reviews passed. See final stack record. No release.

Issue: #2268

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

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

coderabbitai Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 44 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 2 included reviews currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: cf9f6103-72a4-4207-83f1-e3c8fc48531c
📥 Commits

Reviewing files that changed from the base of the PR and between ef4856d and 494661c.

⛔ Files ignored due to path filters: 1
  • .github/pr-screenshots/2268-macos-delivery/native-window-144.png is excluded by !**/*.png
📒 Files selected for processing: 25
  • .agents/skills/dsh-dev/SKILL.md
  • .agents/skills/verify-deepseekbot/features/desktop-window-zoom.md
  • .github/pr-screenshots/2268-macos-delivery/README.md
  • .github/pr-screenshots/2268-macos-delivery/historical-validation.json
  • .github/pr-screenshots/2268-macos-delivery/native-desktop-20261019.json
  • .github/pr-screenshots/2268-macos-delivery/validation.json
  • .gitignore
  • changes/2268-macos-zoom-delivery.md
  • docs/adr/0237-desktop-window-zoom-is-client-owned.md
  • docs/architecture/botharness-architecture.md
  • docs/bot-cli.md
  • docs/bot-cli.zh.md
  • packages/client/src/theme-schema.ts
  • packages/deepseekbot/package.json
  • packages/deepseekbot/src/desktop-zoom-setup.mjs
  • scripts/desktop-zoom-compat.d.mts
  • scripts/desktop-zoom-compat.mjs
  • scripts/e2e-desktop-zoom-launch.mjs
  • scripts/product-artifacts.mjs
  • scripts/test/desktop-zoom-compat.test.mjs
  • scripts/test/desktop-zoom-package.test.mjs
  • scripts/test/desktop-zoom-setup.test.mjs
  • scripts/test/product-artifacts.test.mjs
  • scripts/verification-inventory.json
  • tsdown.config.ts
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Issue: #2268

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

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

Copy link
Copy Markdown
Contributor Author

Confirmed delivery blocker in the current Draft head: the copied theme is mounted as qualified-theme, so native settings/describe exposes that namespace and omits ui-theme. The native Client still requests configForms.get('ui-theme'). Boot/zoom availability therefore does not prove preserved font/theme settings. Do not count the current composition as accepted or merge it.

I am replacing the renamed Loader-row approach with a version/hash-qualified downstream module alias that keeps the original ui-theme row, namespace and user Patch authority. The new path must pass real native-settings read/write and package removal/upgrade/rollback checks before replacing this blocker. Upstream and installed application files remain unchanged.

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

…etup

Refs #2268. Agent-Task: codex/local/01a1506e-87d7-7c10-b4d9-9ba86f02b264
@DoodleBears DoodleBears changed the title feat(desktop): include macOS window zoom in product composition fix(desktop): preserve native theme settings during zoom setup Oct 19, 2026
@DoodleBears

Copy link
Copy Markdown
Contributor Author

Current delivery checkpoint — native Settings identity corrected

PR #2298 head e0a847b8f2d0b0a2c16090e9a2f6df5c42e0431c replaces the invalid grouped theme composition with explicit Profile-local setup through the native package manager. The original ui-theme row, Settings namespace and user Patch authority stay intact. Ordinary product install alone does not activate zoom; enable explicitly and restart. The discarded Node-hook experiments are not delivered.

Current package/settings evidence: actual tarballs; font 16/dark retained, native write to 17 retained over true Host restart and disable; raw product removal restored native fallback and retained 17; owned override cleanup passed. Both supported Host versions passed fresh ordinary install/Bot/DM/restart. Reinstall, local-version upgrade and rollback retained Bot identity and one theme module. Unsupported 0.2.0-rc.2 setup refused without a Profile change. 47 focused tests, lint/format/types and isolated product build passed. Remote CI is separate.

Still required: corrected packed native Desktop activation, same-user-data Host switch, physical IME response and the broader S2 native matrix. The existing native window remains held unchanged for the pending Human input check. #2268/#2269 stay open; #2270 remains deferred for the Human Windows handoff. Draft/unmerged, no release or upstream change. Agent-Task: codex/local/01a1506e-87d7-7c10-b4d9-9ba86f02b264.

Refs #2268. Agent-Task: codex/local/01a1506e-87d7-7c10-b4d9-9ba86f02b264
…-delivery

# Conflicts:
#	.agents/skills/dsh-dev/SKILL.md
Issue: #2268
Agent-Task: codex/local/01a1506e-87d7-7c10-b4d9-9ba86f02b264
Issue: #2268
Agent-Task: codex/local/01a1506e-87d7-7c10-b4d9-9ba86f02b264
Issue: #2268
Agent-Task: codex/local/01a1506e-87d7-7c10-b4d9-9ba86f02b264
Issue: #2268
Agent-Task: codex/local/01a1506e-87d7-7c10-b4d9-9ba86f02b264
Issue: #2268
Agent-Task: codex/local/01a1506e-87d7-7c10-b4d9-9ba86f02b264
Issue: #2268
Agent-Task: codex/local/01a1506e-87d7-7c10-b4d9-9ba86f02b264
Agent-Task: codex/local/01a1506e-87d7-7c10-b4d9-9ba86f02b264

Refs #2268
@DoodleBears

Copy link
Copy Markdown
Contributor Author

Final-head review — 2026-10-20 JST

Base 2d16e296e → head e33ba0a70. Independent Standards and Spec reviews found no remaining new findings. The scoped semantic patch is unchanged by the new main/Expo base propagation.

Dependency base #2317 fixes #2314; latest required CI is queued during the active GitHub Actions degradation. No remote green result is claimed. Full stack summary, local validation and exact run links: #2245 checkpoint.

All PRs remain Draft/unmerged; native evidence retains its original artifact scope. Refreshed local HTML explainers are not published artifacts. GitHub image rendering remains unverified under the existing browser-policy restriction; committed image references were checked for existence and decodable dimensions locally.

@DoodleBears
DoodleBears marked this pull request as ready for review October 19, 2026 17:21
@DoodleBears
DoodleBears changed the base branch from codex/2293-wallpaper-chrome to main October 19, 2026 17:29
@DoodleBears
DoodleBears merged commit 628d5a8 into main Oct 19, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Desktop zoom S1: macOS 设置、快捷键与本机恢复闭环

1 participant