mirror of
https://github.com/chatmail/core.git
synced 2026-05-02 04:46:29 +03:00
use webxdc app name in chatlist/quotes/replies/etc
this uses `get_webxdc_info().name` for chatlist etc. the previuosly used static strings comes from a time where we just did not had the correct name. i was also thinking about adding `get_webxdc_info().summary`, however, as this information is dynamic, that may open several issues, eg. quoted text may change so that the answer is out of context.
This commit is contained in:
@@ -2,6 +2,9 @@
|
|||||||
|
|
||||||
## 1.72.0
|
## 1.72.0
|
||||||
|
|
||||||
|
### Changes
|
||||||
|
- use webxdc app name in chatlist/quotes/replies etc. #3027
|
||||||
|
|
||||||
### Fixes
|
### Fixes
|
||||||
- run migrations on backup import #3006
|
- run migrations on backup import #3006
|
||||||
|
|
||||||
|
|||||||
@@ -139,7 +139,10 @@ impl Message {
|
|||||||
}
|
}
|
||||||
Viewtype::Webxdc => {
|
Viewtype::Webxdc => {
|
||||||
append_text = true;
|
append_text = true;
|
||||||
"Webxdc".to_string()
|
self.get_webxdc_info(context)
|
||||||
|
.await
|
||||||
|
.map(|info| info.name)
|
||||||
|
.unwrap_or_else(|_| "ErrWebxdcName".to_string())
|
||||||
}
|
}
|
||||||
Viewtype::Text | Viewtype::Unknown => {
|
Viewtype::Text | Viewtype::Unknown => {
|
||||||
if self.param.get_cmd() != SystemMessage::LocationOnly {
|
if self.param.get_cmd() != SystemMessage::LocationOnly {
|
||||||
|
|||||||
@@ -488,6 +488,7 @@ mod tests {
|
|||||||
add_contact_to_chat, create_group_chat, forward_msgs, send_msg, send_text_msg, ChatId,
|
add_contact_to_chat, create_group_chat, forward_msgs, send_msg, send_text_msg, ChatId,
|
||||||
ProtectionStatus,
|
ProtectionStatus,
|
||||||
};
|
};
|
||||||
|
use crate::chatlist::Chatlist;
|
||||||
use crate::contact::Contact;
|
use crate::contact::Contact;
|
||||||
use crate::dc_receive_imf::dc_receive_imf;
|
use crate::dc_receive_imf::dc_receive_imf;
|
||||||
use crate::test_utils::TestContext;
|
use crate::test_utils::TestContext;
|
||||||
@@ -1514,4 +1515,24 @@ sth_for_the = "future""#
|
|||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[async_std::test]
|
||||||
|
async fn test_webxdc_chatlist_summary() -> Result<()> {
|
||||||
|
let t = TestContext::new_alice().await;
|
||||||
|
let chat_id = create_group_chat(&t, ProtectionStatus::Unprotected, "chat").await?;
|
||||||
|
let mut instance = create_webxdc_instance(
|
||||||
|
&t,
|
||||||
|
"with-minimal-manifest.xdc",
|
||||||
|
include_bytes!("../test-data/webxdc/with-minimal-manifest.xdc"),
|
||||||
|
)
|
||||||
|
.await?;
|
||||||
|
send_msg(&t, chat_id, &mut instance).await?;
|
||||||
|
|
||||||
|
let chatlist = Chatlist::try_load(&t, 0, None, None).await?;
|
||||||
|
assert_eq!(chatlist.len(), 1);
|
||||||
|
let summary = chatlist.get_summary(&t, 0, None).await?;
|
||||||
|
assert_eq!(summary.text, "nice app!".to_string());
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user