#1485794 closed Bugs (fixed)
Check mail
| Reported by: | Anton | Owned by: | |
|---|---|---|---|
| Priority: | 5 | Milestone: | 0.4-beta |
| Component: | Core functionality | Version: | 0.2.1 |
| Severity: | normal | Keywords: | |
| Cc: | marcel_roundcubebugs@…, vbenincasa@…, jasonb@…, speed@…, me.dendik@…, tmm@…, lucaferr |
Description
There is button Check Mail, the first from roundcube-logo.
If I rightly understand, when I press this button, new messages should be displayed. But it isn't so. Is it feature or a bug? In my mind the action of this button should be the same as action of the button Mail at the top menu.
Why are messages not displayed automatically, but only the number of new messages is displayed in INBOX folder in the left menu? Maybe it's usefull to have this possibility.
Thank you.
Change History (23)
comment:1 Changed 4 years ago by alec
- Milestone changed from later to 0.2.2
comment:2 Changed 4 years ago by cphipps
I'm having the same issue but I also have a customized version of z-push for Direct Push emulation to Windows mobile and Iphones. This access imap via the IDLE command every few second to check for new email. With this enabled with users using it, roundcube won't refresh without actually clicking the "inbox". I know you said milestone 0.2.2 but is there a possible faster patch for before then? this is kind of a big deal and didn't happen with 0.2stable
Thanks,
Chris
comment:3 Changed 4 years ago by marcelvb
- Cc marcel_roundcubebugs@… added
comment:4 Changed 4 years ago by netbit
- Cc vbenincasa@… added
- Type changed from Feature Requests to Bugs
For tracking purposes, this ticket is related to #1486106
comment:5 Changed 4 years ago by jasonb
- Cc jasonb@… added
RoundCube is the only client (Web or otherwise) where this has actually been a problem. Other Web clients (SquirrelMail? and Horde/Imp?) will still display new messages even when, in my own case, SeaMonkey? Mail is also connected. (I use SeaMonkey? Mail at home, and then a Web mail client while I'm at work.)
I don't know if this is something integral to the way that RoundCube works differently than other IMAP clients or not. (But if other IMAP clients don't have a problem with concurrent client connections, then RC really shouldn't either.)
Can we not, in addition to checking with IDLE, *also* take a count of the total number (not necessarily "new") messages in the Inbox - and if the number now is greater than it was at last check assume that there is a new message - even if, for whatever reason, the current IDLE check message doesn't catch it?
comment:6 Changed 4 years ago by minneyar
- Cc speed@… added
I also like to leave an IMAP client (Apple's Mail.app) running at home while I use Roundcube from work. It'd be nice if this was fixed.
comment:7 Changed 4 years ago by ferenc
I agree with jasonb. I have users begging for Roundcube, while nagging about the Check mail bug. Hastymail2 or Squirrelmail do not suffer the same problem.
I really like to add my users are using Roundcube and IMAP clients on mobile phones. While one could make the case for shutting down the IMAP client at home while accessing the inbox through webmail when on the road, it's not realistic to ask users to disable their IMAP client on their mobiles, everytime they want to use Roundcube for a period.
Am I correct in assuming Roundcube checks for new mail this way:
make AJAX call to web server;
web server issues imap command 'status INBOX (recent)';
web server answers AJAX call with the result.
And the status command almost always returns RECENT 0 if some other imap client interferes? I had a look at the code but I am not smart enough.
FYI I'm running 0.3-stable, mysql, php 5.2, apache / lighttpd.
cheers & thank for a great piece of software, btw
Ferenc
comment:8 Changed 4 years ago by dendik
- Cc me.dendik@… added
This is probably some bug on the side of IMAP library. It does not always report number of RECENT emails properly. As a workaround, I suggest checking for UNSEEN messages in check_recent.inc. Here is a patch:
--- program/steps/mail/check_recent.inc.orig 2009-10-30 01:33:42.000000000 +0300
+++ program/steps/mail/check_recent.inc 2009-10-30 01:20:33.000000000 +0300
@@ -24,7 +24,7 @@
foreach ($a_mailboxes as $mbox_name) {
if ($mbox_name == $IMAP->get_mailbox_name()) {
- if ($recent_count = $IMAP->messagecount(NULL, 'RECENT', TRUE)) {
+ if ($recent_count = $IMAP->messagecount(NULL, 'UNSEEN', TRUE)) {
// refresh saved search set
if (($search_request = get_input_value('_search', RCUBE_INPUT_GPC)) && isset($_SESSION['search'][$search_request])) {
$_SESSION['search'][$search_request] = $IMAP->refresh_search();
There are other references to RECENT in the file, I'm not sure, if they are right or wrong.
This patch makes updating messagecount in the folders list work right, but updating the messages list itself requires one additional click on the folder name. At least it saves from missing new mail entirely.
comment:9 Changed 4 years ago by corbosman
I do think this needs to be fixed somehow. Like someone mentioned, mobile phones often use some push mechanism to read email, which will continuously keep msgs out of 'RECENT' status. You cant expect people to turn off their mobile phone or fiddle with settings to turn off their mail reader every time they open roundcube to read mail.
And, come to think of it, the way it works now can be kinda bad. If the timings of the desktop/mobile phone client are different than the timings for roundcube, then you'll see only part of the emails come in roundcube, as sometimes it will see RECENT msgs and sometimes it wont. That makes things really inconsistent. You'll end up with only some of your mail in roundcube, making you perhaps think you're not receiving some emails.
comment:10 Changed 4 years ago by ThomasMueller
- Cc tmm@… added
comment:11 Changed 3 years ago by thomasb
- Resolution set to fixed
- Status changed from new to closed
Fixed in [5e9a5661]. It will now check the UNSEEN count of the INBOX and switch to the inbox folder if and only if there are new messages. I hope this is the behavior which you all expect from this button.
comment:12 Changed 3 years ago by alec
- Resolution fixed deleted
- Status changed from closed to reopened
I don't like this changeset at all. This doesn't fix the issue. We're
still checking RECENT for other folders. I also don't like switching to
INBOX. I use server-side filters and got new mail in other folders, not
only in INBOX. When I have other folder opened I don't like to change
it. We must find better solution. Please, revert this change.
comment:13 Changed 3 years ago by alec
- Component changed from Other to Core functionality
comment:14 Changed 3 years ago by alec
Proposed solution. For current folder store in session max. UID found in this folder. Then in check_recent instead of checking RECENT flag we could call FETCH UID LAST_MAX_UID:* ...
comment:15 Changed 3 years ago by thomasb
OK, maybe we need to define first what you/users expect of this button. What does "Check for new mail" mean to you? For me new mail arrives in the inbox so I want to see whether there is something new. I have server side filters too but I use them to redirect messages because they're not that important to show up in the inbox as "new mail". I know that not everybody will share my opinion but I still hope that we'll find a consensus here.
comment:16 Changed 3 years ago by alec
I expect that "check for new mail" will do what it was doing before [5e9a5661]. I.e. update message counters for all folders (according to check_all_folders setting) and display new messages arrived in CURRENTLY SELECTED FOLDER. I don't want to check only INBOX and I don't want to be "redirected" to INBOX. Also reloading messages list causes that new mail is not listed on top of the list (this of course could be configurable).
comment:17 Changed 3 years ago by alec
So, "check for new mail" should be equal to "call check_recent on-demand"
comment:18 Changed 3 years ago by corbosman
I agree with alec. Show new msgs in currently selected folder, and update msg counters for all folders.
comment:19 Changed 3 years ago by jasonb
I should also add that I never use a button to check for new mail. (Well, almost never.) I just leave Roundcube open in a tab in my browser (With the Inbox folder selected), and then look to see if the title of the window/tab has changed to (1) or not, for example. When I see a number there, I know that I've received new mail. A new mail check happens, for me, every minute. No doubt changing the button will also have the effect of changing what happens during an automated new mail check - but I just wanted to make that clear.
comment:20 Changed 3 years ago by lucaferr
- Cc lucaferr added
Hello,
I use roundcube on some servers synchronized to a second server via pop2imap. Unfortunatly, this prevents new emails from having the /RECENT flag and so both the auto check-mail and the button do not work.
I'm writing just to make sure you will fix also the automatic check-mail and not only the button, since I'm sure it's the most used functionality of a web mail (if you keep roundcube opened all day, you won't probably even press the button if you can have a working automatic check-mail function that is not based on /RECENT).
Thank you very much for such an excellent webmail!
Luca from Italy
comment:21 Changed 3 years ago by lucaferr
Post Scriptum = Sorry, I forgot to say that I also think that the best behaviour of both the auto check-mail function and the manual button will be:
- If the user is reading/composing an e-mail: just update all the counters
- If the user is seeing a folder message list (inbox or other folders): update the counters and refresh that list
Of course, everything should be implemented without even mentioning the /RECENT flag, since it is totally unreliable and only drives to troubles.
Thanks!
comment:22 Changed 3 years ago by thomasb
New solution in [7c9d922b]
comment:23 Changed 3 years ago by alec
- Resolution set to fixed
- Status changed from reopened to closed

This displays new messages in current folder. It checks RECENT flag, you shouldn't have open other IMAP client in the same time.