deltachat / deltachat-desktop

Email-based instant messaging for Desktop.
GNU General Public License v3.0
915 stars 166 forks source link

No way to do almost anything with a contact w/o having a 1:1 chat #4043

Open iequidoo opened 2 months ago

iequidoo commented 2 months ago

If i only have some group with a contact, but not a 1:1 chat, i can't do almost anything with it, e.g. see "Encryption Info" or "Block Contact" (which is possible in DC Android f.e.). I only can "Edit Name". Ok, i created a 1:1 chat with the contact, now i have the extended menu (btw, i still see "Encryption Info" only in the chatlist ctx menu, but not in the chat one). Then i tried to "Block Contact", after that the 1:1 chat was deselected and i see the message "Select a chat or create a new chat". Why deselect the chat btw? I selected the 1:1 chat back, it's still empty, nothing has changed visually and if i open the menu again, i see "Block Contact" while expecting to have "Unblock Contact". So, i can block the contact again and if i do that, the same effects as described before occur. My suggestions:

Simon-Laux commented 2 months ago

Shouldn't be blocking contacts also delete the chat? If the chat is still shown this sounds like a bug...

iequidoo commented 2 months ago

Btw, i just tried also to block a contact with a nonempty 1:1 chat and the chat wasn't deselected or deleted after the first try. Then i retried "Block Contact" and the chat was deleted and i see "Select a chat or create a new chat" now.

iequidoo commented 2 months ago

Shouldn't be blocking contacts also delete the chat? If the chat is still shown this sounds like a bug...

I'd not expect that the chat will be deleted. The confirmation window says: "Block this contact? You will no longer receive messages from them." So, nothing about chat deletion. To delete the chat there's the "Delete Chat" menu item anyway.

EDIT: The idea is that the user may want to not receive new messages from the contact, but there may be useful messages in the past. So i'd not delete the chat on blocking.

iequidoo commented 2 months ago

Btw, i just tried also to block a contact with a nonempty 1:1 chat and the chat wasn't deselected or deleted after the first try. Then i retried "Block Contact" and the chat was deleted and i see "Select a chat or create a new chat" now.

Ah, well, the chat wasn't deleted, it was just hidden. After i recreated the contact by typing the email address and clicking on "New Contact", the chat is shown again. So, the only question is why i need to "Block Contact" twice for the 1:1 chat to be deselected and hidden. This is stably reproducible.

iequidoo commented 2 months ago

There's one more problem though. If i rename the contact, then "Block Contact" (ok, twice), then readd it by typing the address and clicking "New Contact", the the chat reappears, but the user-given name is forgotten and i see the authname instead. Probably this is the Core problem though.

EDIT: This may be a problem because the user sees the old chat, but the contact name has changed. So, it doesn't look like the contact was recreated from scratch, but why reset its name if so.

iequidoo commented 1 month ago

Ah, well, the chat wasn't deleted, it was just hidden. After i recreated the contact by typing the email address and clicking on "New Contact", the chat is shown again.

So, currently there's no way to see the chat after blocking a contact other than typing the contact address manually. I checked DC Android and it looks the same there. If i blocked a contact by mistake, it's too unevident how to unblock it, i could have already forgotten the address, and in case of chatmail unblocking won't be possible at all considering the recent changes wrt adding a contact by address manually. CC @r10s

r10s commented 1 month ago

things get a bit mixed here, so hard to follow.

for blocking:

Then i tried to "Block Contact", after that the 1:1 chat was deselected and i see the message "Select a chat or create a new chat"

this is on purpose. the blocked chat is hidden, therefore it makes sense to not have it selected any longer. you can unblock a contact at any time at "Settings / Chats and Media" to get the chat back. of course, ppl need to find that setting, however, if you search for that, you'll find that, we did not got complains so far. we could consider adding a hint to the dialog, however, ppl anyways do not read :) all in all, that seems fine

I selected the 1:1 chat back,

this sounds like a bug - how could you select a 1:1 of a blocked contact?

for missing options:

Add the extended menu (with "Encryption Info" etc. -- as on Android) to the contact window (where the user only can "Edit Name" now).

you mean the "contact profile"? i agree, that could get a three-dot-menu with the options "Encryption Info" and "Block Contact".

Add "Encryption Info" to the 1:1 chat menu (looks like it's just forgotten, other menu items are there).

No, this is just too unimportant to have that in the chat's main menu. the contact profile's menu is good enough and also makes sense - and as that menu did not exist that that time it was probably decided to have it in the "right click context menu". i agree it is weird to have it only there.

iequidoo commented 1 month ago

things get a bit mixed here, so hard to follow.

I agree, the main problem is highlighted in the issue name, as for other ones, maybe they are just my wrong understanding of the UI.

this is on purpose. the blocked chat is hidden, therefore it makes sense to not have it selected any longer. you can unblock a contact at any time at "Settings / Chats and Media" to get the chat back. of course, ppl need to find that setting

Thanks, now i see it :) Have never tested contacts blocking before.

this sounds like a bug - how could you select a 1:1 of a blocked contact?

Seems i've learned to reproduce this -- if you have a group with an already blocked contact, you can get to the 1:1 chat with it via the group members window >> click on the contact >> SEND MESSAGE. Then if you e.g. forgot that the contact is already blocked, you can try "Block Contact" again and then things break and the chat is only deselected, but remains in the chatlist. This isn't possible in DC Android f.e., i checked that -- it somehow knows that the contact is already blocked (unlike Desktop) and displays "Unblock Contact" in the menu instead. Probably this needs creation of a separate issue.

you mean the "contact profile"? i agree, that could get a three-dot-menu with the options "Encryption Info" and "Block Contact".

Yes, exactly, like in DC Android.

No, this is just too unimportant to have that in the chat's main menu. the contact profile's menu is good enough and also makes sense - and as that menu did not exist that that time it was probably decided to have it in the "right click context menu". i agree it is weird to have it only there.

+1, in the chat menu "Encryption Info" is unnecessary.

WofWca commented 1 day ago

Here is a more special issue about forwarding https://github.com/deltachat/deltachat-desktop/issues/3030#issue-1466476011