Support additional contact addresses?


#1

here and there, the idea of supporting multiple e-mail addresses per contact come up.

i also thought about this some time ago, my thoughts were:

  1. showing multiple email-addresses of a single contact in different chats may be wanted eg. to divide work/private
  2. showing multiple email-addresses of a single contact in different chats may not be wanted by aliases, old addresses etc.

however, if unused aliases, old addresses etc. of 2. appear as a separate chat, they will appear only at the end of a long list and “fade out” as soon as the new address is used. this is transparent for the user and no issue imho.

allowing multiple email-addresses per contact would raise a lot of problems to solve:

  • the recipient has to decide to which address he wants to send - a decision that is not always simple
  • we would need ui to show from where a given messages was sent
  • we probably would need an option to allow sending to several addresses at the same time
  • probably, this would also make the key and group management more complicated
  • according to experience, probably even more :slight_smile:
  • all this may need additional ui that has to be explained to the user and understood by the user.

compared with that, the current situation seems to be better:

  • it is very clear to the user where a message is sent to and received from
  • the user needs no additional knowledge
  • simple, maintainable code and logic
  • KISS - Keep it simple stupid :slight_smile:

the disadvantage may be some cluttered threads - which, however, will also be there if we would offer options to join chats, and need to be fixed by the user


#2

Thanks to your explanations, I think just a “Function to re-assign messages” (allowing to move a selection of messages like spam/unapproved email/chat to other places) should suffice.

See 3rd general feature at https://github.com/deltachat/deltachat-core/wiki/Use-Cases#general-features

That would allow to keep a continuous chat history when a contact switches addresses.