aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-node/src/meshbay_node/daemon.py
diff options
context:
space:
mode:
Diffstat (limited to 'packages/meshbay-node/src/meshbay_node/daemon.py')
-rw-r--r--packages/meshbay-node/src/meshbay_node/daemon.py12
1 files changed, 3 insertions, 9 deletions
diff --git a/packages/meshbay-node/src/meshbay_node/daemon.py b/packages/meshbay-node/src/meshbay_node/daemon.py
index 930dabc..58fa99a 100644
--- a/packages/meshbay-node/src/meshbay_node/daemon.py
+++ b/packages/meshbay-node/src/meshbay_node/daemon.py
@@ -835,15 +835,9 @@ def main() -> None:
return
# revoke and unpin both name a person; the daemon resolves the account.
- roster_out = _daemon_api(cfg, "/api/roster")
- match = next((i for i in roster_out.get("identities", [])
- if i["username"] == args.target), None)
- if not match:
- known = ", ".join(i["username"]
- for i in roster_out.get("identities", []))
- print(f"{args.target!r} is not pinned on this node")
- print(f"known: {known or 'nobody yet'}")
- sys.exit(1)
+ # It tries its own roster first and falls back to the hub, so a node that
+ # pinned someone before invitations carried a name is still manageable.
+ match = _daemon_api(cfg, f"/api/resolve?username={args.target}")
if sub == "revoke":
group_id = _resolve_group(cfg, args.group)