From 34cfb8fdaa6455a9ee69265765b2e909499a6691 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 5 Sep 2026 09:23:23 +0000 Subject: [PATCH 1/6] build: bump the cargo-minor group in /src-tauri with 5 updates Bumps the cargo-minor group in /src-tauri with 5 updates: | Package | From | To | | --- | --- | --- | | [tauri-plugin-shell](https://github.com/tauri-apps/plugins-workspace) | `2.3.5` | `2.3.6` | | [tauri-plugin-notification](https://github.com/tauri-apps/plugins-workspace) | `2.3.3` | `2.4.0` | | [tauri-plugin-updater](https://github.com/tauri-apps/plugins-workspace) | `2.10.1` | `2.11.0` | | [tauri-plugin-deep-link](https://github.com/tauri-apps/plugins-workspace) | `2.4.9` | `2.4.10` | | [tauri-plugin-single-instance](https://github.com/tauri-apps/plugins-workspace) | `2.4.3` | `2.4.4` | Updates `tauri-plugin-shell` from 2.3.5 to 2.3.6 - [Release notes](https://github.com/tauri-apps/plugins-workspace/releases) - [Commits](https://github.com/tauri-apps/plugins-workspace/compare/nfc-v2.3.5...nfc-v2.3.6) Updates `tauri-plugin-notification` from 2.3.3 to 2.4.0 - [Release notes](https://github.com/tauri-apps/plugins-workspace/releases) - [Commits](https://github.com/tauri-apps/plugins-workspace/compare/nfc-v2.3.3...fs-v2.4.0) Updates `tauri-plugin-updater` from 2.10.1 to 2.11.0 - [Release notes](https://github.com/tauri-apps/plugins-workspace/releases) - [Commits](https://github.com/tauri-apps/plugins-workspace/compare/updater-v2.10.1...updater-v2.11.0) Updates `tauri-plugin-deep-link` from 2.4.9 to 2.4.10 - [Release notes](https://github.com/tauri-apps/plugins-workspace/releases) - [Commits](https://github.com/tauri-apps/plugins-workspace/compare/deep-link-v2.4.9...deep-link-v2.4.10) Updates `tauri-plugin-single-instance` from 2.4.3 to 2.4.4 - [Release notes](https://github.com/tauri-apps/plugins-workspace/releases) - [Commits](https://github.com/tauri-apps/plugins-workspace/compare/fs-v2.4.3...fs-v2.4.4) --- updated-dependencies: - dependency-name: tauri-plugin-shell dependency-version: 2.3.6 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: cargo-minor - dependency-name: tauri-plugin-notification dependency-version: 2.4.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: cargo-minor - dependency-name: tauri-plugin-updater dependency-version: 2.11.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: cargo-minor - dependency-name: tauri-plugin-deep-link dependency-version: 2.4.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: cargo-minor - dependency-name: tauri-plugin-single-instance dependency-version: 2.4.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: cargo-minor ... Signed-off-by: dependabot[bot] --- src-tauri/Cargo.lock | 63 +++++++++++++++++++++++++++++++++----------- 1 file changed, 48 insertions(+), 15 deletions(-) diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 225628c..b84f313 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -523,6 +523,16 @@ dependencies = [ "version_check", ] +[[package]] +name = "core-foundation" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "core-foundation" version = "0.10.1" @@ -546,7 +556,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "064badf302c3194842cf2c5d61f56cc88e54a759313879cdf03abdd27d0c3b97" dependencies = [ "bitflags 2.13.1", - "core-foundation", + "core-foundation 0.10.1", "core-graphics-types", "foreign-types", "libc", @@ -559,7 +569,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb" dependencies = [ "bitflags 2.13.1", - "core-foundation", + "core-foundation 0.10.1", "libc", ] @@ -1612,9 +1622,11 @@ dependencies = [ "percent-encoding", "pin-project-lite", "socket2", + "system-configuration", "tokio", "tower-service", "tracing", + "windows-registry", ] [[package]] @@ -3075,7 +3087,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26d1e2536ce4f35f4846aa13bff16bd0ff40157cdb14cc056c7b14ba41233ba0" dependencies = [ - "core-foundation", + "core-foundation 0.10.1", "core-foundation-sys", "jni 0.22.4", "log", @@ -3195,7 +3207,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d" dependencies = [ "bitflags 2.13.1", - "core-foundation", + "core-foundation 0.10.1", "core-foundation-sys", "libc", "security-framework-sys", @@ -3660,6 +3672,27 @@ dependencies = [ "syn 2.0.119", ] +[[package]] +name = "system-configuration" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a13f3d0daba03132c0aa9767f98351b3488edc2c100cda2d2ec2b04f3d8d3c8b" +dependencies = [ + "bitflags 2.13.1", + "core-foundation 0.9.4", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "system-deps" version = "6.2.2" @@ -3681,7 +3714,7 @@ checksum = "d1c93047acf68669466a34690ac58cca7010bd1b201e1ec86f1fd0a75d3dd4a9" dependencies = [ "bitflags 2.13.1", "block2", - "core-foundation", + "core-foundation 0.10.1", "core-graphics", "crossbeam-channel", "dbus", @@ -3872,9 +3905,9 @@ dependencies = [ [[package]] name = "tauri-plugin-deep-link" -version = "2.4.9" +version = "2.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ee75bc5627f77bfdf40c913255ebc258117b10ebe2b2239a1a1cf40b0b58aa" +checksum = "92d489b8ecceae1cd09f6e1f7606f2095ac721cc8d54cf2f0e6bb377cc52cff6" dependencies = [ "dunce", "plist", @@ -3893,9 +3926,9 @@ dependencies = [ [[package]] name = "tauri-plugin-notification" -version = "2.3.3" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01fc2c5ff41105bd1f7242d8201fdf3efd70749b82fa013a17f2126357d194cc" +checksum = "ad2fd40946aef810c4be9fd33a2d1b9b397cb79042b2d21c81a0a8f204354fd1" dependencies = [ "log", "notify-rust", @@ -3912,9 +3945,9 @@ dependencies = [ [[package]] name = "tauri-plugin-shell" -version = "2.3.5" +version = "2.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8457dbf9e2bab1edd8df22bb2c20857a59a9868e79cb3eac5ed639eec4d0c73b" +checksum = "8548af174c5516e4f71f142acea4d02e00316296ea9aafa58798851481003e3c" dependencies = [ "encoding_rs", "log", @@ -3933,9 +3966,9 @@ dependencies = [ [[package]] name = "tauri-plugin-single-instance" -version = "2.4.3" +version = "2.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3214becf9ef5783c0ae99a3bb25adf5353a7a16ebf53e74b909e29205735c6c" +checksum = "5cd0cb5c412a5071b69bab6a6df1583cbb89460d4a83b6a24769b08d15b6b1e1" dependencies = [ "serde", "serde_json", @@ -3950,9 +3983,9 @@ dependencies = [ [[package]] name = "tauri-plugin-updater" -version = "2.10.1" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "806d9dac662c2e4594ff03c647a552f2c9bd544e7d0f683ec58f872f952ce4af" +checksum = "b28d8cabdeb0564f03ae261963de4bc3d98321cd3d213e76a81b7d344e5df606" dependencies = [ "base64 0.22.1", "dirs", From 61e2dad306d8e0980d26fe8a672b01ec3f2af0fb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 5 Sep 2026 09:26:32 +0000 Subject: [PATCH 2/6] ci: bump the actions group with 3 updates Bumps the actions group with 3 updates: [anchore/sbom-action](https://github.com/anchore/sbom-action), [python-semantic-release/python-semantic-release](https://github.com/python-semantic-release/python-semantic-release) and [python-semantic-release/publish-action](https://github.com/python-semantic-release/publish-action). Updates `anchore/sbom-action` from 0.24.0 to 0.24.2 - [Release notes](https://github.com/anchore/sbom-action/releases) - [Changelog](https://github.com/anchore/sbom-action/blob/main/RELEASE.md) - [Commits](https://github.com/anchore/sbom-action/compare/e22c389904149dbc22b58101806040fa8d37a610...3ad7283483fc7af8ff2b4ea19663c2d5ca935e26) Updates `python-semantic-release/python-semantic-release` from 10.6.1 to 10.6.2 - [Release notes](https://github.com/python-semantic-release/python-semantic-release/releases) - [Changelog](https://github.com/python-semantic-release/python-semantic-release/blob/master/CHANGELOG.rst) - [Commits](https://github.com/python-semantic-release/python-semantic-release/compare/39dd2052f2ce8282a5d932c31d58a2ca06d2550e...9a026e9303981c866c3425723009becb2437c757) Updates `python-semantic-release/publish-action` from 10.6.1 to 10.6.2 - [Release notes](https://github.com/python-semantic-release/publish-action/releases) - [Changelog](https://github.com/python-semantic-release/publish-action/blob/main/releaserc.toml) - [Commits](https://github.com/python-semantic-release/publish-action/compare/5a5718ce47b892ef699f2972dae122297771d641...6d89e2de8d40ecb3717316ecbbf15a6fa8ea9039) --- updated-dependencies: - dependency-name: anchore/sbom-action dependency-version: 0.24.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: actions - dependency-name: python-semantic-release/python-semantic-release dependency-version: 10.6.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: actions - dependency-name: python-semantic-release/publish-action dependency-version: 10.6.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: actions ... Signed-off-by: dependabot[bot] --- .github/workflows/native-release.yml | 2 +- .github/workflows/release.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/native-release.yml b/.github/workflows/native-release.yml index 19d9692..8b94d95 100644 --- a/.github/workflows/native-release.yml +++ b/.github/workflows/native-release.yml @@ -630,7 +630,7 @@ jobs: run: python scripts/native_release.py validate-set --directory release-assets - name: Generate a machine-readable SBOM from the exact installer set - uses: anchore/sbom-action@e22c389904149dbc22b58101806040fa8d37a610 # v0.24.0 + uses: anchore/sbom-action@3ad7283483fc7af8ff2b4ea19663c2d5ca935e26 # v0.24.2 with: path: release-assets format: cyclonedx-json diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 016449b..bfc7164 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -141,7 +141,7 @@ jobs: - name: Python Semantic Release if: steps.check_skip.outputs.skip != 'true' id: release - uses: python-semantic-release/python-semantic-release@39dd2052f2ce8282a5d932c31d58a2ca06d2550e # v10.6.1 + uses: python-semantic-release/python-semantic-release@9a026e9303981c866c3425723009becb2437c757 # v10.6.2 with: github_token: ${{ secrets.ADMIN_TOKEN }} @@ -151,7 +151,7 @@ jobs: - name: Publish to GitHub Releases if: steps.check_skip.outputs.skip != 'true' && steps.release.outputs.released == 'true' - uses: python-semantic-release/publish-action@5a5718ce47b892ef699f2972dae122297771d641 # v10.6.1 + uses: python-semantic-release/publish-action@6d89e2de8d40ecb3717316ecbbf15a6fa8ea9039 # v10.6.2 with: github_token: ${{ secrets.ADMIN_TOKEN }} From 1b5489c982a12face29808dfd7a3a6aae3e5af46 Mon Sep 17 00:00:00 2001 From: abrichr Date: Thu, 10 Sep 2026 16:34:57 -0400 Subject: [PATCH 3/6] chore: preserve token drift checks for dependency pull requests --- .github/workflows/build.yml | 6 +----- pyproject.toml | 2 +- scripts/vendor-design-tokens.mjs | 35 ++++++++++++-------------------- tests/test_public_metadata.py | 4 ++-- 4 files changed, 17 insertions(+), 30 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0e1c4fd..e22f89f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -67,14 +67,10 @@ jobs: run: npm run test:ui && npm run build # The offline half of this guard runs in test:ui above. This half needs - # the network: it fails when openadapt-web moves the canonical palette and + # the network: it fails when openadapt-web publishes the canonical palette and # the vendored copy here does not follow, which is how the installed app # and the marketing site drift into looking like two products. - name: Check the vendored design tokens against openadapt-web - env: - # github.token cannot read private OpenAdaptAI/openadapt-web. - # ADMIN_TOKEN can; fall back so local/fork runs still try github.token. - GITHUB_TOKEN: ${{ secrets.ADMIN_TOKEN || github.token }} run: npm run tokens:check python-distribution: diff --git a/pyproject.toml b/pyproject.toml index 8e7f628..4116c07 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -120,7 +120,7 @@ packages = ["engine"] # python-semantic-release 10.6.2 still accepts click 8.1.8, which pip-audit # reports as PYSEC-2026-2132 (fix: 8.3.3). The GitHub Action is SHA-pinned at -# v10.6.1 and does not use this lock; the constraint keeps the local extra +# v10.6.2 and does not use this lock; the constraint keeps the local extra # from regressing the audited tree. [tool.uv] constraint-dependencies = ["click>=8.3.3"] diff --git a/scripts/vendor-design-tokens.mjs b/scripts/vendor-design-tokens.mjs index b8698d2..fd9e213 100755 --- a/scripts/vendor-design-tokens.mjs +++ b/scripts/vendor-design-tokens.mjs @@ -26,28 +26,19 @@ const write = process.argv.includes('--write'); const sha256 = (bytes) => crypto.createHash('sha256').update(bytes).digest('hex'); async function fetchCanonical(entry) { - // openadapt-web is private, so raw.githubusercontent.com 404s. CI already - // passes GITHUB_TOKEN; use the Contents API the same way --write does. - const token = process.env.GITHUB_TOKEN; - if (token) { - const url = - `https://api.github.com/repos/${provenance.canonical_repository}` + - `/contents/${entry.canonical_path}` + - `?ref=${encodeURIComponent(provenance.canonical_branch)}`; - const response = await fetch(url, { - headers: { - accept: 'application/vnd.github.raw', - authorization: `Bearer ${token}`, - }, - }); - if (!response.ok) { - throw new Error(`GET ${url} -> HTTP ${response.status}`); - } - return Buffer.from(await response.arrayBuffer()); + // Web publishes byte-identical canonical files during its build. Public + // reads also work for Dependabot and fork PRs without private-repo tokens. + const url = write + ? `https://api.github.com/repos/${provenance.canonical_repository}` + + `/contents/${entry.canonical_path}?ref=${encodeURIComponent(provenance.canonical_branch)}` + : `https://openadapt.ai/${entry.canonical_path}`; + const headers = { accept: write ? 'application/vnd.github.raw' : 'text/plain' }; + if (write && process.env.GITHUB_TOKEN) { + headers.authorization = `Bearer ${process.env.GITHUB_TOKEN}`; } - const response = await fetch(entry.raw_url, { headers: { accept: 'text/plain' } }); + const response = await fetch(url, { headers }); if (!response.ok) { - throw new Error(`GET ${entry.raw_url} -> HTTP ${response.status}`); + throw new Error(`GET ${url} -> HTTP ${response.status}`); } return Buffer.from(await response.arrayBuffer()); } @@ -90,7 +81,7 @@ for (const [name, entry] of Object.entries(provenance.files)) { if (canonicalSha !== vendoredSha) { failures.push( - `${name}: drifted from ${provenance.canonical_repository}@${provenance.canonical_branch}.\n` + + `${name}: drifted from the published ${provenance.canonical_repository} palette.\n` + ` canonical ${entry.canonical_path} is ${canonicalSha}\n` + ` the vendored copy is ${vendoredSha}\n` + ` Run: node scripts/vendor-design-tokens.mjs --write`, @@ -113,4 +104,4 @@ if (failures.length > 0) { process.exit(1); } -console.log(`\nVendored design tokens match ${provenance.canonical_repository}@${provenance.canonical_branch}.`); +console.log(`\nVendored design tokens match the published ${provenance.canonical_repository} palette.`); diff --git a/tests/test_public_metadata.py b/tests/test_public_metadata.py index f9ea220..3e38596 100644 --- a/tests/test_public_metadata.py +++ b/tests/test_public_metadata.py @@ -180,7 +180,7 @@ def test_release_workflow_uses_matching_pinned_actions() -> None: assert uses assert all(re.fullmatch(r"[0-9a-f]{40}", revision) for revision in uses) - assert "# v10.6.1" in workflow + assert "# v10.6.2" in workflow assert "# v9.15.2" not in workflow assert "token: ${{ secrets.ADMIN_TOKEN }}" in workflow assert workflow.count("github_token: ${{ secrets.ADMIN_TOKEN }}") == 2 @@ -223,7 +223,7 @@ def test_dev_semantic_release_floor_matches_the_pinned_v10_action() -> None: lock, flags=re.MULTILINE, ) - assert "# v10.6.1" in workflow + assert "# v10.6.2" in workflow assert "python-semantic-release>=9" not in "\n".join(dev) assert " push:" not in workflow[workflow.index("\non:\n") : workflow.index("\njobs:\n")] uv = pyproject["tool"]["uv"] From c0081a41a06067384fbb3402f3a6a6becee8e3cd Mon Sep 17 00:00:00 2001 From: abrichr Date: Thu, 10 Sep 2026 16:38:57 -0400 Subject: [PATCH 4/6] chore: pair JavaScript plugins with the native update --- package-lock.json | 16 ++++++++-------- tests/test_native_release.py | 14 ++++++++++++++ 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 78be0d6..640b0e1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -782,21 +782,21 @@ } }, "node_modules/@tauri-apps/plugin-notification": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-notification/-/plugin-notification-2.3.3.tgz", - "integrity": "sha512-Zw+ZH18RJb41G4NrfHgIuofJiymusqN+q8fGUIIV7vyCH+5sSn5coqRv/MWB9qETsUs97vmU045q7OyseCV3Qg==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-notification/-/plugin-notification-2.4.0.tgz", + "integrity": "sha512-xlJXMcUoKOjNupzDue5wrEsa1wytf+l/2gCAPhafHyP683Y3N7J/8clUWLZ3vpnwkpT2C1zcLMMQFjjecIG2xg==", "license": "MIT OR Apache-2.0", "dependencies": { - "@tauri-apps/api": "^2.8.0" + "@tauri-apps/api": "^2.11.0" } }, "node_modules/@tauri-apps/plugin-updater": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-updater/-/plugin-updater-2.10.1.tgz", - "integrity": "sha512-NFYMg+tWOZPJdzE/PpFj2qfqwAWwNS3kXrb1tm1gnBJ9mYzZ4WDRrwy8udzWoAnfGCHLuePNLY1WVCNHnh3eRA==", + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-updater/-/plugin-updater-2.11.0.tgz", + "integrity": "sha512-AE36XkOoSna24G40jZMY15nzAnkXEPL/73tGoseGrtGOHuI/cZwWzHpZFLjKXDPgzYZ435z1gHu28LgrsBwIxQ==", "license": "MIT OR Apache-2.0", "dependencies": { - "@tauri-apps/api": "^2.10.1" + "@tauri-apps/api": "^2.11.0" } }, "node_modules/@testing-library/dom": { diff --git a/tests/test_native_release.py b/tests/test_native_release.py index ebda44b..74f1f86 100644 --- a/tests/test_native_release.py +++ b/tests/test_native_release.py @@ -5,6 +5,7 @@ import os import re import subprocess +import tomllib from pathlib import Path import pytest @@ -2836,3 +2837,16 @@ def test_production_workflow_keeps_normal_publication_unadmitted() -> None: assert "write-channel" not in text assert "unadmitted release candidate" in normal_release_text assert "unadmitted release candidate" in native_release_text + + +def test_frontend_and_native_plugins_share_the_same_protocol_version() -> None: + """A JS plugin update must ship with its matching native IPC implementation.""" + root = Path(__file__).resolve().parents[1] + npm = json.loads((root / "package-lock.json").read_text(encoding="utf-8")) + cargo = tomllib.loads((root / "src-tauri/Cargo.lock").read_text(encoding="utf-8")) + native_versions = {package["name"]: package["version"] for package in cargo["package"]} + for name, package in npm["packages"].items(): + prefix = "node_modules/@tauri-apps/plugin-" + if name.startswith(prefix): + native_name = "tauri-plugin-" + name.removeprefix(prefix) + assert package["version"] == native_versions[native_name], native_name From f92264c2be0656de777fd39e3d13ef624c6ac731 Mon Sep 17 00:00:00 2001 From: abrichr Date: Thu, 10 Sep 2026 16:43:11 -0400 Subject: [PATCH 5/6] test: run native dispatch contracts with installer builds --- .github/workflows/build.yml | 8 ++++++++ src-tauri/src/pairing.rs | 2 -- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e22f89f..566eba4 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -279,6 +279,14 @@ jobs: --target ${{ matrix.target }} --config src-tauri/tauri.adhoc.conf.json + # Reuse the installer build's compiled dependencies. These tests protect + # the native URL and deep-link dispatch boundaries before artifact upload. + - name: Test native command and deep-link contracts + run: >- + cargo test --locked --release + --manifest-path src-tauri/Cargo.toml + --target ${{ matrix.target }} + - name: Smoke-test macOS DMG install, launch, and uninstall if: runner.os == 'macOS' shell: bash diff --git a/src-tauri/src/pairing.rs b/src-tauri/src/pairing.rs index c83557c..febbea2 100644 --- a/src-tauri/src/pairing.rs +++ b/src-tauri/src/pairing.rs @@ -357,7 +357,6 @@ mod tests { format!("https://connect?pairing={SECRET}&host=https://app.openadapt.ai"), format!("openadapt://connect/run?pairing={SECRET}&host=https://app.openadapt.ai"), format!("openadapt://connect?pairing={SECRET}&host=https://app.openadapt.ai#x"), - runner_uri(), format!("openadapt://connect?pack={PACK}&bind={BIND}&origin=https://openadapt.ai"), ] { assert!(action_for_url(&parse(&raw)).is_err(), "{raw}"); @@ -377,7 +376,6 @@ mod tests { "openadapt://connect/runner?pack={PACK}&bind={BIND}&origin=https://openadapt.ai" ), format!("{}#x", runner_uri()), - format!("openadapt://connect?pairing={SECRET}&host=https://app.openadapt.ai"), format!("openadapt://runner?pairing={SECRET}&host=https://app.openadapt.ai"), ] { assert!(action_for_url(&parse(&raw)).is_err(), "{raw}"); From 695061e2a6b54cafc0f72b50d8e892e951a8868c Mon Sep 17 00:00:00 2001 From: abrichr Date: Thu, 10 Sep 2026 17:25:00 -0400 Subject: [PATCH 6/6] test: assert platform-specific FFmpeg extraction paths --- src-tauri/src/ffmpeg.rs | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src-tauri/src/ffmpeg.rs b/src-tauri/src/ffmpeg.rs index cb036f3..f5ab827 100644 --- a/src-tauri/src/ffmpeg.rs +++ b/src-tauri/src/ffmpeg.rs @@ -1153,13 +1153,23 @@ mod tests { let prepared = prepare_install(temp.path(), &archive, &artifact).unwrap(); assert_eq!( - fs::read(prepared.staging_dir.join("bin/ffmpeg")).unwrap(), - ffmpeg + prepared.paths.ffmpeg, + prepared.staging_dir.join(if cfg!(windows) { + "bin/ffmpeg.exe" + } else { + "bin/ffmpeg" + }) ); assert_eq!( - fs::read(prepared.staging_dir.join("bin/ffprobe")).unwrap(), - ffprobe + prepared.paths.ffprobe, + prepared.staging_dir.join(if cfg!(windows) { + "bin/ffprobe.exe" + } else { + "bin/ffprobe" + }) ); + assert_eq!(fs::read(&prepared.paths.ffmpeg).unwrap(), ffmpeg); + assert_eq!(fs::read(&prepared.paths.ffprobe).unwrap(), ffprobe); assert_eq!( fs::read(prepared.staging_dir.join("LICENSES/FFmpeg.txt")).unwrap(), license