diff --git a/.gitignore b/.gitignore index f514e0f..0369309 100644 --- a/.gitignore +++ b/.gitignore @@ -13,4 +13,5 @@ CREDS .env.development.local .env.test.local .env.production.local -app/servers.ts \ No newline at end of file +app/servers.ts +packs diff --git a/app/constants.ts b/app/constants.ts index 31484fa..6e96d3c 100644 --- a/app/constants.ts +++ b/app/constants.ts @@ -61,5 +61,6 @@ export const ALLOWED_DOMAINS_ZONES = [ 'chat', 'gg', 'fm', - 'tv' + 'tv', + 'im' ]; \ No newline at end of file diff --git a/app/providers/DialogProvider/DialogProvider.tsx b/app/providers/DialogProvider/DialogProvider.tsx index 59410e9..43f244e 100644 --- a/app/providers/DialogProvider/DialogProvider.tsx +++ b/app/providers/DialogProvider/DialogProvider.tsx @@ -917,10 +917,28 @@ export function DialogProvider(props: DialogProviderProps) { } } + /** + * Дедубликация сообщений по message_id, так как может возникать ситуация, что одно и то же сообщение + * может загрузиться несколько раз при накладках сети, отставании часов, при синхронизации + * @param messages массив сообщений + * @returns массив уникальных сообщений + */ + const deduplicate = (messages: Message[]) => { + const map = new Map(); + for(let i = 0; i < messages.length; i++){ + const message = messages[i]; + if(map.has(message.message_id)){ + continue; + } + map.set(message.message_id, message); + } + return Array.from(map.values()); + } + return ( { setDialogsCache(dialogsCache.filter((cache) => cache.publicKey != props.dialog)); diff --git a/packs/sp-darwin-arm64-0.6.0-1.4.6.zip b/packs/sp-darwin-arm64-0.6.0-1.4.6.zip deleted file mode 100644 index 7c63e73..0000000 Binary files a/packs/sp-darwin-arm64-0.6.0-1.4.6.zip and /dev/null differ diff --git a/packs/sp-darwin-x64-0.6.0-1.4.6.zip b/packs/sp-darwin-x64-0.6.0-1.4.6.zip deleted file mode 100644 index 7c63e73..0000000 Binary files a/packs/sp-darwin-x64-0.6.0-1.4.6.zip and /dev/null differ diff --git a/packs/sp-linux-arm64-0.6.0-1.4.6.zip b/packs/sp-linux-arm64-0.6.0-1.4.6.zip deleted file mode 100644 index 7c63e73..0000000 Binary files a/packs/sp-linux-arm64-0.6.0-1.4.6.zip and /dev/null differ diff --git a/packs/sp-linux-x64-0.6.0-1.4.6.zip b/packs/sp-linux-x64-0.6.0-1.4.6.zip deleted file mode 100644 index 7c63e73..0000000 Binary files a/packs/sp-linux-x64-0.6.0-1.4.6.zip and /dev/null differ diff --git a/packs/sp-win32-arm64-0.6.0-1.4.6.zip b/packs/sp-win32-arm64-0.6.0-1.4.6.zip deleted file mode 100644 index 7c63e73..0000000 Binary files a/packs/sp-win32-arm64-0.6.0-1.4.6.zip and /dev/null differ diff --git a/packs/sp-win32-x64-0.6.0-1.4.6.zip b/packs/sp-win32-x64-0.6.0-1.4.6.zip deleted file mode 100644 index 7c63e73..0000000 Binary files a/packs/sp-win32-x64-0.6.0-1.4.6.zip and /dev/null differ