~bitfehler/vomit

6 2

Deleting remote mailboxes

Details
Message ID
<COA0UF9VJZCF.2MQ8GCINR0SAX@spunky>
DKIM signature
pass
Download raw message
Hey -

I tried out vsync yesterday and today. I see it uses condstore so I'm pretty
thrilled about that. I am able to do a full initial sync with no issues, but if
I *immediately* do a second sync, I delete remote mailboxes (luckily I'm on
fastmail which lets me do a restore :).

Happy to help debug on my end! I have an easy to restore situation so I'm fine
ruining it all for the sake of debugging.

--
Tim

Steps to recreate:
$ vsync
$ vsync

Tail of the trace:

03:59:35 [INFO] Using 3 threads to sync 26 mailboxes
03:59:35 [TRACE] (1) vomit_sync: [src/lib.rs:371] Syncing Archive in main thread
03:59:35 [DEBUG] (2) vomit_sync: Connecting to imap.fastmail.com:993
03:59:35 [INFO] loading state for .Archive
03:59:35 [DEBUG] (3) vomit_sync: Connecting to imap.fastmail.com:993
03:59:35 [INFO] done loading state for .Archive
03:59:35 [TRACE] (1) vomit_sync::sync: [src/sync.rs:555] Nothing to do for Archive
03:59:35 [DEBUG] (3) vomit_sync: Logging in as tim@timculverhouse.com
03:59:35 [DEBUG] (2) vomit_sync: Logging in as tim@timculverhouse.com
03:59:35 [DEBUG] (1) vomit_sync: Synced Archive in 325ms
03:59:35 [TRACE] (1) vomit_sync: [src/lib.rs:371] Syncing Drafts in main thread
03:59:35 [INFO] loading state for .Drafts
03:59:35 [INFO] done loading state for .Drafts
03:59:35 [TRACE] (3) vomit_sync: [src/lib.rs:239] Syncing INBOX in worker thread 2
03:59:35 [TRACE] (2) vomit_sync: [src/lib.rs:239] Syncing INBOX/Cadence in worker thread 1
03:59:35 [TRACE] (2) vomit_sync: [src/lib.rs:207] Deleting remote mailbox INBOX/Cadence
03:59:35 [INFO] loading state for .
03:59:35 [INFO] done loading state for .
03:59:35 [TRACE] (1) vomit_sync::sync: [src/sync.rs:555] Nothing to do for Drafts
03:59:35 [DEBUG] (1) vomit_sync: Synced Drafts in 42ms
03:59:35 [TRACE] (1) vomit_sync: [src/lib.rs:371] Syncing INBOX/Charlie in main thread
03:59:35 [TRACE] (1) vomit_sync: [src/lib.rs:207] Deleting remote mailbox INBOX/Charlie
03:59:35 [DEBUG] (2) vomit_sync: Synced INBOX/Cadence in 62ms
03:59:35 [TRACE] (2) vomit_sync: [src/lib.rs:239] Syncing INBOX/Gmail in worker thread 1
03:59:35 [TRACE] (2) vomit_sync: [src/lib.rs:207] Deleting remote mailbox INBOX/Gmail
03:59:35 [TRACE] (3) vomit_sync::sync: [src/sync.rs:581] In INBOX: LocalChanges { added: [], deleted: {}, changed: {} }
03:59:35 [TRACE] (3) vomit_sync::sync: [src/sync.rs:593] Performing refresh fetch for INBOX (427789 -> 427796)
03:59:35 [DEBUG] (1) vomit_sync: Synced INBOX/Charlie in 57ms
03:59:35 [TRACE] (1) vomit_sync: [src/lib.rs:371] Syncing INBOX/lists in main thread
03:59:35 [TRACE] (1) vomit_sync: [src/lib.rs:207] Deleting remote mailbox INBOX/lists
03:59:35 [DEBUG] (2) vomit_sync: Synced INBOX/Gmail in 55ms
03:59:35 [TRACE] (2) vomit_sync: [src/lib.rs:239] Syncing INBOX/lists/aerc-devel in worker thread 1
03:59:35 [TRACE] (2) vomit_sync: [src/lib.rs:207] Deleting remote mailbox INBOX/lists/aerc-devel
03:59:35 [DEBUG] (1) vomit_sync: Synced with imap.fastmail.com:993 in 919ms
03:59:35 [ERROR] Error during sync: IMAP error: No Response: [HASCHILDREN] Mailbox has inferior hierarchical names
Details
Message ID
<47eaa5c4-df23-8017-38d9-e1406417a0e6@bitfehler.net>
In-Reply-To
<COA0UF9VJZCF.2MQ8GCINR0SAX@spunky> (view parent)
DKIM signature
pass
Download raw message
Hey there!

On 11/12/22 05:10, Tim Culverhouse wrote:
> I tried out vsync yesterday and today. I see it uses condstore so I'm pretty
> thrilled about that. I am able to do a full initial sync with no issues, but if
> I*immediately*  do a second sync, I delete remote mailboxes (luckily I'm on
> fastmail which lets me do a restore 😄.

Ouch. All glory to Fastmail's restore mechanism, and thanks a lot for 
reporting this without yelling at me :)

I just looked at this, and I think I know the issue. It seems like 
Fastmail is using a slash as the hierachy delimiter as opposed to the 
(slightly) more common dot. It is totally a feature of IMAP that the 
hierachy delimiter can be set arbitrarily by the server, but one I had 
completely neglegted so far. You might say, I sort of forgot about it...

I will release a new version ASAP that just aborts immediately in this 
case, to prevent an influx of angry non-Fastmail-users. Then, hopefully 
not much after that, I will release a version that actually handles this 
correctly. I'd be delighted if you'd be up for giving it another chance 
then :)

Thanks again,
Conrad
Details
Message ID
<COBF39QCLOBD.1G8MKP2O438O5@spunky>
In-Reply-To
<47eaa5c4-df23-8017-38d9-e1406417a0e6@bitfehler.net> (view parent)
DKIM signature
pass
Download raw message
On Sun Nov 13, 2022 at 1:19 PM CST, Conrad Hoffmann wrote:
> Ouch. All glory to Fastmail's restore mechanism, and thanks a lot for 
> reporting this without yelling at me :)

No problem :).

> I will release a new version ASAP that just aborts immediately in this 
> case, to prevent an influx of angry non-Fastmail-users. Then, hopefully 
> not much after that, I will release a version that actually handles this 
> correctly. I'd be delighted if you'd be up for giving it another chance 
> then :)

I'd be happy to try it out again, let me know when it's ready and I'll give it a
go.

Thanks!

--
Tim
Details
Message ID
<7f6dfd75-86aa-6f2e-f24c-9a15859599bc@bitfehler.net>
In-Reply-To
<COBF39QCLOBD.1G8MKP2O438O5@spunky> (view parent)
DKIM signature
pass
Download raw message
Hey again,

before I unleash a new version, I'd be curious: does your Fastmail setup 
permit having dots (`.`) in mailbox names? E.g., can you have folder 
"lists/sr.ht"?

I've set up a Dovecot instance for testing, but it does not allow dots 
even when using the slash as delimiter. There is apparently a plugin 
that one can use to make it work, but it does some non-standard stuff. 
Would be great to get an idea of how widely this might be used before I 
accidentally delete people's mail again ;)

Thanks a lot,
Conrad
Details
Message ID
<COEK89JE5PIL.3VZ6D1YLJWAZW@spunky>
In-Reply-To
<7f6dfd75-86aa-6f2e-f24c-9a15859599bc@bitfehler.net> (view parent)
DKIM signature
pass
Download raw message
On Thu Nov 17, 2022 at 3:55 AM CST, Conrad Hoffmann wrote:
> Hey again,
>
> before I unleash a new version, I'd be curious: does your Fastmail setup 
> permit having dots (`.`) in mailbox names? E.g., can you have folder 
> "lists/sr.ht"?

Hey Conrad -

Yep, fastmail allows dots in folder names.

--
Tim
Details
Message ID
<244df1bb-d840-6fcc-cf4e-6598c53f098e@bitfehler.net>
In-Reply-To
<COBF39QCLOBD.1G8MKP2O438O5@spunky> (view parent)
DKIM signature
pass
Download raw message
On 11/13/22 20:33, Tim Culverhouse wrote:
> I'd be happy to try it out again, let me know when it's ready and I'll give it a
> go.

There it is. I just released v0.7.0, which handles arbitrary delimtiers 
(and also dots in mailbox names). I also added a little debugging 
option, so you can verify this without deleting your mail again ;)

In your case, simply run `vsync` once, for the initial pull. Then, the 
second time, run `vsync --list`. It will show you local and remote 
mailboxes and which actions it _would_ perform on any of them. Should 
that output include `DeleteLocal` for any mailbox, I would kindly ask 
you to send it to me for debugging purposes :)

Jokes aside, I tested this a bunch, but especially in case of odd 
characters in mailbox names there could be issues that I missed. If the 
output of `--list` looks sane, then syncing again is safe.

Thanks again for the report and the help,
Conrad
Details
Message ID
<COGAYSOCM645.QLV22HEKD3Q@spunky>
In-Reply-To
<244df1bb-d840-6fcc-cf4e-6598c53f098e@bitfehler.net> (view parent)
DKIM signature
pass
Download raw message
On Fri Nov 18, 2022 at 3:40 PM CST, Conrad Hoffmann wrote:
> There it is. I just released v0.7.0, which handles arbitrary delimtiers 
> (and also dots in mailbox names). I also added a little debugging 
> option, so you can verify this without deleting your mail again ;)
>
> In your case, simply run `vsync` once, for the initial pull. Then, the 
> second time, run `vsync --list`. It will show you local and remote 
> mailboxes and which actions it _would_ perform on any of them. Should 
> that output include `DeleteLocal` for any mailbox, I would kindly ask 
> you to send it to me for debugging purposes :)

Works as expected! Thanks for fixing that. Due to some mailbox sharing in
fastmail, I have some mailboxes with '@' in the name and those sync just fine,
too.

Thanks again!

--
Tim
Reply to thread Export thread (mbox)