Skip to content

Revert "Ship serve-sim camera dylib as data and materialize it at runtime"#7172

Merged
brennanb2025 merged 1 commit into
mainfrom
brennanb2025/revert-7168-simcam-gzip
Jul 3, 2026
Merged

Revert "Ship serve-sim camera dylib as data and materialize it at runtime"#7172
brennanb2025 merged 1 commit into
mainfrom
brennanb2025/revert-7168-simcam-gzip

Conversation

@brennanb2025

Copy link
Copy Markdown
Contributor

Summary

Reverts #7168. Restores a working macOS release pipeline#7168 broke it.

The v1.4.120-rc.3 mac release build failed at notarization:

"statusSummary": "Archive contains critical validation errors",
"path": "Orca.app/Contents/Resources/serve-sim/dist/simcam/libSimCameraInjector.dylib.gz/libSimCameraInjector.dylib"

That …dylib.gz/libSimCameraInjector.dylib path is Apple's notary service decompressing the gzip and inspecting the dylib inside it, then rejecting the whole app. The core premise of #7168 — that gzipping the dylib makes it plain data that notary won't scan — is false. Apple's notarytool recurses through gzip (and other archive containers), so the unnotarizable iOS-simulator dylib is found regardless of compression, and its presence fails the outer-app notarization.

This regression was not caught before merge because local pnpm build:unpack packages with notarize: false, so it never exercised the notarization submission that fails — the same "can't run Apple's real notary locally" blind spot that also let #7077 through.

Effect of this revert

Returns main to the post-#7165 state, which is exactly the v1.4.120-rc.2 configuration that built and notarized successfully. Issue #6877 (the nested simcam dylib is unnotarized on arm64) is unfixed again and should be reopened; getting mac releases un-blocked takes priority over the fix.

Validation

  • git revert of the squash commit f44cb305 applied cleanly; the two new modules and their tests are removed, and afterPack / resolveServeSimExecutable return to their pre-Ship serve-sim camera dylib as data and materialize it at runtime #7168 form.
  • grep confirms zero remaining references to compressMacServeSimCameraDylibs, serve-sim-camera-packaging, or materializeServeSimRuntime.
  • pnpm exec vitest run --config config/vitest.config.ts config/scripts/electron-builder-config.test.mjs — 19 passed.

Made with Orca 🐋

@coderabbitai

coderabbitai Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: ebef8bee-6572-4c9d-ae07-02a66904fa64

📥 Commits

Reviewing files that changed from the base of the PR and between 777b757 and f3daba0.

📒 Files selected for processing (6)
  • config/electron-builder.config.cjs
  • config/scripts/serve-sim-camera-packaging.test.mjs
  • config/serve-sim-camera-packaging.cjs
  • src/main/emulator/serve-sim-execution.ts
  • src/main/emulator/serve-sim-runtime-materializer.test.ts
  • src/main/emulator/serve-sim-runtime-materializer.ts
💤 Files with no reviewable changes (6)
  • config/scripts/serve-sim-camera-packaging.test.mjs
  • src/main/emulator/serve-sim-runtime-materializer.ts
  • config/serve-sim-camera-packaging.cjs
  • src/main/emulator/serve-sim-runtime-materializer.test.ts
  • config/electron-builder.config.cjs
  • src/main/emulator/serve-sim-execution.ts

📝 Walkthrough

Walkthrough

This change removes macOS-specific serve-sim camera dylib compression and runtime materialization logic. The compressMacServeSimCameraDylibs function and its packaging module, along with associated tests, are deleted. The electron-builder.config.cjs afterPack hook no longer invokes dylib compression, retaining only runtime dependency pruning/verification and chmod steps. The serve-sim-runtime-materializer.ts module, its exported type and function, and its test file are entirely removed. serve-sim-execution.ts no longer imports or uses the materialization helper, deleting the macOS-only branch that ran serve-sim from a materialized directory, falling back to default executable resolution.

Changes

Area Change
Packaging config Removed compressMacServeSimCameraDylibs import/call; retained runtime dep pruning/verification and chmod steps
Camera dylib packaging Deleted compressMacServeSimCameraDylibs function and its test suite
Runtime materializer Deleted module, exported type/function, and test suite
Serve-sim execution Removed materialization import, cached state, helper, and macOS materialized-runtime branch

Related issues: None found.

Related PRs: None found.

Suggested labels: area:electron, area:emulator, refactor

Suggested reviewers: None found.

🥁 A dylib once wrapped, now unbound and free,
No more quarantine dance beneath the macOS tree.
The materializer's gone, its cache swept clean,
Serve-sim runs plainer than it's ever been.
Less code, less magic, a simpler path we tread. 🐰

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description covers the revert rationale and validation, but it misses most required template sections like screenshots, testing, AI review, security audit, and notes. Add the missing template sections: Screenshots, Testing, AI Review Report, Security Audit, and Notes, or mark each as not applicable.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately reflects that this PR reverts the serve-sim camera dylib runtime-materialization change.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

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.

@brennanb2025 brennanb2025 merged commit 087ad66 into main Jul 3, 2026
7 checks passed
@brennanb2025 brennanb2025 deleted the brennanb2025/revert-7168-simcam-gzip branch July 3, 2026 01:46
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