cleanup: remove string lid / jid refs and improve hosted support

This commit is contained in:
Rajeh Taher
2025-10-20 00:05:54 +03:00
parent 2e47d4b66b
commit cc3cd17392
6 changed files with 16 additions and 32 deletions
+6 -6
View File
@@ -19,8 +19,8 @@ import {
import { unpadRandomMax16 } from './generics'
import type { ILogger } from './logger'
const getDecryptionJid = async (sender: string, repository: SignalRepositoryWithLIDStore): Promise<string> => {
if (sender.includes('@lid')) {
export const getDecryptionJid = async (sender: string, repository: SignalRepositoryWithLIDStore): Promise<string> => {
if (isLidUser(sender) || isHostedLidUser(sender)) {
return sender
}
@@ -35,6 +35,7 @@ const storeMappingFromEnvelope = async (
decryptionJid: string,
logger: ILogger
): Promise<void> => {
// TODO: Handle hosted IDs
const { senderAlt } = extractAddressingContext(stanza)
if (senderAlt && isLidUser(senderAlt) && isPnUser(sender) && decryptionJid === sender) {
@@ -259,12 +260,11 @@ export const decryptMessageNode = (
let msgBuffer: Uint8Array
const user = isPnUser(sender) ? sender : author // TODO: flaky logic
const decryptionJid = await getDecryptionJid(user, repository)
const decryptionJid = await getDecryptionJid(author, repository)
if (tag !== 'plaintext') {
await storeMappingFromEnvelope(stanza, user, repository, decryptionJid, logger)
// TODO: Handle hosted devices
await storeMappingFromEnvelope(stanza, author, repository, decryptionJid, logger)
}
try {
+2 -2
View File
@@ -112,8 +112,8 @@ export const makeNoiseHandler = ({
const certDecoded = decrypt(serverHello!.payload!)
const { intermediate: certIntermediate } = proto.CertChain.decode(certDecoded)
const { intermediate: certIntermediate, leaf } = proto.CertChain.decode(certDecoded)
// TODO: handle this leaf stuff
const { issuerSerial } = proto.CertChain.NoiseCertificate.Details.decode(certIntermediate!.details!)
if (issuerSerial !== WA_CERT_DETAILS.SERIAL) {