aboutsummaryrefslogtreecommitdiffstats
path: root/filamento/src/logic/offline.rs
diff options
context:
space:
mode:
authorLibravatar cel 🌸 <cel@bunny.garden>2025-04-11 06:07:37 +0100
committerLibravatar cel 🌸 <cel@bunny.garden>2025-04-11 06:07:37 +0100
commit76b148011e5c974ab20466d873f11c2c460c9351 (patch)
tree8dc9b3da249715d3ebe29c5c2e9366480d416768 /filamento/src/logic/offline.rs
parente49b4e5ea59079fdf047d3d2eb63ddb895c3b0eb (diff)
downloadluz-76b148011e5c974ab20466d873f11c2c460c9351.tar.gz
luz-76b148011e5c974ab20466d873f11c2c460c9351.tar.bz2
luz-76b148011e5c974ab20466d873f11c2c460c9351.zip
feat(filamento): return from: `User` with `Message` on new message
Diffstat (limited to 'filamento/src/logic/offline.rs')
-rw-r--r--filamento/src/logic/offline.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/filamento/src/logic/offline.rs b/filamento/src/logic/offline.rs
index 82b3298..4f5df36 100644
--- a/filamento/src/logic/offline.rs
+++ b/filamento/src/logic/offline.rs
@@ -2,6 +2,7 @@ use std::process::id;
use chrono::Utc;
use lampada::error::WriteError;
+use tracing::error;
use uuid::Uuid;
use crate::{
@@ -162,11 +163,26 @@ pub async fn handle_offline_result<Fs: FileStore + Clone>(
.handle_error(MessageSendError::MessageHistory(e.into()).into())
.await;
}
+
+ let from = match logic.db().read_user(logic.bare_jid.clone()).await {
+ Ok(u) => u,
+ Err(e) => {
+ error!("{}", e);
+ User {
+ jid: logic.bare_jid.clone(),
+ nick: None,
+ avatar: None,
+ cached_status_message: None,
+ }
+ }
+ };
+
logic
.update_sender()
.send(crate::UpdateMessage::Message {
to: jid.as_bare(),
message,
+ from,
})
.await;
}