From 6561e0ea263b1de8b3c771e285a07fdf3ebe8cb6 Mon Sep 17 00:00:00 2001 From: Richard Ramos Date: Fri, 20 Aug 2021 18:04:11 -0400 Subject: [PATCH] switch deletedMessages from string array to object array --- src/app/chat/event_handling.nim | 4 ++-- src/status/chat.nim | 4 ++-- src/status/chat/chat.nim | 4 ++++ src/status/signals/messages.nim | 12 ++++++++++-- src/status/signals/types.nim | 2 +- vendor/status-go | 2 +- 6 files changed, 20 insertions(+), 8 deletions(-) diff --git a/src/app/chat/event_handling.nim b/src/app/chat/event_handling.nim index a9c38f4c63..b78a4cf93b 100644 --- a/src/app/chat/event_handling.nim +++ b/src/app/chat/event_handling.nim @@ -83,8 +83,8 @@ proc handleChatEvents(self: ChatController) = self.view.addActivityCenterNotification(evArgs.activityCenterNotifications) if (evArgs.deletedMessages.len > 0): - for messageId in evArgs.deletedMessages: - self.view.deleteMessage(messageId) + for m in evArgs.deletedMessages: + discard self.view.deleteMessage(m.chatId, m.messageId) self.status.events.on("channelUpdate") do(e: Args): var evArgs = ChatUpdateArgs(e) diff --git a/src/status/chat.nim b/src/status/chat.nim index c967c4785a..89fe35235b 100644 --- a/src/status/chat.nim +++ b/src/status/chat.nim @@ -31,7 +31,7 @@ type communityMembershipRequests*: seq[CommunityMembershipRequest] activityCenterNotifications*: seq[ActivityCenterNotification] statusUpdates*: seq[StatusUpdate] - deletedMessages*: seq[string] + deletedMessages*: seq[RemovedMessage] ChatIdArg* = ref object of Args chatId*: string @@ -104,7 +104,7 @@ QtObject: result.setup() - proc update*(self: ChatModel, chats: seq[Chat], messages: seq[Message], emojiReactions: seq[Reaction], communities: seq[Community], communityMembershipRequests: seq[CommunityMembershipRequest], pinnedMessages: seq[Message], activityCenterNotifications: seq[ActivityCenterNotification], statusUpdates: seq[StatusUpdate], deletedMessages: seq[string]) = + proc update*(self: ChatModel, chats: seq[Chat], messages: seq[Message], emojiReactions: seq[Reaction], communities: seq[Community], communityMembershipRequests: seq[CommunityMembershipRequest], pinnedMessages: seq[Message], activityCenterNotifications: seq[ActivityCenterNotification], statusUpdates: seq[StatusUpdate], deletedMessages: seq[RemovedMessage]) = for chat in chats: self.channels[chat.id] = chat diff --git a/src/status/chat/chat.nim b/src/status/chat/chat.nim index ea36b515a7..9c3649061d 100644 --- a/src/status/chat/chat.nim +++ b/src/status/chat/chat.nim @@ -89,6 +89,10 @@ type Chat* = ref object canPost*: bool ensName*: string +type RemovedMessage* = object + chatId*: string + messageId*: string + type CommunityAccessLevel* = enum unknown = 0 public = 1 diff --git a/src/status/signals/messages.nim b/src/status/signals/messages.nim index c30e3e8cc9..c716fc7be6 100644 --- a/src/status/signals/messages.nim +++ b/src/status/signals/messages.nim @@ -29,6 +29,8 @@ proc toCommunityMembershipRequest*(jsonCommunityMembershipRequest: JsonNode): Co proc toActivityCenterNotification*(jsonNotification: JsonNode): ActivityCenterNotification +proc toRemovedMessage*(jsonRemovedMessage: JsonNode): RemovedMessage + proc fromEvent*(event: JsonNode): Signal = var signal:MessageSignal = MessageSignal() signal.messages = @[] @@ -76,8 +78,8 @@ proc fromEvent*(event: JsonNode): Signal = signal.membershipRequests.add(jsonCommunity.toCommunityMembershipRequest) if event["event"]{"removedMessages"} != nil: - for messageId in event["event"]["removedMessages"]: - signal.deletedMessages.add(messageId.getStr) + for jsonRemovedMessage in event["event"]["removedMessages"]: + signal.deletedMessages.add(jsonRemovedMessage.toRemovedMessage) if event["event"]{"activityCenterNotifications"} != nil: for jsonNotification in event["event"]["activityCenterNotifications"]: @@ -283,6 +285,12 @@ proc toCommunityMembershipRequest*(jsonCommunityMembershipRequest: JsonNode): Co our: jsonCommunityMembershipRequest{"our"}.getStr, ) +proc toRemovedMessage*(jsonRemovedMessage: JsonNode): RemovedMessage = + result = RemovedMessage( + chatId: jsonRemovedMessage{"chatId"}.getStr, + messageId: jsonRemovedMessage{"messageId"}.getStr, + ) + proc toTextItem*(jsonText: JsonNode): TextItem = result = TextItem( literal: jsonText{"literal"}.getStr, diff --git a/src/status/signals/types.nim b/src/status/signals/types.nim index b48f13965d..8527868698 100644 --- a/src/status/signals/types.nim +++ b/src/status/signals/types.nim @@ -38,7 +38,7 @@ type MessageSignal* = ref object of Signal membershipRequests*: seq[CommunityMembershipRequest] activityCenterNotification*: seq[ActivityCenterNotification] statusUpdates*: seq[StatusUpdate] - deletedMessages*: seq[string] + deletedMessages*: seq[RemovedMessage] type CommunitySignal* = ref object of Signal community*: Community diff --git a/vendor/status-go b/vendor/status-go index 8f9c644dae..20363e32ef 160000 --- a/vendor/status-go +++ b/vendor/status-go @@ -1 +1 @@ -Subproject commit 8f9c644daeaa057a1291f31c667e6a8ea2393aec +Subproject commit 20363e32ef96d4b5631ef4dd375bdb65252e6416