Explorar o código

bin/ircd: fix duplicate messages issue

ghassmo %!s(int64=3) %!d(string=hai) anos
pai
achega
40889ff9cf
Modificáronse 1 ficheiros con 4 adicións e 2 borrados
  1. 4 2
      bin/ircd/src/protocol_privmsg.rs

+ 4 - 2
bin/ircd/src/protocol_privmsg.rs

@@ -148,6 +148,7 @@ impl ProtocolPrivmsg {
             }
 
             self.update_unread_msgs().await?;
+
             self.p2p.broadcast_with_exclude(msg, &exclude_list).await?;
         }
     }
@@ -205,8 +206,9 @@ impl ProtocolPrivmsg {
                 continue
             }
             if msg.read_confirms >= settings::MAX_CONFIRM {
-                self.add_to_msgs(&msg).await?;
-                self.buffers.unread_msgs.remove(&hash).await;
+                if let Some(msg) = self.buffers.unread_msgs.remove(&hash).await {
+                    self.add_to_msgs(&msg).await?;
+                }
             }
         }
         Ok(())