Hacker News new | ask | show | jobs
by christophe971 4378 days ago
Looks nice so far, worked with IMAP for a while, not fun... So is it on top of IMAP or ... ?
2 comments

Yup, IMAP is powerful, but it's gathered some baggage over the years.

Switchboard uses a simplified interface based on JMAP[1] for client's and workers, which it does proxy into IMAP commands. One of the conveniences of Switchboard is it manages the IMAP connections: restarting them as they fail and allowing concurrent access.

[1] http://jmap.io/

It seems to be, as far as I understand.

If that's actually the case, how do you handle the case where someone read a new mail (and thus, mark it as read) before app processed it ?

The application uses IMAP UID/UIDVALIDITY values, typically along with IDLE, to identify new emails in a mailbox. These don't change when an email is read, so marking as read doesn't introduce any race conditions in this case.