diff --git a/README.md b/README.md index 1407642..f769a65 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,11 @@ English, and it ships with a light and a dark theme. ## Install +DevBox runs on **Windows and Linux**. There is no macOS build: it cannot be tested here, +and Gatekeeper wants a paid Apple Developer account with no free way around it on recent +versions — shipping for a platform that can be neither tested nor distributed would be a +promise nobody can keep. + Download from the [latest release](https://github.com/vmillet-dev/devbox-rs/releases/latest). **Windows** diff --git a/docs/architecture.md b/docs/architecture.md index 24bf5a3..bb3eb09 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -1936,6 +1936,15 @@ update. One button: **Actions → Release → Run workflow**, with a `dry_run` checkbox. `release.yml` carries the whole path — `prepare`, `release-build`, `publish` — and `ci.yml` is only CI. +**Two platforms, deliberately: Windows and Linux.** The release matrix builds +`windows-latest` and `ubuntu-22.04`, the CI matrix tests the same two, and that is the whole +list. macOS is out of scope and stays out: nothing here can test it, and Gatekeeper wants a +paid Apple Developer account with no free bypass on recent versions — a build that can be +neither tested nor distributed is a liability wearing the costume of a feature. The bundle +therefore declares no `.icns`, and the README says which platforms it ships. ⚠️ One macOS +name survives and is meant to: `tauri_plugin_autostart::init` takes a `MacosLauncher` on +every platform and ignores it off macOS, so it is a required argument, not a dead branch. + Two facts shape that, and neither is negotiable: - **`CHANGELOG.md` is baked in at compile time.** `include_str!` reads it when the crate is diff --git a/src-tauri/icons/icon.icns b/src-tauri/icons/icon.icns deleted file mode 100644 index 12a5bce..0000000 Binary files a/src-tauri/icons/icon.icns and /dev/null differ diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index 233a9b3..c836f52 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -186,6 +186,10 @@ fn setup(app: &tauri::App) -> Result<(), Box> { // "Start with Windows". No launch argument: DevBox started by the system opens as // if started by hand. + // + // ⚠️ `MacosLauncher` is not macOS code that slipped in — DevBox ships for Windows and + // Linux only. The plugin takes it on every platform and ignores it off macOS, so it is + // a required argument rather than a dead branch, and deleting it would not compile. app.handle().plugin(tauri_plugin_autostart::init( tauri_plugin_autostart::MacosLauncher::LaunchAgent, None, diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 59ab12b..183a14e 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -29,13 +29,7 @@ "active": true, "targets": "all", "createUpdaterArtifacts": true, - "icon": [ - "icons/32x32.png", - "icons/128x128.png", - "icons/128x128@2x.png", - "icons/icon.icns", - "icons/icon.ico" - ], + "icon": ["icons/32x32.png", "icons/128x128.png", "icons/128x128@2x.png", "icons/icon.ico"], "windows": { "nsis": { "installMode": "currentUser" diff --git a/src/app/core/services/autostart/autostart.service.ts b/src/app/core/services/autostart/autostart.service.ts index 5b31290..329f7de 100644 --- a/src/app/core/services/autostart/autostart.service.ts +++ b/src/app/core/services/autostart/autostart.service.ts @@ -47,8 +47,8 @@ export class AutostartService { private async push(enabled: boolean): Promise { try { - // Read back first: `enable()` would rewrite the system entry on every - // start, and on macOS a re-registered agent loses its state. + // Read back first: `enable()` would rewrite the system entry on every start, + // for a value the system already holds. if ((await this.adapter.isEnabled()) === enabled) return; await (enabled ? this.adapter.enable() : this.adapter.disable());