Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
api!: deprecate DC_SHOW_EMAILS_ACCEPTED_CONTACTS
  • Loading branch information
link2xt committed May 17, 2025
commit 37462b38012d98c2fb90b04499c903bb33fc1d50
8 changes: 4 additions & 4 deletions deltachat-ffi/deltachat.h
Original file line number Diff line number Diff line change
Expand Up @@ -436,10 +436,10 @@ char* dc_get_blobdir (const dc_context_t* context);
* 0=watch all folders normally (default)
* - `show_emails` = DC_SHOW_EMAILS_OFF (0)=
* show direct replies to chats only,
* DC_SHOW_EMAILS_ACCEPTED_CONTACTS (1)=
* also show all mails of confirmed contacts,
* DC_SHOW_EMAILS_ALL1 (1)=
* deprecated, same as DC_SHOW_EMAILS_ALL,
* DC_SHOW_EMAILS_ALL (2)=
* also show mails of unconfirmed contacts (default).
* show all mails (default).
* - `delete_device_after` = 0=do not delete messages from device automatically (default),
* >=1=seconds, after which messages are deleted automatically from the device.
* Messages in the "saved messages" chat (see dc_chat_is_self_talk()) are skipped.
Expand Down Expand Up @@ -6582,7 +6582,7 @@ void dc_event_unref(dc_event_t* event);
* Values for dc_get|set_config("show_emails")
*/
#define DC_SHOW_EMAILS_OFF 0
#define DC_SHOW_EMAILS_ACCEPTED_CONTACTS 1
#define DC_SHOW_EMAILS_ALL1 1
#define DC_SHOW_EMAILS_ALL 2


Expand Down
1 change: 0 additions & 1 deletion deltachat-rpc-client/src/deltachat_rpc_client/const.py
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,6 @@ class ShowEmails(IntEnum):
"""Show emails mode."""

OFF = 0
ACCEPTED_CONTACTS = 1
ALL = 2


Expand Down
13 changes: 7 additions & 6 deletions src/constants.rs
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,12 @@ pub enum Blocked {
#[repr(u8)]
pub enum ShowEmails {
Off = 0,
AcceptedContacts = 1,
#[default] // also change Config.ShowEmails props(default) on changes

/// Deprecated 2025-04-16, same as All.
All1 = 1,

// also change Config.ShowEmails props(default) on changes
#[default]
All = 2,
}

Expand Down Expand Up @@ -253,10 +257,7 @@ mod tests {
// values may be written to disk and must not change
assert_eq!(ShowEmails::All, ShowEmails::default());
assert_eq!(ShowEmails::Off, ShowEmails::from_i32(0).unwrap());
assert_eq!(
ShowEmails::AcceptedContacts,
ShowEmails::from_i32(1).unwrap()
);
assert_eq!(ShowEmails::All1, ShowEmails::from_i32(1).unwrap());
assert_eq!(ShowEmails::All, ShowEmails::from_i32(2).unwrap());
}

Expand Down
2 changes: 1 addition & 1 deletion src/html.rs
Original file line number Diff line number Diff line change
Expand Up @@ -522,7 +522,7 @@ test some special html-characters as < > and & but also " and &#x
async fn test_html_forwarding_encrypted() {
let mut tcm = TestContextManager::new();
// Alice receives a non-delta html-message
// (`ShowEmails=AcceptedContacts` lets Alice actually receive non-delta messages for known
// (`ShowEmails=All` lets Alice actually receive non-delta messages for known
// contacts, the contact is marked as known by creating a chat using `chat_with_contact()`)
let alice = &tcm.alice().await;
alice
Expand Down
8 changes: 2 additions & 6 deletions src/imap.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2243,7 +2243,7 @@ pub(crate) async fn prefetch_should_download(
Some(f) => f,
None => return Ok(false),
};
let (_from_id, blocked_contact, origin) =
let (_from_id, blocked_contact, _origin) =
match from_field_to_contact_id(context, &from, true).await? {
Some(res) => res,
None => return Ok(false),
Expand All @@ -2257,7 +2257,6 @@ pub(crate) async fn prefetch_should_download(
}

let is_chat_message = headers.get_header_value(HeaderDef::ChatVersion).is_some();
let accepted_contact = origin.is_known();
let is_reply_to_chat_message = get_prefetch_parent_message(context, headers)
.await?
.map(|parent| match parent.is_dc_message {
Expand All @@ -2272,10 +2271,7 @@ pub(crate) async fn prefetch_should_download(
let show = is_autocrypt_setup_message
|| match show_emails {
ShowEmails::Off => is_chat_message || is_reply_to_chat_message,
ShowEmails::AcceptedContacts => {
is_chat_message || is_reply_to_chat_message || accepted_contact
}
ShowEmails::All => true,
ShowEmails::All | ShowEmails::All1 => true,
};

let should_download = (show && !blocked_contact) || maybe_ndn;
Expand Down
3 changes: 1 addition & 2 deletions src/receive_imf.rs
Original file line number Diff line number Diff line change
Expand Up @@ -775,8 +775,7 @@ async fn add_parts(
chat_id = Some(DC_CHAT_ID_TRASH);
allow_creation = false;
}
ShowEmails::AcceptedContacts => allow_creation = false,
ShowEmails::All => allow_creation = !is_mdn,
ShowEmails::All | ShowEmails::All1 => allow_creation = !is_mdn,
}
} else {
allow_creation = !is_mdn && !is_reaction;
Expand Down
7 changes: 2 additions & 5 deletions src/receive_imf/receive_imf_tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -113,11 +113,8 @@ async fn test_adhoc_group_outgoing_show_accepted_contact_unaccepted() -> Result<
let mut tcm = TestContextManager::new();
let alice = &tcm.alice().await;
let bob = &tcm.bob().await;
bob.set_config(
Config::ShowEmails,
Some(&ShowEmails::AcceptedContacts.to_string()),
)
.await?;
bob.set_config(Config::ShowEmails, Some(&ShowEmails::All.to_string()))
.await?;
tcm.send_recv(alice, bob, "hi").await;
receive_imf(
bob,
Expand Down