tui: spawn the bundled monero-wallet-rpc next to the app #182

Merged
sirius merged 1 commit from wt/tui-bundled-wallet-rpc into main 2026-10-12 02:42:19 +00:00
Owner

The Linux TUI already owns a wallet child, but a bare monero-wallet-rpc name was only resolved on PATH. Android already hands the core an absolute path to the bundled library. This makes the same idea work for the desktop binary without replacing that path.

A configured name with no directory component is the executable of that name next to the OnionWire binary, when that file is executable. Otherwise the name stays on PATH. An absolute path is spawned as given, so the Android jniLibs entry, test fakes, and an operator override are not rewritten. F7 remote daemon and remote wallet RPC are unchanged.

scripts/fetch-monero-wallet-rpc.sh downloads the official v0.18.5.3 CLI tarball, checks the sha256 from getmonero.org/downloads/hashes.txt, and installs monero-wallet-rpc into the directory you pass (the directory of the onionwire binary).

Proof: cargo test --locked --lib a_bare_wallet_rpc_name_uses_the_executable_beside_the_app (pass). cargo clippy --locked --lib --tests -- -D warnings (pass). The download URL returns HTTP 200.

The Linux TUI already owns a wallet child, but a bare monero-wallet-rpc name was only resolved on PATH. Android already hands the core an absolute path to the bundled library. This makes the same idea work for the desktop binary without replacing that path. A configured name with no directory component is the executable of that name next to the OnionWire binary, when that file is executable. Otherwise the name stays on PATH. An absolute path is spawned as given, so the Android jniLibs entry, test fakes, and an operator override are not rewritten. F7 remote daemon and remote wallet RPC are unchanged. scripts/fetch-monero-wallet-rpc.sh downloads the official v0.18.5.3 CLI tarball, checks the sha256 from getmonero.org/downloads/hashes.txt, and installs monero-wallet-rpc into the directory you pass (the directory of the onionwire binary). Proof: cargo test --locked --lib a_bare_wallet_rpc_name_uses_the_executable_beside_the_app (pass). cargo clippy --locked --lib --tests -- -D warnings (pass). The download URL returns HTTP 200.
tui: spawn the wallet-rpc binary that sits next to the app
All checks were successful
ci / test (pull_request) Successful in 14m27s
ci / sdk (pull_request) Successful in 1m26s
37690e3d48
A bare monero-wallet-rpc name is the executable beside this binary
when that file is executable, then PATH. An absolute path is left
alone, so Android and operator overrides keep working. Remote daemon
and remote wallet RPC are unchanged.
sirius merged commit 00bb95675f into main 2026-10-12 02:42:19 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
sirius/onionwire!182
No description provided.