#isync, mon amour.
#isync, mon amour.
I tried #isync + #gitAnnex + #notmuch which is cool, but weirdly only one-way and only really works when run from a single machine as it's stateful. I can't move around mails and make folders etc and git annex drop mails and keep others to decide what's on the server and what's not. It gets messy. Feels like it's a very nice solution to grab mail from the server and then manage it only locally and sync it around with git annex, but not if you want your mails e.g. on your phone client as well.
"Ready to synchronize T68i". #brushedmetal #iSync
@alexconquer C'est un des outils du paquet #isync.
Celui-ci en particulier permet la synchronisation de comptes IMAP, en ligne de commande. #CLI
I started my own fork of #isync (or #mbsync)
https://codeberg.org/jarkko/isync
It has now couple of commits:
❯ git log --oneline -2
8ea62c9 (HEAD -> main, origin/main) fix: compile with -fno-lto
f5782aa refactor: open code FORCEASYNC far and near parameters
The first is the fix for crash in #Fedora. The second open codes FORCEASYNC
:
diff --git a/src/common.h b/src/common.h
index 940e74d..22bd827 100644
--- a/src/common.hb
+++ b/src/common.h
@@ -120,7 +120,8 @@ BIT_ENUM(
ZERODELAY,
KEEPJOURNAL,
FORCEJOURNAL,
- FORCEASYNC(2),
+ FORCEASYNC_F,
+ FORCEASYNC_N,
FAKEEXPUNGE,
FAKEDUMBSTORE,
)
I plan to do this for all of those, as it allows to cut some slack out from bit_enum_get.pl
. That will lead to a roadmap where eventually the whole ugly script can be rendered out replaced with BIT_UL
macro from kernel (msync is GPL 2.0 licensed).
There is also a #zig branch but before build can be defined properly the C codebase first needs to be made sound in terms of the build. Then it is relatively easy task to repeal and replace main.c with main.zig.
I found a modern actively updated alternative for #isync (or #mbsync): #m2sync
It is part of #vomit project: https://sr.ht/~bitfehler/vomit/
Compared to the complexity of ~/.mbsyncrc, my config is now dead simple:
cat .config/vomit/config.toml
[kapsi]
local = "~/.cache/mail/kapsi"
remote = "mail.kapsi.fi:993"
user = "jjs"
pass-cmd = "pass show imap/mail.kapsi.fi"
I love vomit!
Improved my #email workflow a bit with #isync.
So the basic config in ~/.mbsyncrc
is:
IMAPAccount kapsi
Host mail.kapsi.fi
User jjs
PassCmd "pass show imap/mail.kapsi.fi"
SSLType IMAPS
IMAPStore kapsi-remote
Account kapsi
MaildirStore kapsi-local
SubFolders Verbatim
Path ~/.mail/kapsi/
Inbox ~/.mail/kapsi/INBOX
Channel kapsi
Far :kapsi-remote:
Near :kapsi-local:
Patterns *
Create Both
Expunge Both
SyncState *
Essentially only other change I had to do was repeal and replace sources in ~/.config/aerc/accounts.conf
(I was already using msmtp since many many years ago):
[personal]
source = maildir://~/.mail/kapsi
outgoing = msmtp -a iki.fi
default = INBOX
from = Jarkko Sakkinen <jarkko.sakkinen@iki.fi>
copy-to = Sent
[kernel]
source = maildir://~/.mail/kapsi
outgoing = msmtp -a iki.fi
default = INBOX
from = Jarkko Sakkinen <jarkko@kernel.org>
copy-to = Sent
folder-map = ~/.config/aerc/folder-maps/kernel.map
For the record kernel.map (also existed previously unrelated to this change) is just:
personal = INBOX
INBOX = kernel
I use this magic given that @kernel.org routes to a sub-address of the same account.
Have been planning to level up here for a long while so thought now is the time given tomorrow is first workday after holidays.
More struggles with #offlineimap email sync handling malformed spam (unicode in the headers). I'd found a hack with manually adding the offenders' UIDs to skip lists but manual intervention is a pain.
Trying out #isync (aka mbsync) instead and already impressed by 1) easy config, 2) useful and minimal UI and 3) speeeeed.
isync's speed is hitting gmail IMAP quota issues, but that was a gig or so into a multithreaded sync -- so it goes.
Кто помнит #iSync?
@mph@social.lol Can relate! Switched from #OfflineIMAP to #isync/#mbsync after about a year -- way less trouble with UID problems (i.e. none) since then 👍 And no email got missing ever since. At least none I noticed.
I miss #isync ... such a great tool