v0.0.4 - TUI: show correct Qube address with qrexec service name and nsigner_client command

This commit is contained in:
Laan Tungir
2026-08-19 13:08:03 -04:00
parent 1a48f40b99
commit ea11bb5a87
4 changed files with 13 additions and 7 deletions
Generated
+1 -1
View File
@@ -1490,7 +1490,7 @@ dependencies = [
[[package]]
name = "nsigner"
version = "0.0.2"
version = "0.0.3"
dependencies = [
"base64",
"chacha20poly1305",
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "nsigner"
version = "0.0.3"
version = "0.0.4"
edition = "2021"
license = "MIT"
description = "Attended Nostr signing daemon — Rust port of n_signer"
+1 -1
View File
@@ -31,4 +31,4 @@ pub mod error;
pub use error::NsignerError;
/// Version string (matches C NSIGNER_VERSION).
pub const VERSION: &str = "v0.0.3";
pub const VERSION: &str = "v0.0.4";
+10 -4
View File
@@ -34,6 +34,10 @@ pub const TRANSPORT_QREXEC_BRIDGE: u8 = 0x02;
pub const TRANSPORT_TCP: u8 = 0x04;
pub const TRANSPORT_HTTP: u8 = 0x08;
/// Qrexec service name used for the bridge transport.
/// Matches NSIGNER_QREXEC_SERVICE_NAME in n_signer/src/main.c.
pub const QREXEC_SERVICE_NAME: &str = "qubes.NsignerRpc";
/// Number of focusable commands on the main screen:
/// 4 transports + Add + Delete + Clear + Help + Quit.
pub const FOCUS_COUNT: usize = 9;
@@ -1273,7 +1277,7 @@ impl App {
.spacing(Spacing::Overlap(1)));
let [info, transport, roles] = left.layout(&Layout::vertical([
Constraint::Length(13),
Constraint::Length(14),
Constraint::Length(7),
Constraint::Min(0),
])
@@ -1329,9 +1333,11 @@ impl App {
lines.push(Line::from("Qube address:"));
if self.transport_toggles[1] {
// Qrexec is a one-request-per-invocation transport: there is
// no persistent bind address, so show how callers reach it.
lines.push(Line::from(" qrexec (one request per invocation)"));
// Qrexec bridge transport. Show the service name and the
// client command that callers use to reach the signer,
// matching the connection info in n_signer's main.c.
lines.push(Line::from(format!(" qrexec service: {}", QREXEC_SERVICE_NAME)));
lines.push(Line::from(format!(" nsigner_client --qrexec <qube>:{}", QREXEC_SERVICE_NAME)));
} else {
lines.push(Line::from(" (inactive)"));
}