diff --git a/deltachat-ffi/deltachat.h b/deltachat-ffi/deltachat.h index 85580d388..9bfdff4ca 100644 --- a/deltachat-ffi/deltachat.h +++ b/deltachat-ffi/deltachat.h @@ -4463,23 +4463,6 @@ int64_t dc_lot_get_timestamp (const dc_lot_t* lot); */ #define DC_EVENT_SECUREJOIN_JOINER_PROGRESS 2061 - -/** - * This event is sent for each member that gets added to a (verified or unverified) chat. - * - * @param data1 (int) chat_id - * @param data2 (int) contact_id - */ -#define DC_EVENT_MEMBER_ADDED 2062 - -/** - * This event is sent for each member that gets removed from a (verified or unverified) chat. - * - * @param data1 (int) chat_id - * @param data2 (int) contact_id - */ -#define DC_EVENT_MEMBER_REMOVED 2063 - /** * @} */ diff --git a/deltachat-ffi/src/lib.rs b/deltachat-ffi/src/lib.rs index f32f95e26..47ebba5c6 100644 --- a/deltachat-ffi/src/lib.rs +++ b/deltachat-ffi/src/lib.rs @@ -196,25 +196,6 @@ impl ContextWrapper { progress as uintptr_t, ); } - Event::SecurejoinMemberAdded { - chat_id, - contact_id, - } - | Event::MemberAdded { - chat_id, - contact_id, - } - | Event::MemberRemoved { - chat_id, - contact_id, - } => { - ffi_cb( - self, - event_id, - chat_id.to_u32() as uintptr_t, - contact_id as uintptr_t, - ); - } } } } diff --git a/python/src/deltachat/const.py b/python/src/deltachat/const.py index 13b638bb8..20139ef44 100644 --- a/python/src/deltachat/const.py +++ b/python/src/deltachat/const.py @@ -11,6 +11,7 @@ from os.path import join as joinpath DC_GCL_ARCHIVED_ONLY = 0x01 DC_GCL_NO_SPECIALS = 0x02 DC_GCL_ADD_ALLDONE_HINT = 0x04 +DC_GCL_FOR_FORWARDING = 0x08 DC_GCL_VERIFIED_ONLY = 0x01 DC_GCL_ADD_SELF = 0x02 DC_QR_ASK_VERIFYCONTACT = 200 @@ -98,9 +99,6 @@ DC_EVENT_IMEX_PROGRESS = 2051 DC_EVENT_IMEX_FILE_WRITTEN = 2052 DC_EVENT_SECUREJOIN_INVITER_PROGRESS = 2060 DC_EVENT_SECUREJOIN_JOINER_PROGRESS = 2061 -DC_EVENT_SECUREJOIN_MEMBER_ADDED = 2062 -DC_EVENT_MEMBER_ADDED = 2063 -DC_EVENT_MEMBER_REMOVED = 2064 DC_EVENT_FILE_COPIED = 2055 DC_EVENT_IS_OFFLINE = 2081 DC_EVENT_GET_STRING = 2091 diff --git a/python/tests/test_account.py b/python/tests/test_account.py index 4b1948464..a3378f2f5 100644 --- a/python/tests/test_account.py +++ b/python/tests/test_account.py @@ -1209,11 +1209,6 @@ class TestOnlineAccount: ac1._evtracker.get_matching("DC_EVENT_IMAP_MESSAGE_DELETED") ac2._evtracker.get_matching("DC_EVENT_IMAP_MESSAGE_DELETED") wait_securejoin_inviter_progress(ac1, 1000) - ac1._evtracker.get_matching("DC_EVENT_MEMBER_ADDED") - - ch.remove_contact(ac1.get_self_contact()) - ac2._evtracker.get_matching("DC_EVENT_MEMBER_REMOVED") - ac1._evtracker.get_matching("DC_EVENT_MEMBER_REMOVED") def test_qr_verified_group_and_chatting(self, acfactory, lp): ac1, ac2 = acfactory.get_two_online_accounts() @@ -1225,7 +1220,6 @@ class TestOnlineAccount: chat2 = ac2.qr_join_chat(qr) assert chat2.id >= 10 wait_securejoin_inviter_progress(ac1, 1000) - ac1._evtracker.get_matching("DC_EVENT_MEMBER_ADDED") lp.sec("ac2: read member added message") msg = ac2._evtracker.wait_next_incoming_message() @@ -1547,7 +1541,6 @@ class TestGroupStressTests: to_remove = contacts[-1] msg.chat.remove_contact(to_remove) - ac2._evtracker.get_matching("DC_EVENT_MEMBER_REMOVED") lp.sec("ac1: receiving system message about contact removal") sysmsg = ac1._evtracker.wait_next_incoming_message() diff --git a/src/chat.rs b/src/chat.rs index b8a6dbd8e..1c766a0cd 100644 --- a/src/chat.rs +++ b/src/chat.rs @@ -1796,7 +1796,6 @@ pub fn create_group_chat( } /// add a contact to the chats_contact table -/// on success emit MemberAdded event and return true pub(crate) fn add_to_chat_contacts_table( context: &Context, chat_id: ChatId, @@ -1808,14 +1807,7 @@ pub(crate) fn add_to_chat_contacts_table( "INSERT INTO chats_contacts (chat_id, contact_id) VALUES(?, ?)", params![chat_id, contact_id as i32], ) { - Ok(()) => { - context.call_cb(Event::MemberAdded { - chat_id, - contact_id, - }); - - true - } + Ok(()) => true, Err(err) => { error!( context, @@ -1828,7 +1820,6 @@ pub(crate) fn add_to_chat_contacts_table( } /// remove a contact from the chats_contact table -/// on success emit MemberRemoved event and return true pub(crate) fn remove_from_chat_contacts_table( context: &Context, chat_id: ChatId, @@ -1840,14 +1831,7 @@ pub(crate) fn remove_from_chat_contacts_table( "DELETE FROM chats_contacts WHERE chat_id=? AND contact_id=?", params![chat_id, contact_id as i32], ) { - Ok(()) => { - context.call_cb(Event::MemberRemoved { - chat_id, - contact_id, - }); - - true - } + Ok(()) => true, Err(_) => { warn!( context, diff --git a/src/events.rs b/src/events.rs index 540fe3364..dc8a84f67 100644 --- a/src/events.rs +++ b/src/events.rs @@ -201,22 +201,4 @@ pub enum Event { /// (Bob has verified alice and waits until Alice does the same for him) #[strum(props(id = "2061"))] SecurejoinJoinerProgress { contact_id: u32, progress: usize }, - - /// This event is sent out to the inviter when a joiner successfully joined a group. - /// @param data1 (int) chat_id - /// @param data2 (int) contact_id - #[strum(props(id = "2062"))] - SecurejoinMemberAdded { chat_id: ChatId, contact_id: u32 }, - - /// This event is sent for each contact added to a chat. - /// @param data1 (int) chat_id - /// @param data2 (int) contact_id - #[strum(props(id = "2063"))] - MemberAdded { chat_id: ChatId, contact_id: u32 }, - - /// This event is sent for each contact removed from a chat. - /// @param data1 (int) chat_id - /// @param data2 (int) contact_id - #[strum(props(id = "2064"))] - MemberRemoved { chat_id: ChatId, contact_id: u32 }, } diff --git a/src/securejoin.rs b/src/securejoin.rs index bb77e8335..bcae24ba9 100644 --- a/src/securejoin.rs +++ b/src/securejoin.rs @@ -753,17 +753,12 @@ pub(crate) fn handle_securejoin_handshake( .get(HeaderDef::SecureJoinGroup) .map(|s| s.as_str()) .unwrap_or_else(|| ""); - let (group_chat_id, _, _) = chat::get_chat_id_by_grpid(context, &field_grpid) - .map_err(|err| { + if let Err(err) = chat::get_chat_id_by_grpid(context, &field_grpid) { warn!(context, "Failed to lookup chat_id from grpid: {}", err); - HandshakeError::ChatNotFound { + return Err(HandshakeError::ChatNotFound { group: field_grpid.to_string(), - } - })?; - context.call_cb(Event::MemberAdded { - chat_id: group_chat_id, - contact_id, - }); + }); + } } Ok(HandshakeMessage::Ignore) // "Done" deletes the message and breaks multi-device } else {