mirror of
https://github.com/chatmail/core.git
synced 2026-05-01 20:36:31 +03:00
feat: Add silent group changes messages as InNoticed, not InSeen
This way they also can be processed by `markseen_msgs()` resulting in MDNs which improves multi-device synchronization and updates contacts' `last_seen`. I.e. leave it up to the UIs.
This commit is contained in:
@@ -746,7 +746,7 @@ async fn test_leave_group() -> Result<()> {
|
|||||||
|
|
||||||
assert_eq!(get_chat_contacts(&alice, alice_chat_id).await?.len(), 1);
|
assert_eq!(get_chat_contacts(&alice, alice_chat_id).await?.len(), 1);
|
||||||
|
|
||||||
assert_eq!(rcvd_leave_msg.state, MessageState::InSeen);
|
assert_eq!(rcvd_leave_msg.state, MessageState::InNoticed);
|
||||||
|
|
||||||
alice.emit_event(EventType::Test);
|
alice.emit_event(EventType::Test);
|
||||||
alice
|
alice
|
||||||
|
|||||||
@@ -1872,14 +1872,11 @@ async fn add_parts(
|
|||||||
|
|
||||||
let state = if !mime_parser.incoming {
|
let state = if !mime_parser.incoming {
|
||||||
MessageState::OutDelivered
|
MessageState::OutDelivered
|
||||||
} else if seen
|
} else if seen || !mime_parser.mdn_reports.is_empty() || chat_id_blocked == Blocked::Yes
|
||||||
|| !mime_parser.mdn_reports.is_empty()
|
|
||||||
|| chat_id_blocked == Blocked::Yes
|
|
||||||
|| group_changes.silent
|
|
||||||
// No check for `hidden` because only reactions are such and they should be `InFresh`.
|
// No check for `hidden` because only reactions are such and they should be `InFresh`.
|
||||||
{
|
{
|
||||||
MessageState::InSeen
|
MessageState::InSeen
|
||||||
} else if mime_parser.from.addr == STATISTICS_BOT_EMAIL {
|
} else if mime_parser.from.addr == STATISTICS_BOT_EMAIL || group_changes.silent {
|
||||||
MessageState::InNoticed
|
MessageState::InNoticed
|
||||||
} else {
|
} else {
|
||||||
MessageState::InFresh
|
MessageState::InFresh
|
||||||
|
|||||||
Reference in New Issue
Block a user