Remove is_chatmail and dependency on `XCHATMAIL` and `XDELTAPUSH` IMAP capabilities
- Dominant language
- Rust
- Stars
- 929
- Forks
- 143
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 53
Description
This issue servers as meta issue, and will/can be edited accordingly.
- [x] base SMTP recipient chunking on relay IMAP maxsmtprecipients metadata, see https://github.com/chatmail/core/pull/8426
- [x] Make a full scan through android, iOS and desktop code base for is_chatmail usage and determine replacement conditions
- [ ] Push notifications (`XDELTAPUSH`): Replace `can_push()` with `can_metadata()` check and try performing `SETMETADATA /private/devicetoken`.
- ~Open question: What to do with Android's chatmail-conditional "do you want to enable permanent notifications" issue?~ (link2xt: as far as i understand from the comment below and looking at the code in https://github.com/deltachat/deltachat-android/pull/4549, Android simply assumes that if the user has FCM, then there is no need to ask for permanent notification even if some profiles are non-chatmail - that's fine, expert users who configure non-chatmail can also go to settings and enable permanent notification or don't really need instant notifications).
- [ ] Server-side deletion (`XCHATMAIL`): Collapse deletion logic in [`src/ephemeral.rs`](https://github.com/chatmail/core/blob/main/src/ephemeral.rs) to depend on `!bcc_self` alone (deleting downloaded messages on single-device setups regardless of server type). EDIT link2xt: maybe also depend on force_encryption, if it is off then we don't want to delete plaintext mails.
- [ ] Cleanup & Relay config: Remove `is_chatmail` from initial stats and info strings and whatever is left.
Contributor guide
Research direction
Start with src/ephemeral.rs and review the existing can_push() and can_metadata() checks described in the checklist. Then inspect the remaining is_chatmail references and initial stats or info strings across the core code. Done means the push-notification, server-side deletion, and relay cleanup items are completed without the XCHATMAIL or XDELTAPUSH dependencies.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- backend, networking
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100