Menu β–Ύ β–΄

#221 Bundle the macOS share extension in releases

closed
nobody
None
2026-10-05
2026-08-07
Anonymous
No

Originally created by: kristofferR

Release builds currently omit the native share extension, so share-into-Carrier cannot ship even though the app-side intake is merged.

This adds a macOS-only Tauri pre-bundle hook that builds and Developer ID-signs Carrier Share.appex, includes it under Contents/PlugIns, and keeps its versions aligned with Carrier. The release workflow verifies the nested signature and adds an isolated notarization smoke path before tagging.

Validated with the full local gate and a Developer ID-signed app: deep/strict signature verification passes, the nested appex is sandboxed and version-matched, and both bundles use the same signing team.

Ref [#212].

Summary by CodeRabbit

  • New Features
  • macOS releases now include the Carrier share extension, enabling sharing content directly to the app.
  • Release builds automatically package and sign the share extension with matching app version information.

  • Bug Fixes

  • Improved compatibility across supported Apple processor architectures.
  • Added validation to prevent invalid versions and incomplete or incorrectly signed macOS bundles.
  • Added notarization smoke checks for release validation.

  • Tests

  • Expanded checks for share-extension packaging, signatures, sandbox permissions, notarization, and version alignment.

Related

Tickets: #212

Discussion

  • Anonymous

    Anonymous - 2026-08-07

    Originally posted by: kristofferR

    @codex review

     
  • Anonymous

    Anonymous - 2026-08-07

    Originally posted by: kristofferR

    @codex review

     
  • Anonymous

    Anonymous - 2026-08-07

    Originally posted by: chatgpt-codex-connector[bot]

    Codex Review: Didn't find any major issues. πŸš€

    Reviewed commit: 4b5150360f

    ℹ️ About Codex in GitHub
    [Your team has set up Codex to review pull requests in this repo](https://chatgpt.com/codex/cloud/settings/general). Reviews are triggered when you - Open a pull request for review - Mark a draft as ready - Comment "@codex review". If Codex has suggestions, it will comment; otherwise it will react with πŸ‘. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
     
  • Anonymous

    Anonymous - 2026-08-07

    Originally posted by: kristofferR

    @coderabbitai review

     
  • Anonymous

    Anonymous - 2026-08-07

    Originally posted by: coderabbitai[bot]

    βœ… Action performed Review finished. > Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.
     
  • Anonymous

    Anonymous - 2026-08-07

    Originally posted by: coderabbitai[bot]

    Review Change Stack

    No actionable comments were generated in the recent review. πŸŽ‰

    ℹ️ Recent review info
    βš™οΈ Run configuration **Configuration used**: Path: .coderabbit.yaml **Review profile**: ASSERTIVE **Plan**: Pro Plus **Run ID**: `02ffc9ea-f2e8-4acf-a466-c55b20426234`
    πŸ“₯ Commits Reviewing files that changed from the base of the PR and between [4b5150] and 08e3027f54dd76fc770935a56a30d7e4a5db6203.
    πŸ“’ Files selected for processing (1) * `.github/workflows/release.yml`

    πŸ“ Walkthrough ## Walkthrough The PR adds a macOS share-extension build pipeline. It validates architecture, version, and signing inputs, bundles the extension into release builds, and adds manual notarization smoke testing with nested-extension verification. ### Changes **Share extension release** |Layer / File(s)|Summary| |---|---| |**Build and bundle the share extension**
    `share-extension/macos/*`, `package.json`, `src-tauri/tauri.conf.release.json`, `inject/src/messenger/lib/injected-assets.test.ts`|The build entry point validates macOS inputs and invokes the shell build. The shell script sets versions, supports `arm64` and `x86_64`, and applies identity-specific timestamp options. Release configuration bundles `Carrier Share.appex`, and tests cover configuration and invalid versions.| |**Run the notarization smoke workflow**
    `.github/workflows/release.yml`|A manual `notarization_smoke` input runs a macOS build, signing, notarization, nested-extension checks, archive upload, and cleanup while skipping normal release jobs.| |**Validate nested release metadata**
    `.github/workflows/release.yml`|macOS release verification checks the nested executable, code signature, sandbox entitlement, and version alignment.| **Estimated code review effort:** 4 (Complex) | ~45 minutes **Possibly related issues** - [kristofferR/Carrier#212](https://github.com/kristofferR/Carrier/issues/212) β€” Covers macOS share-extension bundling, signing, notarization, and release verification. - [kristofferR/Carrier#211](https://github.com/kristofferR/Carrier/issues/211) β€” Covers release bundling, signing, notarization, and validation for the macOS share extension. - [kristofferR/Carrier#217](https://github.com/kristofferR/Carrier/issues/217) β€” Covers building, signing, bundling, notarizing, and validating `Carrier Share.appex`. - [kristofferR/Carrier#213](https://github.com/kristofferR/Carrier/issues/213) β€” Covers packaging the macOS share extension used to hand shared files to Carrier. **Possibly related PRs** - [[kristofferR/Carrier#1](https://github.com/kristofferR/Carrier/issues/1)](https://github.com/kristofferR/Carrier/pull/1) β€” Modifies the macOS release packaging, signing, notarization, and updater workflow. - [[kristofferR/Carrier#2](https://github.com/kristofferR/Carrier/issues/2)](https://github.com/kristofferR/Carrier/pull/2) β€” Also modifies macOS release signing, notarization, and validation workflows.
    πŸš₯ Pre-merge checks | βœ… 5
    βœ… Passed checks (5 passed) | Check name | Status | Explanation | | :------------------------: | :------- | :------------------------------------------------------------------------------------------------------------------- | | Description Check | βœ… Passed | Check skipped - CodeRabbit’s high-level summary is enabled. | | Title check | βœ… Passed | The title clearly and concisely describes the primary change: including the macOS share extension in release builds. | | 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 unit tests (beta) - [ ] Create PR with unit tests - [ ] Commit unit tests in branch `feat/macos-share-release`

    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 - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai) - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai) - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai) - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)

    Comment @coderabbitai help to get the list of available commands.

     
  • Anonymous

    Anonymous - 2026-08-07

    Originally posted by: kristofferR

    @coderabbitai review

     
  • Anonymous

    Anonymous - 2026-08-07

    Originally posted by: kristofferR

    @codex review

     
  • Anonymous

    Anonymous - 2026-08-07

    Originally posted by: coderabbitai[bot]

    ⚠️ Action not completed Review rate limited. > Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.
     
  • Anonymous

    Anonymous - 2026-08-07

    Originally posted by: chatgpt-codex-connector[bot]

    Codex Review: Didn't find any major issues. Can't wait for the next one!

    Reviewed commit: 08e3027f54

    ℹ️ About Codex in GitHub
    [Your team has set up Codex to review pull requests in this repo](https://chatgpt.com/codex/cloud/settings/general). Reviews are triggered when you - Open a pull request for review - Mark a draft as ready - Comment "@codex review". If Codex has suggestions, it will comment; otherwise it will react with πŸ‘. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
     
  • Anonymous

    Anonymous - 2026-08-08

    Originally posted by: kristofferR

    @coderabbitai review

     
  • Anonymous

    Anonymous - 2026-08-08

    Originally posted by: coderabbitai[bot]

    βœ… Action performed Review finished. > Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.
     
  • Anonymous

    Anonymous - 2026-08-08

    Ticket changed by: kristofferR

    • status: open --> closed
     

Log in to post a comment.