Синхронизация прочтения в группах и фикс синхронизации сообщений в группах

This commit is contained in:
RoyceDa
2026-02-24 17:33:26 +02:00
parent 089fa055d3
commit 785406671c
3 changed files with 141 additions and 10 deletions

View File

@@ -391,15 +391,22 @@ export function useDialogFiber() {
*/
usePacket(0x07, async (packet: PacketRead) => {
runTaskInQueue(async () => {
if (!hasGroup(packet.getToPublicKey())) {
const fromPublicKey = packet.getFromPublicKey();
const toPublicKey = packet.getToPublicKey();
if (!hasGroup(toPublicKey)) {
/**
* Если это не относится к группам, то игнорируем здесь,
* для этого есть отдельный слушатель usePacket выше
*/
return;
}
const fromPublicKey = packet.getFromPublicKey();
const toPublicKey = packet.getToPublicKey();
if(fromPublicKey == publicKey){
/**
* Игнорируем если это наше прочтение
* которое получается при синхронизации
*/
return;
}
await runQuery(`UPDATE messages SET read = 1 WHERE to_public_key = ? AND from_public_key = ? AND account = ?`, [toPublicKey, publicKey, publicKey]);
await updateSyncTime(Date.now());
updateDialog(toPublicKey);