import test from 'brittle' import b4a from 'b4a' import { createBareOsChatService } from './lib/bare-os-chat-service.js' test('broadcastLocal senderPk equals Noise socket.publicKey', async (t) => { const wirePk = b4a.alloc(32) wirePk[7] = 42 /** @type {{ sent?: Uint8Array }} */ const cap = {} const disk = { localNoiseWirePk: wirePk, peers: new Set([ { socket: { publicKey: wirePk }, chatChan: { messages: [, , , , { send(evt) { cap.sent = /** @type {Uint8Array} */ (evt.senderPk) } }] } } ]), protomuxChatChannelRxTotal: 0 } const svc = createBareOsChatService({ env: {} }) svc.broadcastLocal(disk, 'hello', { displayName: 'x' }) t.ok(cap.sent && b4a.equals(cap.sent, wirePk), 'multiplex frame carries Noise static pk') const hist = svc.history() const last = hist[hist.length - 1] t.ok(last && b4a.equals(/** @type {Uint8Array} */ (last.senderPk), wirePk)) })