From c9f3e338a760cd8e3b0c22a8c89208061325378e Mon Sep 17 00:00:00 2001 From: Siavash Sameni Date: Fri, 27 Mar 2026 15:38:35 +0400 Subject: [PATCH] Add /p as alias for /peer (both TUI and web), web /p @alias support TUI: /p @manwe works same as /peer @manwe Web: /p @manwe and /peer @manwe resolve alias and set peer input Co-Authored-By: Claude Opus 4.6 (1M context) --- warzone/crates/warzone-client/src/tui/app.rs | 3 ++- warzone/crates/warzone-server/src/routes/web.rs | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/warzone/crates/warzone-client/src/tui/app.rs b/warzone/crates/warzone-client/src/tui/app.rs index f76662c..0684ac8 100644 --- a/warzone/crates/warzone-client/src/tui/app.rs +++ b/warzone/crates/warzone-client/src/tui/app.rs @@ -295,7 +295,8 @@ impl App { } return; } - if text.starts_with("/peer ") { + if text.starts_with("/peer ") || text.starts_with("/p ") { + let text = if text.starts_with("/p ") { format!("/peer {}", &text[3..]) } else { text.clone() }; let raw = text[6..].trim().to_string(); let fp = if raw.starts_with('@') { match self.resolve_alias(&raw[1..], client).await { diff --git a/warzone/crates/warzone-server/src/routes/web.rs b/warzone/crates/warzone-server/src/routes/web.rs index 7b309c1..de29d52 100644 --- a/warzone/crates/warzone-server/src/routes/web.rs +++ b/warzone/crates/warzone-server/src/routes/web.rs @@ -847,6 +847,22 @@ async function doSend() { } catch(e) { addSys('Reply failed: ' + e.message); } return; } + if (text.startsWith('/p ') || text.startsWith('/peer ')) { + let val = text.startsWith('/p ') ? text.slice(3).trim() : text.slice(6).trim(); + if (val.startsWith('@')) { + const resp = await fetch(SERVER + '/v1/alias/resolve/' + val.slice(1)); + const data = await resp.json(); + if (data.error) { addSys('Unknown alias ' + val); return; } + $peerInput.value = data.fingerprint; + addSys(val + ' → ' + data.fingerprint.slice(0,16) + '...'); + } else { + $peerInput.value = val; + } + currentGroup = null; + localStorage.setItem('wz-peer', $peerInput.value); + addSys('Peer set to ' + $peerInput.value.slice(0,16) + '...'); + return; + } if (text.startsWith('/gcreate ')) { await groupCreate(text.slice(9).trim()); return; } if (text.startsWith('/gjoin ')) { await groupJoin(text.slice(7).trim()); return; } if (text === '/gleave') {