diff options
| author | Christophe Besson <cbesson@gmail.com> | 2026-10-05 11:27:20 +0200 |
|---|---|---|
| committer | Christophe Besson <cbesson@gmail.com> | 2026-10-05 11:27:20 +0200 |
| commit | 28752696f376eb11feb686580a435b166750a723 (patch) | |
| tree | a879254f126d6d83096c7a7c3a181a151e3be7f2 /packages/meshbay-hub/tests | |
| parent | 6cdc6016d72dcfb7530ac38a8fa92232418ac305 (diff) | |
| download | meshbay-28752696f376eb11feb686580a435b166750a723.tar.gz | |
fix: list as members only the accounts the node has admitted
The Members list showed the hub's membership, which an account gains when it
accepts the invitation or redeems a link, before it has presented its code to
the node. The node's roster is the authority (MESHBAY_DESIGN.md ยง3.4), so
the list now crosses the hub's members with the sealed group roster the node
already sends every connected member. An account the node has not admitted
yet is shown to the owner alone, as waiting for its code, with the Remove
button; other members do not see it. When the roster cannot be read, the
hub's list is shown as before.
groupRoster() takes { fresh: true } so the page sees who joined since the
connection opened.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'packages/meshbay-hub/tests')
| -rw-r--r-- | packages/meshbay-hub/tests/test_spa_ordering.py | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/packages/meshbay-hub/tests/test_spa_ordering.py b/packages/meshbay-hub/tests/test_spa_ordering.py index 6f28aaa..44f98db 100644 --- a/packages/meshbay-hub/tests/test_spa_ordering.py +++ b/packages/meshbay-hub/tests/test_spa_ordering.py @@ -162,7 +162,7 @@ def _component(name: str) -> str: def test_the_group_settings_panel_renders_what_it_owns(): panel = _component("GroupSettingsPanel") - assert "members.map(" in panel, "the member list is not rendered" + assert "joined.map(" in panel, "the member list is not rendered" assert "onSubmit=${doInvite}" in panel, "the invite form is not rendered" assert "onSubmit=${doPair}" in panel, "the pairing form is not rendered" assert "device.mine_title" in panel, "the devices section is not rendered" @@ -175,7 +175,7 @@ def test_the_roster_comes_last(): order is for โ asked for in those terms. """ panel = _component("GroupSettingsPanel") - listing = panel.index("members.map(") + listing = panel.index("joined.map(") for name, marker in (("the invite form", "onSubmit=${doInvite}"), ("the pairing form", "onSubmit=${doPair}"), ("the devices section", "device.mine_title"), |