mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2026-05-24 21:45:38 +00:00
core: prevent failure to acknowledge a group message in case its parsing or saving fails (potential cause for stuck delivery) (#1887)
This commit is contained in:
committed by
GitHub
parent
c90d911d2a
commit
0427d2e578
+5
-5
@@ -2102,8 +2102,8 @@ processAgentMessageConn user@User {userId} corrId agentConnId agentMessage = do
|
||||
saveConnInfo conn connInfo
|
||||
MSG meta _msgFlags msgBody -> do
|
||||
cmdId <- createAckCmd conn
|
||||
_ <- saveRcvMSG conn (ConnectionId connId) meta msgBody cmdId
|
||||
withAckMessage agentConnId cmdId meta $ pure ()
|
||||
withAckMessage agentConnId cmdId meta . void $
|
||||
saveRcvMSG conn (ConnectionId connId) meta msgBody cmdId
|
||||
SENT msgId ->
|
||||
sentMsgDeliveryEvent conn msgId
|
||||
OK ->
|
||||
@@ -2345,9 +2345,9 @@ processAgentMessageConn user@User {userId} corrId agentConnId agentMessage = do
|
||||
when (memberCategory m == GCPreMember) $ probeMatchingContacts ct connectedIncognito
|
||||
MSG msgMeta _msgFlags msgBody -> do
|
||||
cmdId <- createAckCmd conn
|
||||
msg@RcvMessage {chatMsgEvent = ACME _ event} <- saveRcvMSG conn (GroupId groupId) msgMeta msgBody cmdId
|
||||
updateChatLock "groupMessage" event
|
||||
withAckMessage agentConnId cmdId msgMeta $
|
||||
withAckMessage agentConnId cmdId msgMeta $ do
|
||||
msg@RcvMessage {chatMsgEvent = ACME _ event} <- saveRcvMSG conn (GroupId groupId) msgMeta msgBody cmdId
|
||||
updateChatLock "groupMessage" event
|
||||
case event of
|
||||
XMsgNew mc -> canSend $ newGroupContentMessage gInfo m mc msg msgMeta
|
||||
XMsgUpdate sharedMsgId mContent ttl live -> canSend $ groupMessageUpdate gInfo m sharedMsgId mContent msg msgMeta ttl live
|
||||
|
||||
Reference in New Issue
Block a user