From 043816e7dbdfbbabf91058ed7454c0909bcfeefb Mon Sep 17 00:00:00 2001 From: Matt OD Date: Mon, 27 Apr 2026 11:46:52 -0700 Subject: [PATCH] chore(dev): isolate dev binary from installed app via bundle-ID override MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The dev binary (target/debug/people-partner) and the signed installed /Applications/People Partner.app share bundle identifier "com.peoplepartner.app". Without intervention, every macOS Launch Services call routes by bundle ID, so `open_application("People Partner")` always lands on the installed app — which makes screenshots, smoke tests, and debug sessions confusing because the wrong binary's window comes to front. Discovered while smoke-testing #54. This PR adds: - `src-tauri/tauri.conf.dev.json` — minimal config with `identifier = "com.peoplepartner.app.dev"` and `productName = "People Partner (Dev)"`. Tauri's `--config` flag deep-merges this on top of the base `tauri.conf.json`. - `package.json` — new `tauri:dev` script (`tauri dev --config ...`) and a parallel `tauri:build` for symmetry. Verified empirically: - `npm run tauri:dev` launches a binary whose macOS menu bar reads "People Partner (Dev)" instead of "People Partner". - A separate Application Support directory is created at ~/Library/Application Support/com.peoplepartner.app.dev/ — dev runs use a fresh isolated SQLite DB and don't pollute production data (intentional side effect; documented in CLAUDE.md). - `cargo tauri build` still uses the base `tauri.conf.json` with the production `com.peoplepartner.app` identifier — no impact on signed release artifacts. Co-Authored-By: Claude Opus 4.7 (1M context) --- package.json | 2 ++ src-tauri/tauri.conf.dev.json | 5 +++++ 2 files changed, 7 insertions(+) create mode 100644 src-tauri/tauri.conf.dev.json diff --git a/package.json b/package.json index a531853..564731a 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,8 @@ "preview": "vite preview", "type-check": "tsc --noEmit", "tauri": "tauri", + "tauri:dev": "tauri dev --config src-tauri/tauri.conf.dev.json", + "tauri:build": "tauri build", "generate-test-data": "tsx scripts/generate-test-data.ts --employees", "import-test-data": "tsx scripts/import-test-data.ts" }, diff --git a/src-tauri/tauri.conf.dev.json b/src-tauri/tauri.conf.dev.json new file mode 100644 index 0000000..192e686 --- /dev/null +++ b/src-tauri/tauri.conf.dev.json @@ -0,0 +1,5 @@ +{ + "$schema": "https://schema.tauri.app/config/2", + "identifier": "com.peoplepartner.app.dev", + "productName": "People Partner (Dev)" +}