aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-node/src/meshbay_node/roster.py
diff options
context:
space:
mode:
Diffstat (limited to 'packages/meshbay-node/src/meshbay_node/roster.py')
-rw-r--r--packages/meshbay-node/src/meshbay_node/roster.py16
1 files changed, 8 insertions, 8 deletions
diff --git a/packages/meshbay-node/src/meshbay_node/roster.py b/packages/meshbay-node/src/meshbay_node/roster.py
index 0753400..8c9b3ef 100644
--- a/packages/meshbay-node/src/meshbay_node/roster.py
+++ b/packages/meshbay-node/src/meshbay_node/roster.py
@@ -16,7 +16,7 @@ Three tables:
only in the operator's hands and the invitee's.
The code is what binds a public key to an account without asking the hub
-(finding H3). See `docs/invite-pairing-v1.md`.
+(finding H3). See `docs/MESHBAY_DESIGN.md` §3.4.
"""
from __future__ import annotations
@@ -63,7 +63,7 @@ DEFAULT_DEVICE_REQUEST_TTL = 3600
_SCHEMA = """\
-- One row per DEVICE, not per person. A browser and a desktop client are two
-- keys belonging to one account, and `user_id` alone as the key made the second
--- silently overwrite the first (INSERT OR REPLACE). See docs/desktop-client-v1.md §4.
+-- silently overwrite the first (INSERT OR REPLACE). See docs/MESHBAY_DESIGN.md §3.3.
CREATE TABLE IF NOT EXISTS identities (
user_id TEXT NOT NULL,
username TEXT NOT NULL,
@@ -81,7 +81,7 @@ CREATE TABLE IF NOT EXISTS identities (
-- transcript binds `nonce_node` — the approving connection's handshake
-- nonce — so even a stored signature is unverifiable without it.
--
- -- This is what Tier 2 needs (docs/desktop-client-v1.md §4.8): relayed with
+ -- This is what Tier 2 needs (docs/MESHBAY_DESIGN.md §3.3): relayed with
-- the roster, it lets a member verify for themselves that a second device
-- belongs to an account whose first device they have already pinned,
-- instead of taking the node's word. Verified and discarded until
@@ -407,7 +407,7 @@ class Roster:
Every live device of every active member of one group, with the evidence
that admitted it.
- For Tier 2 (`docs/desktop-client-v1.md` §4.8), and therefore
+ For Tier 2 (`docs/MESHBAY_DESIGN.md` §3.3), and therefore
**member-visible** — unlike `list_identities`, which answers the
operator. Two consequences of that, and both are the price of the
feature rather than oversights:
@@ -750,10 +750,10 @@ class Roster:
return apps
# The TMDB credential and query language are one operator's budget, not a
- # per-group concern (docs/mediacenter.md §5.5) — stored under the
+ # per-group concern (docs/MESHBAY_DESIGN.md §9.7) — stored under the
# group_id="" sentinel, the same precedent as `roster.get_member("",
- # user_id)` authorizing the operator node-wide (desktop-client-v1.md
- # §6.3). Unset means "the shipped default token, TMDB's own default
+ # user_id)` authorizing the operator node-wide (docs/MESHBAY_DESIGN.md
+ # §6.1). Unset means "the shipped default token, TMDB's own default
# language" — the same "absent means the old behaviour" discipline
# enabled_apps already follows.
#
@@ -791,7 +791,7 @@ class Roster:
# Which folder(s) inside the group's shared roots each application uses as
# its entry point. One storage shape for every app, keyed by the app's own
# name, so adding an application needs no change here at all — that is the
- # whole point of the plugin architecture (docs/refactor-groups.md §1.6).
+ # whole point of the plugin architecture (docs/MESHBAY_DESIGN.md §9.3).
#
# Always a JSON list, even for an app that only ever wants one directory.
# Two shapes for one idea is how `video_root` (scalar) and `photo_roots`