Skip to content

fix(macos): preserve app icons during entrypoint repair - #1696

Open
shaoxianbilly wants to merge 1 commit into
BigPizzaV3:mainfrom
shaoxianbilly:fix/macos-repair-icon
Open

fix(macos): preserve app icons during entrypoint repair#1696
shaoxianbilly wants to merge 1 commit into
BigPizzaV3:mainfrom
shaoxianbilly:fix/macos-repair-icon

Conversation

@shaoxianbilly

Copy link
Copy Markdown

Summary

  • make repaired macOS app bundles reference the packaged .icns icon
  • copy the .icns from the current app bundle instead of looking for a missing PNG sidecar
  • verify in CI that every CFBundleIconFile actually exists
  • add regression assertions for repaired bundle metadata

Root cause

The release DMG is packaged correctly with codex-plus-plus.icns, but the in-app entrypoint repair path rewrites Info.plist to codex-plus-plus.png and looks for a PNG beside the executable. That file is absent in the DMG apps, so Finder/Spotlight display a generic icon after repair.

Verification

  • cargo fmt --all -- --check
  • targeted regression test passes: cargo test -p codex-plus-core --test installers macos_bundle_metadata_contains_silent_and_manager_apps -- --exact
  • workflow YAML parses successfully
  • git diff --check passes

Existing unrelated test failures

The full installers test binary currently has two pre-existing macOS companion-path assertion failures involving CodexPlusPlusManager vs codex-plus-plus-manager; this PR does not touch that path logic.

@BigPizzaV3

Copy link
Copy Markdown
Owner

复审确认修复方向合理:当前主线的修复入口仍引用不存在的 PNG,而 release 包实际提供 codex-plus-plus.icns;从当前 App bundle 的 Resources 复制 ICNS 并让 plist 指向它可以解决修复后图标丢失。当前分支与最新 main 冲突,请先 rebase/同步主线并重新跑安装器测试和三平台 CI;不要直接合并旧分支。

@BigPizzaV3

Copy link
Copy Markdown
Owner

修复方向仍成立:修复入口应复制并引用 bundle 中实际存在的 ICNS,而不是不存在的 PNG。请 rebase 当前 main,避免带入旧安装器命名断言,并重新运行 macOS installer 定向测试和三平台构建;当前冲突状态不合并。

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.

2 participants