Skip to content

fix(ui): align Windows pause/resume with macOS (live remove + loading) - #168

Merged
Fei-Away merged 3 commits into
mainfrom
fix/pause-align-macos-windows
Jul 19, 2026
Merged

fix(ui): align Windows pause/resume with macOS (live remove + loading)#168
Fei-Away merged 3 commits into
mainfrom
fix/pause-align-macos-windows

Conversation

@Fei-Away

Copy link
Copy Markdown
Owner

Summary

Align Windows tray pause/resume with macOS menubar behavior and in-window operation UI.

Behavior

  • 暂停皮肤: write pause marker and immediately run injector --remove over CDP (no longer wait only for watcher poll).
  • In-window loading: port macOS operation overlay into Windows injector; pause/apply show progress then success/error.
  • 继续显示皮肤: clear pause + re-apply; macOS menubar shows the same label when session=paused.
  • 应用或重新应用: attempts in-window begin UI + balloon.

Scope

  • Isolated worktree from origin/main only; does not touch local dirty main or one-click worktree.

Type

  • Bug fix
  • Scripts / install / restore
  • Theme / visual (operation overlay)

Platform

  • Windows (primary)
  • macOS (menubar resume label only)

Self-check

  • node --check windows/scripts/injector.mjs
  • node windows/scripts/injector.mjs --self-test
  • node windows/tests/renderer-inject.test.mjs
  • node windows/tests/injector-bootstrap.test.mjs
  • Static guards updated in windows/tests/run-tests.ps1
  • Full run-tests.ps1 on Windows PowerShell 5.1
  • Live smoke: pause → CSS gone + loading; resume → re-apply

Security

  • No official Codex / asar changes
  • No API keys / Base URL writes
  • CDP remains loopback; remove/begin still require recorded browserId

Notes

  • Apply/resume that spawn start-dream-skin async finish the overlay as「已开始…」so loading does not stick 180s.
  • Follow-up: seed Gothic Void Crusade on Windows (separate commit after this lands or next on same branch if preferred).

Fei-Away added 3 commits July 19, 2026 20:48
Windows tray pause previously only wrote a pause marker, so CSS could
remain until the watcher polled. Pause now marks paused and immediately
runs injector --remove over CDP when a live session is available; resume
clears pause and re-applies, matching macOS pause/apply semantics.

macOS menubar shows 继续显示皮肤 when session is paused so both platforms
expose the same control pair.
Port the macOS Codex operation overlay into the Windows injector
(--begin-operation / --finish-operation and remove/once loading states).
Tray pause/resume/re-apply now drives that overlay over CDP so both
platforms show the same 正在暂停/正在应用 progress instead of tray-only
balloons.
Ship the same preset-gothic-void-crusade pack under windows/presets,
copy it into the managed engine runtime, and preseed it into the saved
theme library next to Arina Hashimoto. Default active theme stays Arina.
@Fei-Away

Copy link
Copy Markdown
Owner Author

Follow-up commit on this branch: seed Gothic Void Crusade on Windows (windows/presets/preset-gothic-void-crusade, engine copy + theme-store init). Default active theme remains 桥本有菜; tray「已保存主题」should list both after reinstall.

@Fei-Away

Copy link
Copy Markdown
Owner Author

Review (maintainer)

Ready to merge.

  • Pause writes marker + live --remove with in-window loading (aligns with macOS).
  • Resume / re-apply clear pause and re-run start; macOS menubar shows「继续显示皮肤」when paused.
  • Gothic Void Crusade seeded on Windows alongside Arina; default active theme remains Arina.
  • Developed in isolated worktree; self-tests and static guards passed.

Merging with admin squash (self-authored PR cannot approve itself under branch rules).

@Fei-Away
Fei-Away merged commit e776fa6 into main Jul 19, 2026
4 checks passed
xvyimu referenced this pull request in xvyimu/Codexveil Jul 19, 2026
- scripts/windows/sync-upstream-assets.ps1: idempotent, read-only on upstream,
  writes only vendor/ + baseline json. Line A prints vendor<->runtime asset
  diff; line B lists upstream windows/scripts commits since baseline. Never
  auto-promotes assets or applies PS changes.
- docs/upstream-sync.json: baseline lastSyncedUpstreamSha=fd6a118
- vendor/dreamskin/assets refreshed to upstream HEAD (mirror layer)

Verified: idempotent (runtime hashes unchanged across 2 runs); detects upstream
PS commits #168/#109 and asset drift.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
xvyimu referenced this pull request in xvyimu/Codexveil Jul 19, 2026
…sorbed)

Reviewed the range; no promote:
- assets: renderer diff is us-ahead (SKIN_VERSION_TOKEN + artDataUrl null-safety
  that upstream lacks); css diff is trailing-newline only
- PS #109 (tray AllowEmptyCollection) already present in vendor/live tray
- PS #168 (macOS-aligned pause/resume) targets upstream's runtime engine;
  not portable to our active-theme + control-plane architecture

vendor/dreamskin/assets refreshed to upstream HEAD as the mirror snapshot.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.

1 participant