Skip to content

Migrate bundle identifier to inc.synth.onit.quickedit#3

Merged
Niduank merged 8 commits into
mainfrom
feat/bundle-id-migration
Jun 22, 2026
Merged

Migrate bundle identifier to inc.synth.onit.quickedit#3
Niduank merged 8 commits into
mainfrom
feat/bundle-id-migration

Conversation

@Niduank

@Niduank Niduank commented Jun 19, 2026

Copy link
Copy Markdown
Collaborator

Migrates the app identity to the new bundle id inc.synth.onit.quickedit (same Apple team TYC9PKBMB6, branding unchanged).

In this PR (code/project only)

  • PRODUCT_BUNDLE_IDENTIFIER ×4 (app dev/release + test target, debug & release)
  • keychain-access-groups in entitlements
  • dev-build detection identifier (DevBuildDetectionService)
  • QuickEdit demo state now uses Bundle.main.bundleIdentifier instead of a stale com.synth.onit literal
  • TCC reset commands in PERMISSIONS.md

⚠️ External console steps required before this build can authenticate

The branch compiles, but Google Sign-In will fail at runtime until the new identity is registered with the third parties:

  • Firebase — register a new Apple app for inc.synth.onit.quickedit in project onit-3b9d6, then replace GoogleService-Info.plist (currently BUNDLE_ID = inc.synth.Onit).
  • Google OAuth — create an iOS client for inc.synth.onit.quickedit, then update GIDClientID and the reversed-client URL scheme in Info.plist.
  • Apple Developer — create the App ID inc.synth.onit.quickedit (+ .dev) with Keychain Sharing, and a new Developer ID provisioning profile.
  • Backend — confirm whether onit-server enforces a bundle-id allowlist / App Check and add the new id if so.
  • Sparkle — keep the existing appcast feed, or issue a new feed + EdDSA keypair.

Phase 3 of the bundle-id migration (code/project only):
- Update PRODUCT_BUNDLE_IDENTIFIER for the app (dev + release) and test target
- Update keychain-access-groups in entitlements
- Update the dev-build detection identifier
- Use Bundle.main.bundleIdentifier for the QuickEdit demo state instead of a stale literal
- Update the TCC reset commands in PERMISSIONS.md

Firebase/Google OAuth identifiers are intentionally untouched — they require a
new Firebase app and OAuth client registered for the new bundle id (external).
@github-actions

Copy link
Copy Markdown

🔍 Onit Code Review

❌ API Error (401): {"type":"error","error":{"type":"authentication_error","message":"x-api-key header is required"},"request_id":"req_011CcCJDA9UxirUXugmhN2bd"}


Automated review · 7a55084

Niduank added 3 commits June 19, 2026 11:21
New Firebase app registered for inc.synth.onit.quickedit in the onit-3b9d6
project (BUNDLE_ID and GOOGLE_APP_ID updated; same project, API key and sender).
Update GIDClientID and the reversed-client URL scheme in Info.plist to the new
iOS OAuth client registered for inc.synth.onit.quickedit.
- Allow overriding APP_NAME, SCHEME and SIGN_ID via env (defaults unchanged) so
  the script works for other Apple teams / open-source builds
- Stop embedding a provisioning profile: Developer ID distribution doesn't need
  one, and none of the app's entitlements (team-prefixed keychain-access-groups,
  network, apple-events) require it. Just strip any embedded dev profile left by
  the automatic "Apple Development" archive before re-signing with Developer ID.
@Niduank Niduank force-pushed the feat/bundle-id-migration branch from dbb6ea9 to 1dbea93 Compare June 22, 2026 09:14
Niduank added 4 commits June 22, 2026 11:28
Set PRODUCT_NAME and CFBundleDisplayName to "QuickEdit" (was "Onit QuickEdit"),
update the test host path, and the build script APP_NAME (which drives the .app,
DMG and volume names). The Xcode project, scheme and module stay "OnitQuickEdit".
Change the bare "Onit" app-title labels (About page, notification window, Discord
onboarding) and the "Onit Demo" demo name to "QuickEdit". Other "Onit" strings
(brand / umbrella references in onboarding, billing and server messages) are left
unchanged on purpose.
Default QuickEditConfig.isEnabled to true so the QuickEdit-only app has its core
feature active on first launch (was false, an opt-in default inherited from the
multi-feature Onit app).
- Drop macos/Onit_Developer_ID.provisionprofile from git (re-added by mistake via
  `git add -A`; the build script no longer uses it) and ignore *.provisionprofile
  / *.mobileprovision so it can't be committed again
- Make the final `spctl --assess` non-fatal: it is unreliable for DMGs on recent
  macOS and was failing the script despite successful notarization + stapling
@Niduank Niduank merged commit 9a13245 into main Jun 22, 2026
@Niduank Niduank deleted the feat/bundle-id-migration branch June 22, 2026 12:05
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