←back to thread

230 points michidk | 1 comments | | HN request time: 0.259s | source
Show context
rmccue ◴[] No.43533504[source]
I started writing a guide to IMAP back when I was working on an email client: https://github.com/rmccue/griffin/tree/master/docs/imap

Pulling large amounts of data for things like threading can be difficult on certain servers; my preferred approach ended up being to pull every ID and thread ID to maintain an in-memory tree. (This was, iirc, partially because Gmail’s implementation was slightly crippled with relation to threading.)

(I never finished the guide because I stopped on the project, alas - if IMAP were easier to work with, I might have finished it! And sadly, no JMAP support on Gmail, and the gateway was broken.)

replies(2): >>43535532 #>>43538067 #
jeffbee ◴[] No.43535532[source]
> Gmail’s implementation was slightly crippled

Gmail is not "crippled". A tiny but vocal community of old nerds have a petrified mental model of email that they associate with unix IMAP software from the 1990's, but those concepts do not appear in the IMAP standards anywhere.

replies(3): >>43536205 #>>43536798 #>>43537704 #
1. ptx ◴[] No.43536798[source]
Which concepts are you referring to?

RFC 9051 says that it was "developed for" RFC 822 and that one should now refer to RFC 5322 instead. And RFC 5322 does discuss threading, which is the what the comment you're replying to was talking about, so that concept does appear (by reference) in the IMAP standards.

Are there other parts of the community that implement IMAP using the same "mental model of email" that Gmail is using? Or are you saying that anyone using IMAP with anything but Gmail is an old nerd and a tiny minority?