@@ -1816,16 +1816,21 @@ pub async fn delete_msgs_ex(
1816
1816
}
1817
1817
res?;
1818
1818
1819
- let ( info_msg_ids, info_msg_rfc724) : ( Vec < MsgId > , Vec < _ > ) =
1820
- deleted_info_msgs. into_iter ( ) . unzip ( ) ;
1821
- if !info_msg_rfc724. is_empty ( ) && modified_chat_ids. len ( ) > 1 {
1822
- bail ! ( "Can delete only from same chat." ) ;
1823
- }
1819
+ if !deleted_info_msgs. is_empty ( ) {
1820
+ if modified_chat_ids. len ( ) > 1 {
1821
+ bail ! ( "Can delete only from same chat." ) ;
1822
+ }
1823
+ let ( info_msg_ids, info_msg_rfc724) : ( Vec < MsgId > , Vec < _ > ) =
1824
+ deleted_info_msgs. into_iter ( ) . unzip ( ) ;
1824
1825
1825
- if let Some ( chat_id) = modified_chat_ids. iter ( ) . next ( )
1826
- && !info_msg_rfc724. is_empty ( )
1827
- {
1828
- send_delete_request ( context, & info_msg_rfc724, chat_id) . await ?;
1826
+ for & msg_id in & info_msg_ids {
1827
+ let msg = Message :: load_from_db ( context, msg_id) . await ?;
1828
+ delete_msg_locally ( context, & msg) . await ?;
1829
+ }
1830
+
1831
+ if let Some ( chat_id) = modified_chat_ids. iter ( ) . next ( ) {
1832
+ send_delete_request ( context, & info_msg_rfc724, chat_id) . await ?;
1833
+ }
1829
1834
}
1830
1835
1831
1836
if delete_for_all {
@@ -1844,11 +1849,6 @@ pub async fn delete_msgs_ex(
1844
1849
. await ?;
1845
1850
}
1846
1851
1847
- for & msg_id in & info_msg_ids {
1848
- let msg = Message :: load_from_db ( context, msg_id) . await ?;
1849
- delete_msg_locally ( context, & msg) . await ?;
1850
- }
1851
-
1852
1852
for & msg_id in msg_ids {
1853
1853
let msg = Message :: load_from_db ( context, msg_id) . await ?;
1854
1854
delete_msg_locally ( context, & msg) . await ?;
0 commit comments