nylas / sync-engine

:incoming_envelope: IMAP/SMTP sync system with modern APIs
https://nylas.com/docs/platform
GNU Affero General Public License v3.0
3.5k stars 354 forks source link

FastMail Folders Do Not Sync #225

Open cooperpellaton opened 8 years ago

cooperpellaton commented 8 years ago

All of the technical details including my config.cson and some screenshots can be found by viewing the original issue I filed in N1. I initially posted this issue in the client thread N1. The original issue is here: https://github.com/nylas/N1/issues/371.

The gist is that at first N1 doesn't sync with FastMail, it takes about an hour or so, and upon completion the only folder which properly syncs is Inbox. I am able to see my email in my Inbox, and all of my other folders sync, but none of their contents does so. Furthermore, if I search for an email which I know to be in a folder and not my Inbox, the query will fail and return that there are "no threads to display." This seems to be a peculiar issue as FastMail is a flavor of IMAP and the folders are standard IMAP folders therein the emails should sync as they would in any other client and yet they don't work in N1.

khamidou commented 8 years ago

Hi @cooperpellaton, thanks for taking the time to fill out this bug report! I'm going to look into this. Could you confirm that you're using our hosted version of the sync-engine (i.e: you're not running it on a server of your own).

regards,

Karim

cooperpellaton commented 8 years ago

@khamidou I am not self-hosting the sync server. I am using your hosted version through the N1 client. Something to keep in mind, my FastMail email address has two domains pointing at that so it could be something to do with the way that the wildcard email address definition is handled on their end and then how they are being parsed because some of the folders are specifically emails sent to virtual aliases.

grinich commented 8 years ago

Thanks @cooperpellaton -- We don't do anything with JMAP. (It turns out that what Fastmail runs still doesn't match the JMAP spec.) Instead, we just connect over vanilla IMAP.

Do you use any other regular IMAP clients to access your Fastmail accounts? (e.g. Mac Mail or Outlook)

Thanks for helping us get to the bottom of this!

cooperpellaton commented 8 years ago

@grinich I don't use any other services to access that FastMail account but can do some testing if desired.

grinich commented 8 years ago

That'd be super useful or maybe @brong can chime in here :)

rschulman commented 8 years ago

I want to resurrect this issue, as I'm having the same exact issue with my Fastmail account and N1. My Inbox syncs fully but no other folder is loading (though the fact that the folder exists is synced).

pierrebeaucamp commented 6 years ago

Can confirm that this is still an issue

brong commented 6 years ago

@pierrebeaucamp are you using imap.fastmail.com with an app password, or still using mail.mesagingengine.com? imap.fastmail.com presents a namespace which more closely matches other services.

pierrebeaucamp commented 6 years ago

I'm using imap.fastmail.com with an app password

brong commented 6 years ago

Right! Given how careful we are to make our server 100% RFC compliant (I'm heavily involved in IETF standardisation, and we run a ton of tests against the Cyrus IMAP server as part of the development effort) I'd love to see the traces from the LIST command.

Actually, to tell the truth, there's one thing we're doing which isn't 100% to the RFCs. We automatically add the SPECIAL-USE flags even if you don't ask for them. In our testing, there weren't any clients which had a problem with that, and there were a couple of crappy clients a couple of years back which expected them but didn't ask, and we wanted the special folders to be detected.

I wonder if that's what's going on? The parser not handling the special-use responses.

brong commented 6 years ago

@pierrebeaucamp - if you want to contact me privately (or just open a support ticket and ask for the ticket to be transferred to me) I can turn on telemetry at our end and get you to re-sync so I can see which requests are being made.