fix(desktop): correct inherited mac entitlements#553
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughRemoves three individual macOS code-signing security capabilities (JIT, unsigned executable memory, library validation) from the entitlements configuration and replaces them with a single entitlements inheritance flag to allow inherited permissions. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
|
/cr Sentry issue auto fix: 修正 macOS 桌面端子进程继承的签名权限配置,避免打包应用启动时因 entitlements 不匹配触发 _libsecinit_appsandbox 崩溃。 |
|
✅ CR topic created in Feishu topic group Refly CR. |
What
Fix the macOS desktop app's inherited entitlements so helper and nested binaries use
com.apple.security.inheritinstead of main-app hardened runtime exceptions.Why
Closes #508.
Sentry issue
NEXU-DESKTOP-PROD-9reported a fatal native crash in_libsecinit_appsandbox.cold.6during packaged app launch on macOS. The root cause was thatapps/desktop/build/entitlements.mac.inherit.plistgranted helper processes the same hardened runtime entitlements as the main app (allow-jit,allow-unsigned-executable-memory,disable-library-validation), which can cause sandbox/secinit aborts very early in startup.How
7359842523EXC_BREAKPOINT/minidumpin_libsecinit_appsandboxcom.apple.security.inherit = trueAffected areas
Checklist
pnpm typecheckpassespnpm lintpassespnpm testpassespnpm generate-typesrun (if API routes/schemas changed)anytypes introduced (useunknownwith narrowing)Notes for reviewers
pnpm typecheckandpnpm lintare currently blocked in this local workspace by an environment/tooling issue unrelated to this plist-only change: the repo is missing installed workspace dependencies / is using an older TypeScript binary, so the workspace config intsconfig.base.jsonis not understood. No application logic changed.Summary by CodeRabbit