-
-
Notifications
You must be signed in to change notification settings - Fork 104
feat: Show an email-avatar for email-contacts and email-chats #6916
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
Conversation
} else if self.typ == Chattype::Broadcast { | ||
if let Ok(image_rel) = get_broadcast_icon(context).await { | ||
} else if !self.is_encrypted(context).await? { | ||
// This is an email-contact chat, show a special avatar that marks it as such |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
mimeparser
supports setting group avatars even for unencrypted chats. Should we really unsupport this? Maybe it's still better to have that "email" character at the end of the chat/contact name, but add it artificially in the core (i agree that UIs shouldn't care about this)? Green verification checkmarks are shown at the end of the name as well, would be good to unify everything somehow. One more reason: let's say i have email contacts "Alice" and "Bob" which both don't have avatars. Currently they have different colors with "A" and "B" inside which help me distinguish them, but the PR suggests they look the same.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
mimeparser
supports setting group avatars even for unencrypted chats. Should we really unsupport this?
It seems unlikely to me that this feature was in widespread use, but, sure, this is a downside of this approach.
Maybe it's still better to have that "email" character at the end of the chat/contact name, but add it artificially in the core
Like, an emoji?
The main reasoning for moving the icon into the avatar was minimizing visual clutter in the UI.
One more reason: let's say i have email contacts "Alice" and "Bob" which both don't have avatars. Currently they have different colors with "A" and "B" inside which help me distinguish them, but the PR suggests they look the same.
Yes, this is a downside.
All in all, I'm like +0.1 on this PR, because I do like the removal of visual clutter, but don't have a strong opinion on it. @r10s, who is our main UI person, after some real-life discussions around the topic, decided that we'll go for putting the icon into the avatar.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you remind me why we need this email pictogram in the UIs at all? In release versions we don't have it. And if we need it, maybe it's still possible to preserve colors and put the email unicode char / emoji inside? This gray icon looks boring, e.g. i have many email threads and i'm glad to see all this spectrum. Btw, green checkmarks also clutter the UI, e.g. in WhatsApp i don't see anything like this. Just putting in one more opinion, it's fine to merge if that's already agreed
1858cdd
to
388100e
Compare
…_image() Before, the icons were statefully written into the database using update_saved_messages_icon() / update_device_icon()
…rather than String
388100e
to
57eaf5d
Compare
I also use DC to communicate with non-DC contacts. That's why I always thought it was a shame that you can't set avatars for these contacts. As a workaround, I placed an emoji that somehow suited the person in front of their name. Other users probably do the same. For this reason, I believe this PR would worsen DC's UI and not improve it. It would make it harder to distinguish between contacts. If all DC contacts had the same avatar, that would also be a problem. Furthermore, I always liked that in DC it doesn't really matter whether a contact uses DC or not. A user selects a chat, writes a message, and that's it. But if email contacts should be easier to identify, perhaps a small icon (envelope or @) on the bottom left side of the avatar would make sense? P.S. The avatars in the mockup image should, of course, be made of letters or emojis. I didn't notice the mistake until I was finished. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
great! works as expected now.
for the lower differentiation among contacts in a larger non-chat-mailgroup - this is known and accepted, the advantages seem to outweigh that, so we want to give it a try. some, unsorted quick written list:
- we have a very clear distinction between chatmail and non-chatmail now, allowing us to move forward with other signals
- less UI cluttering
- it is very confusing otherwise, having the same contact with the same avatar twice
- avatars for non-chatmail cannot really be changed, so there is also a ux-failure (we might need to disallow that in the UI, however)
- there is still the name to distinguish, similar to other mail apps
- large non-chatmail groups are comparable rare
- focus is clearly chatmail, it is fine to let look email a bit boring, and most distinguishable by that
- we do not want to have more complex solutions for now, instead concentrate on making things work first, we can always iterate :)
The test was failing because the blobdir path contains `\`, which serde interpreted as an escape.
6f8217c
to
88eb02b
Compare
I use a regular email account to keep in touch with non-DC users. That's about one-third of my total contacts in DC! For DC users, I use chatmail accounts of course. Most people probably do it this way, and only a few DC users have a regular email account to chat with other DC users.
I don't understand this argument. It's not a problem to use a different avatar for each profile. |
Previously, messages were not rewritten. This meant that all messages stayed with the old email-identified contact. github.com//pull/6916 made it very obvious that all messages sent into a group before the PGP-contacts migration got the email avatar. With this PR, all encrypted messages are rewritten to the PGP-contact identified by the current autocrypt key. It is not possible to find out which key was actually used to sign the message.
If you had both an encrypted and an unencrypted chat with a contact, then there will be two contacts now - one identified by the email address, for unencrypted messages, and one identified by the PGP-key-fingerprint, for encrypted messages. |
Let me clarify the wording: between pgp contacts and email contacts. We don't need to even distinguish Delta Chat contacts and others as long as they use pgp-capable clients.
Avatars for ad-hoc groups can be changed, and this will be unsupported from now, but probably it's fine, not a widely used feature.
The problem is that the chatlist won't look as nice as currently. I still don't understand why we need to drop colors (we can display an "email" emoji / unicode char inside, as we do currently for the first contact's char). Coloring can't be dropped completely anyway because pgp contacts still need it. K-9 Mail also uses colors, i'd like our UI not to look much worse. EDIT: Btw, Telegram even puts two characters into the colored avatar placeholder, so we can put there "📧A" for "Alice" f.e. I'm not saying that we really need this, just a note. |
This is also my opinion on the matter. |
I think @r10s actually wanted to say "pgp contacts (identified by pgp keys) and non-pgp contacts (identified by email addresses)" and "pgp chats (where all contacts are identified by pgp keys) and non-pgp threads". |
Previously, messages were not rewritten. This meant that all messages stayed with the old email-identified contact. github.com//pull/6916 made it very obvious that all messages sent into a group before the PGP-contacts migration got the email avatar. With this PR, all encrypted messages are rewritten to the PGP-contact identified by the current autocrypt key. It is not possible to find out which key was actually used to sign the message.
Previously, messages were not rewritten. This meant that all messages stayed with the old email-identified contact. github.com//pull/6916 made it very obvious that all messages sent into a group before the PGP-contacts migration got the email avatar. With this PR, all encrypted messages are rewritten to the PGP-contact identified by the current autocrypt key. It is not possible to find out which key was actually used to sign the message.
Do i correctly understand that this would need some new API / UIs' code changes and can't be done at the moment? Some explanation is needed so that users who use Delta Chat as an email client too could be referred here because questions have already arised. |
thanks for additional feedback. in do not think, that would require a new api, core could generate colored images - the examples above, however are too colorful and too less distinguishable. it should be far more decent, maybe having the envelope colored. note, that we do not regard delta-as-only-email-client as the primary usecase swe optimize for. traction proves that not the worse choice. if in doubt, as here, we go for chatmail. it is clear, that this is not loved by everyone still, where not in conflict, we even aim to add things - eg to add the option to create a new email-thread, including subject :) |
Previously, messages were not rewritten. This meant that all messages stayed with the old email-identified contact. github.com//pull/6916 made it very obvious that all messages sent into a group before the PGP-contacts migration got the email avatar. With this PR, all encrypted messages are rewritten to the PGP-contact identified by the current autocrypt key. It is not possible to find out which key was actually used to sign the message.
Previously, messages were not rewritten. This meant that all messages stayed with the old email-identified contact. #6916 made it very obvious that all messages sent into a group before the PGP-contacts migration got the email avatar. With this PR, all encrypted messages are rewritten to the PGP-contact identified by the current autocrypt key. It is not possible to find out which key was actually used to sign the message. --------- Co-authored-by: iequidoo <117991069+iequidoo@users.noreply.github.com>
Mark email-contacts and email-chats as such by setting a special avatar. Then, the UIs can remove the letter-icon from next to the name again, and we have less overall clutter in Delta Chat.