diff --git a/deltachat-ffi/deltachat.h b/deltachat-ffi/deltachat.h index 189fde176..1004f7971 100644 --- a/deltachat-ffi/deltachat.h +++ b/deltachat-ffi/deltachat.h @@ -1000,7 +1000,7 @@ dc_msg_t* dc_get_draft (dc_context_t* context, uint32_t ch #define DC_GCM_ADDDAYMARKER 0x01 -#define DC_GCM_SYSTEM_ONLY 0x02 +#define DC_GCM_INFO_ONLY 0x02 /** @@ -1019,7 +1019,7 @@ dc_msg_t* dc_get_draft (dc_context_t* context, uint32_t ch * @param flags If set to DC_GCM_ADDDAYMARKER, the marker DC_MSG_ID_DAYMARKER will * be added before each day (regarding the local timezone). Set this to 0 if you do not want this behaviour. * To get the concrete time of the marker, use dc_array_get_timestamp(). - * If set to DC_GCM_SYSTEM_ONLY, only system messages will be returned, can be combined with DC_GCM_ADDDAYMARKER. + * If set to DC_GCM_INFO_ONLY, only system messages will be returned, can be combined with DC_GCM_ADDDAYMARKER. * @param marker1before An optional message ID. If set, the id DC_MSG_ID_MARKER1 will be added just * before the given ID in the returned array. Set this to 0 if you do not want this behaviour. * @return Array of message IDs, must be dc_array_unref()'d when no longer used. diff --git a/python/tests/test_account.py b/python/tests/test_account.py index 321215d8d..35a985fdd 100644 --- a/python/tests/test_account.py +++ b/python/tests/test_account.py @@ -614,7 +614,7 @@ class TestOfflineChat: lp.sec("check message count of only system messages (without daymarkers)") dc_array = ffi.gc( - lib.dc_get_chat_msgs(ac1._dc_context, chat.id, const.DC_GCM_SYSTEM_ONLY, 0), + lib.dc_get_chat_msgs(ac1._dc_context, chat.id, const.DC_GCM_INFO_ONLY, 0), lib.dc_array_unref ) assert len(list(iter_array(dc_array, lambda x: x))) == 2 diff --git a/src/chat.rs b/src/chat.rs index 8abf959ef..8aae7cced 100644 --- a/src/chat.rs +++ b/src/chat.rs @@ -1765,7 +1765,7 @@ pub async fn get_chat_msgs( } } - let process_row = if (flags & DC_GCM_SYSTEM_ONLY) != 0 { + let process_row = if (flags & DC_GCM_INFO_ONLY) != 0 { |row: &rusqlite::Row| { // is_info logic taken from Message.is_info() let params = row.get::<_, String>("param")?; @@ -1846,21 +1846,22 @@ pub async fn get_chat_msgs( process_rows, ) .await - } else if (flags & DC_GCM_SYSTEM_ONLY) != 0 { + } else if (flags & DC_GCM_INFO_ONLY) != 0 { context .sql .query_map( + // GLOB is used here instead of LIKE becase it is case-sensitive "SELECT m.id AS id, m.timestamp AS timestamp, m.param AS param, m.from_id AS from_id, m.to_id AS to_id FROM msgs m WHERE m.chat_id=? AND m.hidden=0 AND ( m.param GLOB \"*S=*\" - OR m.from_id == 2 - OR m.to_id == 2 + OR m.from_id == ? + OR m.to_id == ? ) ORDER BY m.timestamp, m.id;", - paramsv![chat_id], + paramsv![chat_id, DC_CONTACT_ID_INFO, DC_CONTACT_ID_INFO], process_row, process_rows, ) diff --git a/src/constants.rs b/src/constants.rs index 1f03e04f8..3fd7ae8ac 100644 --- a/src/constants.rs +++ b/src/constants.rs @@ -99,7 +99,7 @@ pub const DC_GCL_ADD_ALLDONE_HINT: usize = 0x04; pub const DC_GCL_FOR_FORWARDING: usize = 0x08; pub const DC_GCM_ADDDAYMARKER: u32 = 0x01; -pub const DC_GCM_SYSTEM_ONLY: u32 = 0x02; +pub const DC_GCM_INFO_ONLY: u32 = 0x02; pub const DC_GCL_VERIFIED_ONLY: usize = 0x01; pub const DC_GCL_ADD_SELF: usize = 0x02;