Skip to content

Commit 969da38

Browse files
committed
fixes
1 parent 6420c27 commit 969da38

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

src/message.rs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1725,10 +1725,10 @@ pub(crate) async fn get_webxdc_info_messages(
17251725
FROM msgs
17261726
WHERE chat_id=?1 AND hidden=0 AND mime_in_reply_to = ?2
17271727
"#,
1728-
(msg.chat_id, msg.id),
1728+
(msg.chat_id, &msg.rfc724_mid),
17291729
|row| {
17301730
let info_msg_id: MsgId = row.get(0)?;
1731-
let last_param: Params = row.get::<_, String>(2)?.parse().unwrap_or_default();
1731+
let last_param: Params = row.get::<_, String>(1)?.parse().unwrap_or_default();
17321732
Ok((info_msg_id, last_param))
17331733
},
17341734
|row| {
@@ -1782,6 +1782,7 @@ pub async fn delete_msgs_ex(
17821782
let mut deleted_rfc724_mid = Vec::new();
17831783
let mut res = Ok(());
17841784
let mut msg_ids_queue = VecDeque::from_iter(msg_ids.iter().cloned());
1785+
let mut msg_ids = Vec::from(msg_ids);
17851786

17861787
while let Some(msg_id) = msg_ids_queue.pop_front() {
17871788
let msg = Message::load_from_db(context, msg_id).await?;
@@ -1794,7 +1795,11 @@ pub async fn delete_msgs_ex(
17941795
"Cannot request deletion of unencrypted message for others"
17951796
);
17961797

1797-
msg_ids_queue.extend(get_webxdc_info_messages(context, &msg).await?);
1798+
if msg.viewtype == Viewtype::Webxdc {
1799+
let info_msgs = get_webxdc_info_messages(context, &msg).await?;
1800+
msg_ids_queue.extend(info_msgs.clone());
1801+
msg_ids.extend(info_msgs);
1802+
}
17981803
modified_chat_ids.insert(msg.chat_id);
17991804
deleted_rfc724_mid.push(msg.rfc724_mid.clone());
18001805

@@ -1840,11 +1845,11 @@ pub async fn delete_msgs_ex(
18401845
.await?;
18411846
}
18421847

1843-
for &msg_id in msg_ids {
1848+
for &msg_id in msg_ids.iter() {
18441849
let msg = Message::load_from_db(context, msg_id).await?;
18451850
delete_msg_locally(context, &msg).await?;
18461851
}
1847-
delete_msgs_locally_done(context, msg_ids, modified_chat_ids).await?;
1852+
delete_msgs_locally_done(context, &msg_ids, modified_chat_ids).await?;
18481853

18491854
// Interrupt Inbox loop to start message deletion, run housekeeping and call send_sync_msg().
18501855
context.scheduler.interrupt_inbox().await;

0 commit comments

Comments
 (0)