aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-node/src/meshbay_node/ops/groups.py
diff options
context:
space:
mode:
Diffstat (limited to 'packages/meshbay-node/src/meshbay_node/ops/groups.py')
-rw-r--r--packages/meshbay-node/src/meshbay_node/ops/groups.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/packages/meshbay-node/src/meshbay_node/ops/groups.py b/packages/meshbay-node/src/meshbay_node/ops/groups.py
index 905aa44..1d8003c 100644
--- a/packages/meshbay-node/src/meshbay_node/ops/groups.py
+++ b/packages/meshbay-node/src/meshbay_node/ops/groups.py
@@ -122,7 +122,10 @@ async def list_groups(state: dict) -> dict:
"peers": sum(1 for p in peers.values() if p.get("group_id") == gid),
})
roster = state.get("roster")
- has_operator = False
+ # None, not False, until the roster is published (after the hub login): a
+ # node still waiting for its account has not lost its operator, and saying
+ # "no operator paired" sent the reader after a pairing that was intact.
+ has_operator = None
if roster:
members = await roster.list_members()
has_operator = any(m["role"] == "operator" and m["status"] == "active"