From 27798dd46f55bd45093132accd55c3b4dc8fef4b Mon Sep 17 00:00:00 2001 From: James Pine Date: Thu, 23 Apr 2026 18:54:29 -0700 Subject: [PATCH] chore(deps): pin rdev to jamiepine/rdev fork MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Upstream Narsil/rdev has shipped no release since 2023-06 (crates.io still serves 0.5.3), so the Sonoma main-thread fix we depend on — PR #147, applied at hotkey_monitor.rs:184 — is only reachable via a git pin. A pin to a third-party repo breaks the build whenever the remote force-pushes, renames, or is taken down, and Cargo does not durably cache git-dep archives the way it does crates.io tarballs. Forking to jamiepine/rdev at the same SHA removes that failure mode without changing crate behavior and gives us a place to cherry-pick future OS-compatibility fixes on our own timeline. The SHA was verified to exist on the fork before re-pinning. Co-Authored-By: Claude Opus 4.7 (1M context) --- tauri/src-tauri/Cargo.lock | 2 +- tauri/src-tauri/Cargo.toml | 18 +++++++++++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/tauri/src-tauri/Cargo.lock b/tauri/src-tauri/Cargo.lock index 2792a554..1a11fe88 100644 --- a/tauri/src-tauri/Cargo.lock +++ b/tauri/src-tauri/Cargo.lock @@ -3135,7 +3135,7 @@ checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" [[package]] name = "rdev" version = "0.6.0" -source = "git+https://github.com/Narsil/rdev?rev=c14f2dc5c8100a96c5d7e3013de59d6aa0b9eae2#c14f2dc5c8100a96c5d7e3013de59d6aa0b9eae2" +source = "git+https://github.com/jamiepine/rdev?rev=c14f2dc5c8100a96c5d7e3013de59d6aa0b9eae2#c14f2dc5c8100a96c5d7e3013de59d6aa0b9eae2" dependencies = [ "core-foundation 0.10.1", "core-foundation-sys", diff --git a/tauri/src-tauri/Cargo.toml b/tauri/src-tauri/Cargo.toml index db239596..c6e27090 100644 --- a/tauri/src-tauri/Cargo.toml +++ b/tauri/src-tauri/Cargo.toml @@ -52,11 +52,19 @@ webkit2gtk = "2.0" [target.'cfg(not(any(target_os = "android", target_os = "ios")))'.dependencies] tauri-plugin-updater = "2.0" tauri-plugin-process = "2.0" -# Pinned to upstream main past PR #147 — the released 0.5.3 crate crashes on -# macOS 14+ when listen() runs on a background thread because rdev's -# convert() calls TSMGetInputSourceProperty off the main queue. The main -# branch adds `set_is_main_thread(false)` to skip that path. -rdev = { git = "https://github.com/Narsil/rdev", rev = "c14f2dc5c8100a96c5d7e3013de59d6aa0b9eae2" } +# Pinned to our fork of upstream main past PR #147 — the released 0.5.3 +# crate crashes on macOS 14+ when listen() runs on a background thread +# because rdev's convert() calls TSMGetInputSourceProperty off the main +# queue. The main branch adds `set_is_main_thread(false)` to skip that +# path (used at hotkey_monitor.rs:184). +# +# We pin to jamiepine/rdev instead of Narsil/rdev for supply-chain +# durability: upstream has shipped no release since 2023-06 (crates.io +# still lists 0.5.3), so an eventual 0.5.4 carrying this fix is unlikely, +# and a git pin to a third-party repo breaks if the remote force-pushes, +# renames, or disappears. The fork mirrors the pinned SHA and gives us a +# place to cherry-pick future OS-compatibility fixes on our own timeline. +rdev = { git = "https://github.com/jamiepine/rdev", rev = "c14f2dc5c8100a96c5d7e3013de59d6aa0b9eae2" } [features] # This feature is used for production builds or when `devPath` points to the filesystem