diff --git a/src/dc_receive_imf.rs b/src/dc_receive_imf.rs index 3720e2b75..e3ff4fff6 100644 --- a/src/dc_receive_imf.rs +++ b/src/dc_receive_imf.rs @@ -219,6 +219,13 @@ pub fn dc_receive_imf( if chat::get_autodelete_timer(context, chat_id) != timer { match chat::set_autodelete_timer(context, chat_id, timer) { Ok(()) => { + let stock_str = context.stock_system_msg( + StockMessage::MsgAutodeleteTimerChanged, + timer.to_string(), + "", + from_id, + ); + chat::add_info_msg(context, chat_id, stock_str); context.call_cb(Event::ChatAutodeleteTimerModified { chat_id, timer }); } Err(err) => { diff --git a/src/mimefactory.rs b/src/mimefactory.rs index 949df1b59..1b6e9fe6a 100644 --- a/src/mimefactory.rs +++ b/src/mimefactory.rs @@ -710,6 +710,12 @@ impl<'a, 'b> MimeFactory<'a, 'b> { "location-streaming-enabled".into(), )); } + SystemMessage::AutodeleteTimerChanged => { + protected_headers.push(Header::new( + "Chat-Content".to_string(), + "autodelete-timer-changed".to_string(), + )); + } SystemMessage::AutocryptSetupMessage => { unprotected_headers .push(Header::new("Autocrypt-Setup-Message".into(), "v1".into())); diff --git a/src/mimeparser.rs b/src/mimeparser.rs index 1c4348eea..6308bb70c 100644 --- a/src/mimeparser.rs +++ b/src/mimeparser.rs @@ -71,6 +71,9 @@ pub enum SystemMessage { SecurejoinMessage = 7, LocationStreamingEnabled = 8, LocationOnly = 9, + + /// Chat autodelete timer is changed. + AutodeleteTimerChanged = 10, } impl Default for SystemMessage { @@ -206,6 +209,8 @@ impl MimeMessage { } else if let Some(value) = self.get(HeaderDef::ChatContent) { if value == "location-streaming-enabled" { self.is_system_message = SystemMessage::LocationStreamingEnabled; + } else if value == "autodelete-timer-changed" { + self.is_system_message = SystemMessage::AutodeleteTimerChanged; } } Ok(()) diff --git a/src/stock.rs b/src/stock.rs index c5ff765f0..f5e31a6b5 100644 --- a/src/stock.rs +++ b/src/stock.rs @@ -179,6 +179,9 @@ pub enum StockMessage { #[strum(props(fallback = "Unknown Sender for this chat. See 'info' for more details."))] UnknownSenderForChat = 72, + + #[strum(props(fallback = "Autodelete timer changed to %1$s."))] + MsgAutodeleteTimerChanged = 73, } /*