Skip to content

feat(shell): align native menus, activation, startup readiness, and macOS smoke#175

Merged
Wangnov merged 19 commits into
mainfrom
codex/issue-169-native-shell-macos-smoke
Jul 11, 2026
Merged

feat(shell): align native menus, activation, startup readiness, and macOS smoke#175
Wangnov merged 19 commits into
mainfrom
codex/issue-169-native-shell-macos-smoke

Conversation

@Wangnov

@Wangnov Wangnov commented Jul 10, 2026

Copy link
Copy Markdown
Owner

Summary

  • Standardize the native product name as Codex App Manager and localize native menu labels for all 11 application locales while retaining standard Edit selectors/shortcuts, Cmd+Q, and complete About metadata.
  • Add a generation- and token-bound frontend-ready handshake. Early close/quit events are coalesced and drained only after listeners are live; stale documents cannot reveal the window, and readiness timeout falls back to serialized native dialogs without bypassing phase-aware quit protection.
  • Make second-instance activation independently attempt unminimize/show/focus, log every failure, and request Dock attention as a fallback; language changes rebuild the native menu without restarting.
  • Add an isolated, unsigned macOS packaged-smoke workflow for arm64/zh-CN and x64/English. It verifies bundle metadata/architecture, WebView IPC/CSP readiness, localized menus, minimized/hidden single-instance recovery, Cmd+W, Cmd+Q, and the native Quit item without exposing release signing or notarization secrets.

Validation

  • npm run check — pass
  • npm run lint — pass
  • npm test — pass
  • npm run build — pass
  • cargo clippy --manifest-path src-tauri/Cargo.toml --workspace --all-targets -- -D warnings — pass
  • cargo test --manifest-path src-tauri/Cargo.toml --workspace — pass
  • actionlint .github/workflows/mac-packaged-smoke.yml — pass
  • bash -n scripts/macos-packaged-smoke.sh — pass
  • npm run tauri build -- --config src-tauri/tauri.smoke.conf.json --bundles app --target aarch64-apple-darwin --no-sign --ci — pass
  • Local arm64/zh-CN packaged lifecycle smoke — pass: bundle → locale/menu → IPC/CSP → single-instance restore → close → Cmd+Q/menu Quit
  • Exact codex review --base origin/mainpass: no P1/P2 and no findings
  • git diff --check origin/main...HEAD — pass
  • GitHub PR checks — pass (8/8), including arm64 / 简体中文 and x64 / English packaged lifecycle smoke

Deployment notes

No runtime migration is required. The new macOS workflow is PR-only and unsigned, uses an isolated bundle identifier/data directory, and does not read release signing or notarization secrets. Allow both arm64/zh-CN and x64/English matrix jobs to finish before merge; signed/notarized packaging remains release-only.

Closes #169

@Wangnov Wangnov marked this pull request as ready for review July 11, 2026 13:40
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@Wangnov Wangnov merged commit 507d1e9 into main Jul 11, 2026
8 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.

feat(shell): align native menus, activation, startup readiness, and macOS smoke

1 participant