mirror of
https://github.com/chatmail/core.git
synced 2026-05-02 12:56:30 +03:00
feat: add more context to send_msg errors
This commit is contained in:
@@ -1946,9 +1946,13 @@ impl CommandApi {
|
|||||||
|
|
||||||
async fn send_msg(&self, account_id: u32, chat_id: u32, data: MessageData) -> Result<u32> {
|
async fn send_msg(&self, account_id: u32, chat_id: u32, data: MessageData) -> Result<u32> {
|
||||||
let ctx = self.get_context(account_id).await?;
|
let ctx = self.get_context(account_id).await?;
|
||||||
let mut message = data.create_message(&ctx).await?;
|
let mut message = data
|
||||||
|
.create_message(&ctx)
|
||||||
|
.await
|
||||||
|
.context("Failed to create message")?;
|
||||||
let msg_id = chat::send_msg(&ctx, ChatId::new(chat_id), &mut message)
|
let msg_id = chat::send_msg(&ctx, ChatId::new(chat_id), &mut message)
|
||||||
.await?
|
.await
|
||||||
|
.context("Failed to send created message")?
|
||||||
.to_u32();
|
.to_u32();
|
||||||
Ok(msg_id)
|
Ok(msg_id)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -605,16 +605,13 @@ impl MessageData {
|
|||||||
message.set_location(latitude, longitude);
|
message.set_location(latitude, longitude);
|
||||||
}
|
}
|
||||||
if let Some(id) = self.quoted_message_id {
|
if let Some(id) = self.quoted_message_id {
|
||||||
message
|
let quoted_message = Message::load_from_db(context, MsgId::new(id))
|
||||||
.set_quote(
|
|
||||||
context,
|
|
||||||
Some(
|
|
||||||
&Message::load_from_db(context, MsgId::new(id))
|
|
||||||
.await
|
.await
|
||||||
.context("message to quote could not be loaded")?,
|
.context("Failed to load quoted message")?;
|
||||||
),
|
message
|
||||||
)
|
.set_quote(context, Some("ed_message))
|
||||||
.await?;
|
.await
|
||||||
|
.context("Failed to set quote")?;
|
||||||
} else if let Some(text) = self.quoted_text {
|
} else if let Some(text) = self.quoted_text {
|
||||||
let protect = false;
|
let protect = false;
|
||||||
message.set_quote_text(Some((text, protect)));
|
message.set_quote_text(Some((text, protect)));
|
||||||
|
|||||||
@@ -2941,7 +2941,10 @@ async fn prepare_send_msg(
|
|||||||
);
|
);
|
||||||
message::update_msg_state(context, msg.id, MessageState::OutPending).await?;
|
message::update_msg_state(context, msg.id, MessageState::OutPending).await?;
|
||||||
}
|
}
|
||||||
create_send_msg_jobs(context, msg).await
|
let row_ids = create_send_msg_jobs(context, msg)
|
||||||
|
.await
|
||||||
|
.context("Failed to create send jobs")?;
|
||||||
|
Ok(row_ids)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Constructs jobs for sending a message and inserts them into the appropriate table.
|
/// Constructs jobs for sending a message and inserts them into the appropriate table.
|
||||||
|
|||||||
Reference in New Issue
Block a user