Skip quit confirmation for tagged DEV builds (#2288)
* Skip quit confirmation for tagged DEV builds Tagged DEV builds are ephemeral dev iterations, so the "Quit cmux?" dialog just adds friction. Check SocketControlSettings.launchTag() in both applicationShouldTerminate and handleQuitShortcutWarning to bypass the confirmation when a tag is present. Closes https://github.com/manaflow-ai/cmux/issues/2286 * Use bundle ID instead of env var for tagged DEV detection CMUX_TAG env var is only set when reload.sh --launch opens the app. When the user cmd-clicks the app path, it launches via Finder without the env var, so launchTag() returns nil and the quit dialog still shows. Switch to checking the bundle identifier (com.cmuxterm.app.debug.<tag>) which is baked into the built app and available regardless of how it was launched. Add SocketControlSettings.isTaggedDevBuild() helper. --------- Co-authored-by: Lawrence Chen <lawrencecchen@users.noreply.github.com>
This commit is contained in:
parent
c4bc18d906
commit
e9afc22353
2 changed files with 17 additions and 0 deletions
|
|
@ -533,6 +533,12 @@ struct SocketControlSettings {
|
|||
|| bundleIdentifier.hasPrefix("com.cmuxterm.app.debug.")
|
||||
}
|
||||
|
||||
/// Tagged DEV builds have bundle IDs like `com.cmuxterm.app.debug.<tag>`.
|
||||
static func isTaggedDevBuild(bundleIdentifier: String? = Bundle.main.bundleIdentifier) -> Bool {
|
||||
guard let bundleIdentifier else { return false }
|
||||
return bundleIdentifier.hasPrefix("\(baseDebugBundleIdentifier).")
|
||||
}
|
||||
|
||||
static func taggedDebugSocketPath(
|
||||
bundleIdentifier: String?,
|
||||
environment: [String: String]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue