/** * Client-side msgId helper. Mirrors `@shade/inbox-server/msg-id` but lives * in this package so client code doesn't need to import the server bundle. * * `msgId = lowercase-hex( sha256(ciphertext) )` */ export async function computeMsgId(ciphertext: Uint8Array): Promise { const buf = await globalThis.crypto.subtle.digest( 'SHA-256', ciphertext as unknown as ArrayBuffer, ); const arr = new Uint8Array(buf); return Array.from(arr, (b) => b.toString(16).padStart(2, '0')).join(''); }