aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-hub/src/meshbay_hub/static/transport-chat.js
diff options
context:
space:
mode:
authorChristophe Besson <cbesson@gmail.com>2026-09-30 15:48:51 +0200
committerChristophe Besson <cbesson@gmail.com>2026-09-30 15:48:51 +0200
commit8926f163dad9d32dc06c3a142658a4e11d9c12c1 (patch)
tree4d36d1c18154cb46e6e80c59ef6c607972caa81e /packages/meshbay-hub/src/meshbay_hub/static/transport-chat.js
parent8d96cf2314b45e0737f932998b5422c27a2ae72e (diff)
downloadmeshbay-8926f163dad9d32dc06c3a142658a4e11d9c12c1.tar.gz
refactor(hub): the transport holds an identity, never a private key
Two public keys, sign() and shared(); the apps take transport.signFn. What holds the keys (this page, or the desktop main process) is the identity's business alone. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'packages/meshbay-hub/src/meshbay_hub/static/transport-chat.js')
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/transport-chat.js5
1 files changed, 2 insertions, 3 deletions
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/transport-chat.js b/packages/meshbay-hub/src/meshbay_hub/static/transport-chat.js
index 270c76e..f0604ce 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/transport-chat.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/transport-chat.js
@@ -157,7 +157,7 @@ extendTransport(class {
const epoch = this.chatEpoch || keys.current;
const epochKey = keys.byEpoch.get(epoch);
if (!epochKey) throw new Error('No chat key for this group — reconnect');
- if (!this.devicePk || !this._sessionKeys || !this._sessionKeys.skEdB64) {
+ if (!this.devicePk || !this._identity) {
throw new Error('This device is not identified to the node — reconnect');
}
@@ -172,8 +172,7 @@ extendTransport(class {
const { nonce, ct } = await C.sealChat(
epochKey, gid, epoch, this.devicePk, plaintext);
const device = C.b64decode(this.devicePk);
- const sig = C.b64decode(await window.MeshBayKeys.signBytes(
- this._sessionKeys.skEdB64,
+ const sig = C.b64decode(await this._identity.sign(
C.chatSigningTranscript(gid, epoch, device, nonce, ct)));
const msg = await this._sendAndWait({