From 6dc35d7ccae08d001b619cb80d0b7141044742b9 Mon Sep 17 00:00:00 2001 From: RoyceDa Date: Sun, 22 Mar 2026 19:49:59 +0200 Subject: [PATCH] =?UTF-8?q?=D0=9D=D0=BE=D0=B2=D0=BE=D0=B5=20=D0=B2=D0=BB?= =?UTF-8?q?=D0=BE=D0=B6=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=97=D0=92=D0=9E=D0=9D?= =?UTF-8?q?=D0=9E=D0=9A=20=D1=82=D0=B5=D0=BF=D0=B5=D1=80=D1=8C=20=D0=BE?= =?UTF-8?q?=D1=82=D0=BF=D1=80=D0=B0=D0=B2=D0=BB=D1=8F=D0=B5=D1=82=D1=81?= =?UTF-8?q?=D1=8F=20=D0=BE=D1=82=20=D0=BB=D0=B8=D1=86=D0=B0=20=D0=B7=D0=B2?= =?UTF-8?q?=D0=BE=D0=BD=D1=8F=D1=89=D0=B5=D0=B3=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MessageAttachments/MessageCall.tsx | 12 +++++++----- app/providers/CallProvider/CallProvider.tsx | 17 +++++++---------- .../protocol/packets/packet.message.ts | 2 +- 3 files changed, 15 insertions(+), 16 deletions(-) diff --git a/app/components/MessageAttachments/MessageCall.tsx b/app/components/MessageAttachments/MessageCall.tsx index 478afdd..0e4ea35 100644 --- a/app/components/MessageAttachments/MessageCall.tsx +++ b/app/components/MessageAttachments/MessageCall.tsx @@ -4,6 +4,7 @@ import { Avatar, Box, Flex, Text } from "@mantine/core"; import { useRosettaColors } from "@/app/hooks/useRosettaColors"; import { IconPhoneOutgoing, IconX } from "@tabler/icons-react"; import { translateDurationToTime } from "@/app/providers/CallProvider/translateDurationTime"; +import { usePublicKey } from "@/app/providers/AccountProvider/usePublicKey"; export function MessageCall(props: AttachmentProps) { const { @@ -13,9 +14,10 @@ export function MessageCall(props: AttachmentProps) { props.attachment, props.parent, ); + const publicKey = usePublicKey(); const preview = getPreview(); - const callerRole = preview.split("::")[0]; - const duration = parseInt(preview.split("::")[1]); + const caller = props.parent.from == publicKey; + const duration = parseInt(preview); const colors = useRosettaColors(); const error = duration == 0; @@ -30,10 +32,10 @@ export function MessageCall(props: AttachmentProps) { {!error && <> - {callerRole == "0" && ( + {!caller && ( )} - {callerRole == "1" && ( + {caller && ( @@ -45,7 +47,7 @@ export function MessageCall(props: AttachmentProps) { { - error ? (callerRole == "0" ? "Missed call" : "Rejected call") : (callerRole == "0" ? "Incoming call" : "Outgoing call") + error ? (!caller ? "Missed call" : "Rejected call") : (!caller ? "Incoming call" : "Outgoing call") } {!error && diff --git a/app/providers/CallProvider/CallProvider.tsx b/app/providers/CallProvider/CallProvider.tsx index bf1d342..052d83b 100644 --- a/app/providers/CallProvider/CallProvider.tsx +++ b/app/providers/CallProvider/CallProvider.tsx @@ -462,21 +462,18 @@ export function CallProvider(props : CallProviderProps) { * Отправляет сообщение в диалог с звонящим с информацией о звонке */ const generateCallAttachment = () => { - let preview = ""; - if(roleRef.current == CallRole.CALLER){ - preview += "1::"; + if(roleRef.current != CallRole.CALLER){ + /** + * Только звонящий отправляет информацию о звонке в виде вложения, чтобы ее можно было отобразить в UI диалога, например длительность звонка + */ + return; } - if(roleRef.current == CallRole.CALLEE){ - preview += "0::"; - } - preview += duration.toString(); - sendMessage(activeCall, "", [{ id: generateRandomKey(16), - preview: preview, + preview: duration.toString(), type: AttachmentType.CALL, blob: "" - }], false); + }], true); } const accept = () => { diff --git a/app/providers/ProtocolProvider/protocol/packets/packet.message.ts b/app/providers/ProtocolProvider/protocol/packets/packet.message.ts index 66ba616..323908b 100644 --- a/app/providers/ProtocolProvider/protocol/packets/packet.message.ts +++ b/app/providers/ProtocolProvider/protocol/packets/packet.message.ts @@ -6,7 +6,7 @@ export enum AttachmentType { MESSAGES = 1, FILE = 2, AVATAR = 3, - CALL + CALL = 4 } export interface Attachment {