Skip to content

feat(build): allow release-optimized builds with the dev app identity - #138

Closed
chidev wants to merge 1 commit into
iFurySt:mainfrom
lev-os:pr/dev-app-variant
Closed

chidev wants to merge 1 commit into
iFurySt:mainfrom
lev-os:pr/dev-app-variant

Conversation

@chidev

@chidev chidev commented Oct 31, 2026 •

Copy link
Copy Markdown
Contributor

What

  • OPEN_COMPUTER_USE_APP_VARIANT=dev ./scripts/build-open-computer-use-app.sh release keeps the dev bundle id, the (Dev) name and the dev variant, with release optimization. Other values are rejected.
  • An explicit dev build removes only its own bundle.
  • Automatic Locked Use packaging stays with the release identity. An explicit OPEN_COMPUTER_USE_INCLUDE_LOCKED_USE=1 with a dev release build is refused, because the components follow the build configuration and would otherwise be packaged mismatched.
  • With the variable unset, behaviour is unchanged.

Why

You can measure optimized code in the Dev app, which keeps its permission grants when the signing identity is the same, without replacing an installed release app.

Checks

  • bash -n passes.
  • An unknown variant, and the dev-variant-plus-Locked-Use combination, both exit 1 before building.
  • Unsigned dev release builds into an isolated folder produced com.ifuryst.opencomputeruse.dev with variant dev and no Locked Use resources, and kept a neighboring Open Computer Use.app.
  • No Swift change (full suite 399 tests, 8 skipped, 0 failures).

Risks: low. No release note, because this is a developer build option.

Not verified: signed builds from this exact branch.

History: docs/histories/2026-10/20261031-0630-dev-app-variant.md

Maintainer follow-up

The reviewed version is tracked in #141 because this organization fork rejects maintainer pushes. It preserves the original commit and co-author credit, adds distribution/install guards against inherited Dev overrides, and includes real signed Dev-release plus default debug/release build checks. See #141 for final validation.

OPEN_COMPUTER_USE_APP_VARIANT=dev keeps the dev bundle identifier, name
and variant with release optimization, and does not remove neighboring
release or legacy bundles. Automatic Locked Use packaging stays with the
release identity; an explicit request with a dev release build is
refused. Unset, the script is unchanged.
iFurySt added a commit that referenced this pull request Oct 31, 2026
…#141)

Allow release-optimized direct app builds to retain the Dev identity and neighboring release bundles. Reject incompatible Locked Use packaging and isolate the override from distribution/install entry points. Continues #138.

Co-authored-by: chidev <chicagowebdev@gmail.com>
@iFurySt

iFurySt commented Oct 31, 2026

Copy link
Copy Markdown
Owner

Merged the reviewed implementation via #141, preserving your commit and co-author credit. The organization fork rejected maintainer pushes. Signed build and distribution checks passed. Thanks!

@iFurySt iFurySt closed this Oct 31, 2026
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