Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
Nicolas Sebrecht
@nicolas33
There's no setup.py because I still didn't need one.
(nobody did)
Walter Vargas
@waltervargas
hey guys
I want to have my exchange/work email offline to be able of use mu and mu4e, should I use offlineimap or use imapfw?
imapfw will have kerberos support and imap push?
Nicolas Sebrecht
@nicolas33
@waltervargas Go with offlineimap.
I'm currently missing of time to work on imapfw. This is a project I'd really like to move forward, though.
Jim Tittsler
@jimt
j/part
Jens Neuhalfen
@neuhalje
Is anybody still interested in resurrecting imapfw?
Jens Neuhalfen
@neuhalje
@nicolas33 Are you there?
Nicolas Sebrecht
@nicolas33
@neuhalje I am
Yes, I'm still interested in working on imapfw.
Syncing both ways is harder than what we might thing at first glance.
For imapfw, I've thought about things deeply. Some things I've written will work some other won't.
The basics are ok (driver -- controllers -- engine -- controllers --driver)
Nicolas Sebrecht
@nicolas33
but we'll need another layer to nicely handle IMAP servers (max connections for all the servers and max sockets for each IMAP server)
and I have to rewrite the message by passing subsystem and replace it with pubsub.
Pubsub will allow better dynamic events handling and workers.
So, the core has to be changed to something like:
Nicolas Sebrecht
@nicolas33
maildir driver -- controller --[pubsub]-- workers manager --[pubsub]-- controller -- IMAP driver
(and likely) engine --[pubsub]-- workers manager
(or directly) workers manager with the engine
where the engine is the syncer logic.
Also, I think I'll rewrite the current "rascal" thing in favour of the more usual app builder design used in frameworks.
Nicolas Sebrecht
@nicolas33
I've already rewritten the communication layer twice before the current one. However I'm still not satisfied. I do think that pubsub is the correct way.
Jens Neuhalfen
@neuhalje
I honestly haven't yet tried to run imapfw. My goal is to use imapfw in a pet project of mine (a MUA written in Python + Angular).
In you opinion, what is the best and most accurate documentation of the current state of imapfw?
Jens Neuhalfen
@neuhalje
Without having looked at the source: IMHO pubsub generally lends itself well for loosely coupled systems and might be a good API for "porcelain" frontends. On the other hand it makes things difficult to understand because cause and effect are often only connected by "magic".
To get me up and running:
  1. Which documents should I read?
  2. How can I set up a 'IMAP4v1 (Dovecot) <--> Maildir' sync
  3. OR -
  4. What needs to be done to get a 'IMAP4v1 (Dovecot) <--> Maildir' running?
  5. What might be good tasks to get into imapfw?
Nicolas Sebrecht
@nicolas33
imapfw won't sync emails. It's not ready, yet.
I still use offlineimap for IMAP <--> maildir.
Jens Neuhalfen
@neuhalje
hhmkay. What would need to be done to enable this?
I guess some logic might be copied from offlineimap?
Nicolas Sebrecht
@nicolas33
There are still a lot to be done in imapfw.
Yes, the 3-way merge algo will basically be the same but that's all.
Copy code is not allowed because offlineimap is GPLv2 while imapfw is MIT.
Jens Neuhalfen
@neuhalje
What would be the shortest route to get a “minimal viable product” AKA “IMAP4v1 <-> Maildir sync”? A working “product” would draw in more contributors and/or testers.
Nicolas Sebrecht
@nicolas33
What do you mean?
With imapfw?
Jens Neuhalfen
@neuhalje
Yes
So: What would I need to do to get the “MVP” running?
Nicolas Sebrecht
@nicolas33
"MVP"?
Jens Neuhalfen
@neuhalje
“Minimum viable product”, in other words “the smallest possible thing that people would find useful"
Nicolas Sebrecht
@nicolas33
The easiest is to get 1-way migration/conversion.
Next is 1-way sync.
Next is 2-way sync.
The first erase any previous state.
Jens Neuhalfen
@neuhalje
Let me see if I understand:
1-way migration: “Read the whole IMAP folders and store them locally”
1-way sync: “Only downlaod changes”
2-way sync: “Also upload local changes"
Nicolas Sebrecht
@nicolas33
Actually, the real first step is read on IMAP and the same on maildir.