gapi/ApiResponse.php at master · cuonggt/gapi

über gapi/ApiResponse.php at master · cuonggt/gapi


[imp] Horde IMAP features (or why our webmail client is better than your webmail client)

ONDSTORE/QRESYNC support. These are two recent IMAP extensions
specifically created to add disconnected clients (like IMP) keep their
local caches synced and to speed viewing when reloading a mailbox.
IMP is the *ONLY* open-source webmail client that I am aware of that
supports these extensions. Discussing the exact details is beyond the
scope of this message, but absence of CONDSTORE/QRESYNC support means
two things:
* You can not properly cache mailbox data. Namely, flags are not
guaranteed to be synced unless they are downloaded EVERY time you
access a mailbox. Which is very slow. So, in other words, all other
webmail clients are essentially “broken” – only IMP does caching
* You can not properly keep an AJAX display synchronized. A
well-written AJAX client contains yet another cache of mailbox data –
it needs to be synchronized with the PHP server (which in turn needs
to be synchronized with the IMAP server. Confused yet?) Without
CONDSTORE/QRESYNC, this can not be done correctly absent the AJAX
interface *constantly* reloading data from the server. But this is
just a waste of bandwidth, processing power, and the user’s time.
Only IMP does AJAX display correctly because we only download what is

über [imp] Horde IMAP features (or why our webmail client is better than your webmail client)