nextcloud / mail

💌 Mail app for Nextcloud
https://apps.nextcloud.com/apps/mail
GNU Affero General Public License v3.0
846 stars 259 forks source link

No activity indication is given when fetching from mail server #3286

Open mjog opened 4 years ago

mjog commented 4 years ago

Expected behavior

After logging in to Next Cloud and opening Mail, some indication that it is still loading new messages from the server should be given, so that it is possible to tell the different between "no new mail" and "still loading new mail".

Actual behavior

On opening mail, there is no indication it is doing anything. Maybe you have new mail, maybe you don't. Who knows?

This is aggravated somewhat by it seeming to take a long time to check for new mail in the first place, but that's probably a separate bug.

Mail app

Mail app version: 1.4.0

Mailserver or service: Dovecot

Server configuration

Operating system: Debian 10

Web server: Apache

Database: MariaDB

PHP version: Whatever comes with Debian 10

Nextcloud Version: 19.0.0

Client configuration

Browser: GNOME Web 3.36.2

Operating system: Ubuntu 20.04

ChristophWurst commented 4 years ago

I'm not sure I can follow.

Is this about the first time you load a mailbox in general or the background sync after any other page reload?

Messages are fetched in the background. This is done every 30s.

mjog commented 4 years ago

I recently deployed NC+Mail as the web mail option for the mail service I offer, and as such the mail app is set as the default app. When people log in, they are presented with the Mail app, and old mail from when they last logged in. Because there is no indication that mail is being fetched in the background, they assume something has gone wrong. It's actually worse on first run of the app, since it takes a long time for mail to be loaded, and since the inbox is empty people assume it is broken - they know they have email in their inbox.

Showing some kind of indication (a spinner maybe?) when work is happening in the background as mail is being loaded will provide people with cue that something is indeed happening, and nothing has gone wrong.

ChristophWurst commented 4 years ago

This sounds like your cron jobs are not properly set up. Make sure they run every 5min, then the users' accounts won't be much outdated when they open the app.

jancborchardt commented 4 years ago

Also we have the loading spinner on top of the inbox, which should show as well, no? It should show up on manual refresh and on the initial background load for feedback – but not on any subsequent background load.

ChristophWurst commented 4 years ago

on the initial background load

There is no such thing. The background load is done on the server before you even load the page. The rest is then done periodically each 30s.

mjog commented 4 years ago

This sounds like your cron jobs are not properly set up

They're set up fine:

Screenshot from 2020-06-24 11-17-29

mjog commented 4 years ago

To be clear, the lack of activity indication occurs when the NC server is downloading mail from the mail server, not when the web front end is downloading from the NC server.

The problem looks like this for first login:

  1. Click the Mail app icon
  2. A spinner shows up in the message list as the folder's contents are open
  3. The spinner disappears, and folders show up empty
  4. Some time later mail shows up in the folders

On repeated logins:

  1. Click the Mail app icon
  2. A spinner shows up in the message list as the folder's contents are open
  3. The spinner disappears, and folders show mail from last login
  4. Some time later mail new mail shows up in the folders

The problem in both cases is that between steps (3) and (4), there is no indication that new mail is fetched by the NC server from the mail server, so people are left to wonder if a) they have no new mail or b) something is broken.

ChristophWurst commented 4 years ago

Got it. So the problem is twofold

1) It sounds like you expect a sync right after the page load. Right now we just load the Nextcloud server state. If the last sync was performed a few mins ago, very recent messages won't be there yet. 2) The periodic background sync does not trigger the loading icon, only a force reload (shortcut r) will activate it.