Roundcube Community Forum

 

Refresh problem

Started by Guglie76, September 30, 2008, 08:43:08 AM

Previous topic - Next topic

Guglie76

Hi,
I've installed RoundCube 0.2-beta on Ubuntu 8.0.4 and configured it to use gmail as imap server. All works fine, but when a new mail arrive (I see it from gmail) RoundCube doesn't show it. The only way is reload the page from browser. Is a refresh problem?
I see other threads where suggests to change "enable_caching" to false, but nothing happends. :confused:

$rcmail_config['enable_caching'] = FALSE;

Any ideas?

Thanks

--
/Luca Guglielmi

JohnDoh

do you mean after RC checks for new mail it doesnt find it or that the check for new mail isnt working (you see a grey box at the top of the screen when it is auto checking for new mail)
Roundcube Plugins: Contextmenu, SpamAssassin Prefs, and more...

Guglie76

I've made this test:

- Open RC and see the Inbox
- From another email client send me a new mail
- RC doesn't show a new email (no autorefresh?)
- Push the button "Check for new messages" or reload the page to see a new message

Isn't there a autorefresh?

JohnDoh

ah right you are expecting it to show up straight away? That wont happen. RC checks for new mail every minute, as i said before you'll see the grey box apprear at the top of the screen to tell you its happening.
Roundcube Plugins: Contextmenu, SpamAssassin Prefs, and more...

Guglie76

But I've waited several minutes... and I've never seen "the grey box" appear. It appears only when I check for new messages manually. Are you sure that RC checks for new mail every minute? Is it visible it in the log file?

JohnDoh

You could try upping the debug level in your config file to 8 then you should see the console box and in there you will see if the check for recent request is made. or look in your imap server logs. i dont think there will be anything in the RC logs unless there is an error.
Roundcube Plugins: Contextmenu, SpamAssassin Prefs, and more...

Guglie76

I'm partially wrong, because "the grey box" appears in every some seconds... and I see the automatic refresh in console and log file. But the new messages doesn't appears... I'm sure.
I noticed a different time zone from imap server and RC server... Is it a possible problem in the calculation of what is a new message?



==== CONSOLE =====
--------------------------------------
HTTP request: ./?_task=mail&_action=check-recent&_t=1222849172587&_remote=1
--------------------------------------
/** ajax response [01/Oct/2008 09:17:35 +0000] **/
this.set_env({mailbox:'INBOX',quota:1,delimiter:'/',trash_mailbox:'[Gmail]/Trash',drafts_mailbox:'[Gmail]/Drafts',junk_mailbox:'[Gmail]/Spam'});
--------------------------------------
HTTP request: ./?_task=mail&_action=check-recent&_t=1222849232587&_remote=1
--------------------------------------
/** ajax response [01/Oct/2008 09:18:36 +0000] **/
this.set_env({mailbox:'INBOX',quota:1,delimiter:'/',trash_mailbox:'[Gmail]/Trash',drafts_mailbox:'[Gmail]/Drafts',junk_mailbox:'[Gmail]/Spam'});
--------------------------------------

==== File console in log path =====

[01-Oct-2008 07:30:04 +0000]: * OK Gimap ready for requests from XXX.XXX.XXX.XXX d38if955195ugf.2
Tried PLAIN: Resource id #36

Guglie76

I've adjusted the time zone, but the problem persist. The "grey box" appears with automatic check and manual too. I see the console and seem to work, but nothing change in the web page.
Any new message doesn't appears, and if I remove some old messages from gmail interface, I see that they doesn't disappear from RC.
In conclusion the check mail doesn't refresh (in any way) the web page.

Any ideas?

Guglie76

Someone uses RC? Nobody have this problem? To have a correct refresh, do I need to insert this? :eek:



For what does RC use ajax? :confused:

JohnDoh

You shoouldn't need the meta refresh tag. RC uses Ajax for a lot of things, like getting new email. Do you have any javascript errors on your page or anything that blocks javascript?
Roundcube Plugins: Contextmenu, SpamAssassin Prefs, and more...

Guglie76

I've tried RC with Firefox and Safari and I don't have any javascript block (gmail works fine). I've tried to 'debug' RC with Firebug and I've seen a difference from reload page and refresh ajax, but I don't know if it's important...:confused:
In "reload" it returns this "this.set_unread_count.." for every folder in imap, but in refresh it seems to doesn't do it. Is it right?

Thank you for your patience... :)

Refresh with ajax

======== HEADERS =========
--- Response Headers ---
Date   Sat, 04 Oct 2008 13:44:19 GMT
Server   Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.3 with Suhosin-Patch mod_ruby/1.2.6 Ruby/1.8.6(2007-09-24) mod_ssl/2.2.8 OpenSSL/0.9.8g
X-Powered-By   PHP/5.2.4-2ubuntu5.3
Expires   Sat, 04 Oct 2008 13:44:20 GMT
Last-Modified   Sat, 04 Oct 2008 13:44:20 GMT
Content-Encoding   gzip
Vary   Accept-Encoding
Content-Length   174
Keep-Alive   timeout=15, max=100
Connection   Keep-Alive
Content-Type   application/x-javascript; charset=UTF-8

--- Request Headers ---
Host   webmail.mydomain.it
User-Agent   Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008070206 Firefox/3.0.1
Accept   text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language   en-us,en;q=0.5
Accept-Encoding   gzip,deflate
Accept-Charset   ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive   300
Connection   keep-alive
X-RoundCube-Referer   ba84a8bb54fbed76f1fb28beb32180f8
Referer   https://webmail.mydomain.it/?_task=mail
Cookie   mailviewsplitterv=165; mailviewsplitter=200; roundcube_sessid=ba84a8bb54fbed76f1fb28beb32180f8


======== RESPONSE =========
/** ajax response [04/Oct/2008 03:44:20 +0200] **/
this.set_env({mailbox:'INBOX',quota:1,delimiter:'/',trash_mailbox:'[Gmail]/Trash',drafts_mailbox:'[Gmail]/Drafts',junk_mailbox:'[Gmail]/Spam'});

Reload all page

========== HEADERS =========
--- Response Headers ---
Date   Sat, 04 Oct 2008 13:47:17 GMT
Server   Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.3 with Suhosin-Patch mod_ruby/1.2.6 Ruby/1.8.6(2007-09-24) mod_ssl/2.2.8 OpenSSL/0.9.8g
X-Powered-By   PHP/5.2.4-2ubuntu5.3
Expires   Sat, 04 Oct 2008 13:47:19 GMT
Last-Modified   Sat, 04 Oct 2008 13:47:19 GMT
Content-Encoding   gzip
Vary   Accept-Encoding
Content-Length   282
Keep-Alive   timeout=15, max=100
Connection   Keep-Alive
Content-Type   application/x-javascript; charset=UTF-8

--- Request Headers ---
Host   webmail.mydomain.it
User-Agent   Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008070206 Firefox/3.0.1
Accept   text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language   en-us,en;q=0.5
Accept-Encoding   gzip,deflate
Accept-Charset   ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive   300
Connection   keep-alive
X-RoundCube-Referer   ba84a8bb54fbed76f1fb28beb32180f8
Referer   https://webmail.mydomain.it/?_task=mail&_mbox=INBOX
Cookie   mailviewsplitterv=165; mailviewsplitter=200; roundcube_sessid=ba84a8bb54fbed76f1fb28beb32180f8
If-Modified-Since   Sat, 04 Oct 2008 13:42:19 GMT


======== RESPONSE =========
/** ajax response [04/Oct/2008 03:47:19 +0200] **/
this.set_env({mailbox:'INBOX',quota:1,delimiter:'/',trash_mailbox:'[Gmail]/Trash',drafts_mailbox:'[Gmail]/Drafts',junk_mailbox:'[Gmail]/Spam'});
this.set_unread_count('INBOX',0,1);
this.set_unread_count('[Gmail]/Starred',0,0);
this.set_unread_count('[Gmail]/Sent Mail',0,0);
this.set_unread_count('[Gmail]/Drafts',0,0);
this.set_unread_count('[Gmail]/All Mail',0,0);
this.set_unread_count('[Gmail]/Spam',1,0);
this.set_unread_count('[Gmail]/Trash',0,0);
this.set_unread_count('[Gmail]',0,0);
this.set_unread_count('mylabel-1',0,0);
this.set_unread_count('mylabel-2',0,0);
this.set_unread_count('mylabel-3',0,0);

JohnDoh

I read somewhere (either the mailinglist or on trac) about a problem with the message list updating to reflect changes taking place in thunderbird (at least I think I did, I hope I didnt dream it :/). any way I think what it boiled down to was if you have 2 clients open on the same mailbox and the non RC one updates before RC then RC will not see the new message. Because of the way RC auto detects new mail if it has allready been picked up by another client it will be missed, until you reload the page.

Perhaps this is the problem you are having. If you close GMail and just have RC open hopefully the auto detect will work as it should.
Roundcube Plugins: Contextmenu, SpamAssassin Prefs, and more...

Guglie76

I've tried to close the others clients, but the problem persists... also I've looked about "recent" problem you've talked...
In the file /usr/share/roundcubemail/program/steps/mail/check_recent.inc I've changed the code to make a "little" workaround:
 
28c28,29
<     if ($recent_count = $IMAP->messagecount(NULL, 'RECENT', TRUE))
---
>     //if ($recent_count = $IMAP->messagecount(NULL, 'RECENT', TRUE))
>     if (TRUE)

Now, the ajax refresh updates correctly the unread messages counter in the folder side (only for the current folder). So now, when arrive a new message and I've selected the Inbox, I can see the folder change to "Inbox (1)" and the page title too. :)

The next steps should be:

- Update the counter for all folders (not only the selected)
- Update the list messages in the other side

Do you know how make this?

Guglie76

Isn't there any developer here? :(

JohnDoh

Roundcube Plugins: Contextmenu, SpamAssassin Prefs, and more...