chore(deps): pin rdev to jamiepine/rdev fork

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) <[email protected]>
This commit is contained in:
James Pine
2026-04-23 19:18:41 -07:00
co-authored by Claude Opus 4.7
parent ea7a4e9f6d
commit 27798dd46f
2 changed files with 14 additions and 6 deletions
+1 -1
View File
@@ -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",
+13 -5
View File
@@ -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