France
From Clément DOUIN to ~kmaasrud/inbox
Hey Magnus, I hope you are doing well! I wanted to share with you an issue I am facing with the maildirpp crate. Here the thing: - The Maildir standard does not provide anything about folders hierarchy. One Maildir targets one mailbox. The way to structure folders is up to the client. Let's say someone uses the mail synchronizer [mbsync]. The Maildir folder hierarchy is specific to mbsync: name of the inbox folder, nested vs flatten folders, folder name encoding/decoding of special characters etc. If someone wants to migrate from mbsync to [OfflineIMAP], it will probably not work. - The Maildir++ standard restricts a bit more the hierarchy, as every
From Clément DOUIN to ~bitfehler/m2dir
> https://man.sr.ht/~bitfehler/m2dir/#folder-names Sounds good to me! -- Regards Clément DOUIN https://soywod.me
From Clément DOUIN to ~bitfehler/m2dir
> But if you want to migrate from IMAP to JMAP (via a local m2dir) for > example, the mapping will be very helpful. And who knows, maybe there > is KMAP soon, and it uses different standard flags ;) It feels "wrong" to me, but I cannot explain properly why. Let's take another example: IMAP has a default keyword $Junk. m2dir maps it to \Junk. But KMAP does not have any equivalent. How do you sync m2dir and KMAP flags/keywords? From m2dir → KMAP, you can use a custom user-defined flag, but from KMAP → m2dir? I guess the only way is to walk through user-defined flags and see if one does match the \Junk flag. In the actual spec, users need to manage both standard flags AND custom
From Clément DOUIN to ~bitfehler/m2dir
Sorry if the question sounds stupid, but I have hard time to understand the benefits of maintaining standard flags inside m2dir (the IMAP system flags + IANA-defined IMAP keywords). > This will help to preserve semantics, even if mail were to be > replicated to yet another remote store that potentially uses different > flags. If I understand well, it is for the case where I sync remote IMAP A to local m2dir B, then decide to sync this same local m2dir B to another remote IMAP A' that may contain different standard flags? Does this case really happen? I could agree for custom flags, but knowing that standard flags should
From Clément DOUIN to ~bitfehler/m2dir
> Yes, it's super annoying, I am aware of the issue, and I currently > chose to not mention it. […] I have the slight urge to leave this up > to applications. I understand, if so then should it be explicitly stated in the spec? > Did you have a concrete approach in mind to handle this? email-lib URL encodes mailbox full paths, which avoids any wrong or badly interpreted character as well as broken structure (since the slash is encoded, it flattens all structures). And it works on all platforms. Plus the result is still human-readable. It's uggly, sure, but only if you use uggly characters in your mailbox name, fair enough?
From Clément DOUIN to ~bitfehler/m2dir
If I do not mistake, the slash `/` is a valid (yet stupid) character for an IMAP mailbox name. In case the delimiter is NOT the slash (let's say the period `.`), it may have unwanted result locally since the slash will be interpreted as a folder separator. Does the spec mention anything about this edge case? -- Regards Clément DOUIN https://soywod.me
From Clément DOUIN to ~bitfehler/m2dir
> I think the comma (,) may be an even better choice than the colon. > > I will incorporate that into the spec, unless there are any compelling > reasons against the comma? Sounds great! -- Regards Clément DOUIN https://soywod.me
From Clément DOUIN to ~bitfehler/m2dir
> So I believe that what is needed, at this stage, is an > offlineimap/mbsync that could save mails as M2dir. I’m really happy to > see that Clément Douin is already there, I’m counting on him for that > :-) I am definitely motivated to plug the Magnus's m2dir Rust lib inside email-lib. I will give it a shot whenever I can and let you know how it behaves. -- Regards Clément DOUIN https://soywod.me
From Clément DOUIN to ~bitfehler/m2dir
> Let me study the available characters and think about it for a bit. If I remember well, the `maildir` crate is using the semi-colon `;` on Windows: <https://github.com/staktrace/maildir/pull/29> <https://github.com/staktrace/maildir/blob/354647291c4b12d7d1294bd8a81460a3eebfd701/src/lib.rs#L25> -- Regards Clément DOUIN https://soywod.me
From Clément DOUIN to ~bitfehler/m2dir
> However I have also noticed that `:` (colon) is used for separating > user defined name from the tag. That can be problematic on NTFS drives Indeed, Maildir suffers from the same issue, it could be nice to take another character that would work everywhere.