(fix): double decryption
Some checks failed
/ build-web (push) Successful in 6m30s
/ build-desktop (linux) (push) Failing after 7m14s
/ build-mobile (push) Successful in 17m51s
/ release (push) Has been skipped

This commit is contained in:
Alois 2026-07-06 12:50:05 +02:00
commit 35414cdfcb
3 changed files with 44 additions and 42 deletions

View file

@ -246,10 +246,20 @@ export default function Provider({ children }: { children: ReactNode }) {
try {
return {
...message,
Content: await decryptChatText(currentChatSecret, message.Content),
Content: await decryptChatText(
currentChatSecret,
message.Content,
),
};
} catch (err) {
log(1, "chat", "red", "Failed to decrypt historical message", err, {
SendTime: message.SendTime,
});
return {
...message,
Content: "Failed to decrypt message",
decryptionFailed: true,
};
} catch {
return message;
}
}),
);
@ -352,12 +362,18 @@ export default function Provider({ children }: { children: ReactNode }) {
if (!data.Message || !currentChatSecret) return;
void decryptChatText(currentChatSecret, data.Message.Content)
.catch(() => data.Message?.Content ?? "")
.catch((err) => {
log(1, "chat", "red", "Failed to decrypt live message", err, {
SendTime: data.Message?.SendTime,
});
return null;
})
.then((content) => {
if (!data.Message) return;
addLiveMessage({
...data.Message,
Content: content,
Content: content ?? "Failed to decrypt message",
decryptionFailed: content === null,
SentBySelf: false,
});
});
@ -455,7 +471,14 @@ export default function Provider({ children }: { children: ReactNode }) {
},
);
});
}, [addLiveMessage, currentChatSecret, load, send, subscribePush, userIdValue]);
}, [
addLiveMessage,
currentChatSecret,
load,
send,
subscribePush,
userIdValue,
]);
return (
<QueryClientProvider client={queryClient}>