diff --git a/src/chat.rs b/src/chat.rs index e80e66974..db6ef50ae 100644 --- a/src/chat.rs +++ b/src/chat.rs @@ -1678,7 +1678,7 @@ fn real_group_exists(context: &Context, chat_id: u32) -> bool { .unwrap_or_default() } -pub fn reset_gossiped_timestamp(context: &Context, chat_id: u32) -> crate::sql::Result<()> { +pub fn reset_gossiped_timestamp(context: &Context, chat_id: u32) -> Result<(), Error> { set_gossiped_timestamp(context, chat_id, 0) } @@ -1699,31 +1699,23 @@ pub fn set_gossiped_timestamp( context: &Context, chat_id: u32, timestamp: i64, -) -> crate::sql::Result<()> { - if 0 != chat_id { - info!( - context, - "set gossiped_timestamp for chat #{} to {}.", chat_id, timestamp, - ); +) -> Result<(), Error> { + ensure!( + chat_id > DC_CHAT_ID_LAST_SPECIAL, + "can not add member to special chats" + ); + info!( + context, + "set gossiped_timestamp for chat #{} to {}.", chat_id, timestamp, + ); - sql::execute( - context, - &context.sql, - "UPDATE chats SET gossiped_timestamp=? WHERE id=?;", - params![timestamp, chat_id as i32], - ) - } else { - info!( - context, - "set gossiped_timestamp for all chats to {}.", timestamp, - ); - sql::execute( - context, - &context.sql, - "UPDATE chats SET gossiped_timestamp=?;", - params![timestamp], - ) - } + sql::execute( + context, + &context.sql, + "UPDATE chats SET gossiped_timestamp=? WHERE id=?;", + params![timestamp, chat_id as i32], + )?; + Ok(()) } pub fn shall_attach_selfavatar(context: &Context, chat_id: u32) -> Result { diff --git a/src/peerstate.rs b/src/peerstate.rs index dba0627d1..7442b8db5 100644 --- a/src/peerstate.rs +++ b/src/peerstate.rs @@ -5,7 +5,6 @@ use std::fmt; use num_traits::FromPrimitive; use crate::aheader::*; -use crate::chat::*; use crate::constants::*; use crate::context::Context; use crate::key::*; @@ -418,7 +417,6 @@ impl<'a> Peerstate<'a> { &self.addr, ], )?; - reset_gossiped_timestamp(self.context, 0)?; } else if self.to_save == Some(ToSave::Timestamps) { sql::execute( self.context,