Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: do not copy Chat-Version header into unprotected part #6179

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

link2xt
Copy link
Collaborator

@link2xt link2xt commented Nov 5, 2024

Chat-Version is used sometimes by Sieve filters to move messages to DeltaChat folder:
https://github.com/mailcow/mailcow-dockerized/blob/37beed6ad93f259b97cad41877982bce95295629/data/conf/dovecot/global_sieve_before
This probably prevents notifications to MUAs that don't watch DeltaChat folder but watch Inbox folder.

There are however disadvantages to exposing Chat-Version:

  1. Spam filters may not like this header and it is difficult or impossible to tell if Chat-Version plays role in rejecting the message or delivering it into Spam folder. If there is no such header visible to the spam filter, this possibility can be ruled out.
  2. Replies to chat messages may have no Chat-Version but have to be moved anyway.
  3. User may have no control over the Sieve filter, but it comes preconfigured in mailcow, so it is not possible to disable on the client.

This is an experimental PR, I just want to see if CI fails.

There is a problem with prefetching of Chat-Version. Normally we want to download messages only once they reach their destination, but if Chat-Version is hidden we don't know that we want to move the message to DeltaChat folder yet. This also applies to replies to chat messages that are not chat messages themselves.

@link2xt link2xt marked this pull request as draft November 5, 2024 18:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant