the-djmaze / snappymail

Simple, modern & fast web-based email client
https://snappymail.eu
GNU Affero General Public License v3.0
977 stars 114 forks source link

Refreshing mail list doesn't update flags of current message #1654

Closed smsoft-ru closed 1 month ago

smsoft-ru commented 1 month ago
  1. Open any message, for example, in INBOX in snappymail.
  2. Open another instance of mail client (any) and modify any flag of this message (seen, flagged, read etc.) in it.
  3. Click Refresh button in snappymail.

Expected behavior: changed flag reflected on caption of selected message.

Actual behavior: you need to select another message, and re-select previous message to reflect changed flags. Only current selected message affected. Flags on other messages update correctly.

Snappymail 2.36.4 on Nextcloud 29.0.3.4 on Apache 2.4.59 on Debian 6.1.94-1 PHP 8.2.20 IMAP server: Dovecot 2.3.16 Browser: Microsoft Edge 126.0.2592.87 on Windows 11

I prepared a patch which fixes this, but i think, it is just workaround, because I didn't find root cause of this behavior. snappymail_reload.patch

the-djmaze commented 1 month ago

Your patch unloads the message and then puts the message back in view. But this creates a new issue when you toggle html/plain views for example. Also it does not work when the messages list does not contain the message (any more).

The issue is more complex and the message should be reloaded from the server. And there is no reload button for the message (only unselect -> select as workaround)

smsoft-ru commented 1 month ago

Yes, I see, plain view unsets on refreshing... But I don't see reason to redownload whole message if only flags changed. It is time consuming operation. I think the right pane must remain the same with unchanged message in it, but the middle pane should reflect all changes in flags on refresh. OK, is it known/confirmed bug? Why this issue is labeled as "documentation"?

the-djmaze commented 1 month ago

I marked it as documentation due to the explanation. I'm not considering it as a bug because the button reloads the list and not the message. Secondly if the message is not in the list it can't fetch the flags from the list.

So basically there needs to be a new feature "reload message".

smsoft-ru commented 1 month ago

I think there is some misunderstanding. I will try to explain once more with screenshots. Say, we have some folder with two messages in it. Let's open it both in Thunderbird and Snappymail and select one of messages:

snappymail1

Let's flag both messages in Thunderbird and click Reload button in Snappymail:

snappymail3

As you can see, only non-selected message looks flagged in Snappymail. To see flag on selected message you need to select another message and click Reload or click Reload in whole browser. Sure, it must be fixed.

the-djmaze commented 1 month ago

Ah, now i get what you mean.

I will look into a proper solution.