diff options
Diffstat (limited to 'packages/meshbay-node/src/meshbay_node')
| -rw-r--r-- | packages/meshbay-node/src/meshbay_node/chat/__init__.py | 8 | ||||
| -rw-r--r-- | packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py | 10 |
2 files changed, 7 insertions, 11 deletions
diff --git a/packages/meshbay-node/src/meshbay_node/chat/__init__.py b/packages/meshbay-node/src/meshbay_node/chat/__init__.py index cb2c868..400cb1a 100644 --- a/packages/meshbay-node/src/meshbay_node/chat/__init__.py +++ b/packages/meshbay-node/src/meshbay_node/chat/__init__.py @@ -1,10 +1,8 @@ """MeshBay Node — chat storage and relay. -Encryption is the client's: the node holds an epoch key it delivers to members -and never a plaintext message once a group has the switch on. See -`docs/chat-sender-keys.md`. It is not the Sender Keys ratchet this module's -docstring used to name — `senderkeys.py` is unused by production and is kept for -a possible future 1:1 DM, alongside `ratchet.py`. +Encryption is the client's: the node holds an epoch key it delivers to members, +and never a plaintext message. Not a ratchet — a key per group, per epoch, per +device, for the reasons `meshbay_common/chatbox.py` sets out. """ from .store import ( FORMAT_PLAIN, diff --git a/packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py b/packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py index ec7ef5d..2a90bb4 100644 --- a/packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py +++ b/packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py @@ -383,12 +383,10 @@ class WebRTCPeerSession: self._username: str = "" # This connection's key in the group's peer registry. **Per connection, # never per account**: one person may hold several devices here, and - # keying the registry by user_id made the second evict the first — the - # same "keyed by account where it should be keyed by device" mistake as - # `pin_identity`'s old INSERT OR REPLACE and as GroupSenderKeyStore's - # silent overwrite. Symptom was invisible: two devices of one account - # could not both be connected, and whichever disconnected took the - # other's chat delivery with it. See docs/chat-sender-keys.md F7. + # keying the registry by user_id makes the second evict the first, and + # the symptom is invisible: two devices of one account cannot both be + # connected, and whichever disconnects takes the other's chat delivery + # with it. self._registry_key: str = uuid.uuid4().hex # Set from the roster: the key this node pinned for this account. Never # from the JWT — the hub picks what goes in there. |