From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id EF4C11F5AE for ; Fri, 21 May 2021 10:28:32 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 0/8] lei: export-kw, IMAP import incompatibility Date: Fri, 21 May 2021 10:28:24 +0000 Message-Id: <20210521102832.10784-1-e@80x24.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: "lei export-kw" is a new command. I'm not sure exactly how it'll be used but it's probably more of a plumbing command, for now. My brain hurts thinking about synchronization and merge/conflict resolution when it comes to propagating keywords assignments/clearing. (I frequently mark messages as Unread in my MUA so I know to reread them in the future, and I suspect it's a common thing). mail_sync.sqlite3 now tracks AUTH=ANONYMOUS or username in the folder name to account for lei(Unix) users having multiple IMAP accounts on the same host with the same folders+UIDVALIDITY. "lei import imap(s)://" users will waste a bit of bandwidth resyncing as a result. Eric Wong (8): treewide: favor open(..., '+<&=', $fd) lei: drop EOFpipe in favor of PktOp lei tag: support tagging index-only messages lei_input: fix canonicalization of Maildirs for sync lei index: support command-line options lei export-kw: new command to export keywords to Maildirs uri_imap: support uid/auth/user as full accessors lei import: store IMAP user+auth in mail_sync folder URI MANIFEST | 2 + examples/unsubscribe.milter | 3 +- lib/PublicInbox/DS.pm | 3 +- lib/PublicInbox/Daemon.pm | 2 +- lib/PublicInbox/LEI.pm | 18 +++- lib/PublicInbox/LeiExportKw.pm | 180 +++++++++++++++++++++++++++++++++ lib/PublicInbox/LeiInput.pm | 3 +- lib/PublicInbox/LeiMailSync.pm | 10 ++ lib/PublicInbox/LeiOverview.pm | 2 +- lib/PublicInbox/LeiSearch.pm | 22 +++- lib/PublicInbox/LeiTag.pm | 10 +- lib/PublicInbox/LeiToMail.pm | 12 ++- lib/PublicInbox/MdirReader.pm | 14 +++ lib/PublicInbox/NetReader.pm | 42 +++++--- lib/PublicInbox/Sigfd.pm | 3 +- lib/PublicInbox/URIimap.pm | 82 +++++++++++---- t/epoll.t | 7 +- t/lei-export-kw.t | 35 +++++++ t/lei-import-imap.t | 9 +- t/lei-index.t | 12 ++- t/mdir_reader.t | 5 + t/uri_imap.t | 60 ++++++++--- 22 files changed, 461 insertions(+), 75 deletions(-) create mode 100644 lib/PublicInbox/LeiExportKw.pm create mode 100644 t/lei-export-kw.t