Losing mail by moving other mail (via keyboard shortcut)

I get the same issue, but instead of using a keyboard shortcut, it’s sometimes when archiving an open email.

Describe the bug
When archiving one email, it will sometimes also archive the email above it/at the top of the inbox.
Ditto re: If you’re not paying attention you can lose a mail this way. This is very frustrating because we have had this problem multiple times and forgot to answer important mail.
As a result, I have had to stop using Mailspring entirely until this is fixed.

To Reproduce
Steps to reproduce the behavior:

  1. Go to ‘inbox’
  2. Open an email (so it opens in a new ‘window’) - possibly any email other than the top one.
  3. Click archive

Expected behavior
You would expect to see that email archived, and then you are returned to the inbox.
This does happen, however the email at the top of the inbox (i.e. not the one you just archived), also gets archived.

Setup:
OS: Ubuntu 20.04 LTS
Mailspring installed by Snap (self updating)
Mailspring Version: Latest Stable 1.7.8


(Originally posted by rjbathgate on GitHub.)

Can confirm. For me, this coupled behaviour sometimes (…) happens with archiving, deleting, starring, labelling… I have the impression that the coupled email isn’t necessarily the email at the top of the inbox, but rather the email your most recently interacted with. I’m not entirely sure about this last statement though, as it is hard to reproduce this error (it only happens sometimes…).

This is a major issue, as it indeed results in unreliable behaviour or even lost emails!
Please urgently fix!


(Originally posted by asparc on GitHub.)

I’m seeing this happen when I have send undo enabled and I reply to an email. If I then archive/move the email while the send timer is counting down the action gets applied to whatever email is selected after the first one is moved.


(Originally posted by ReillyTevera on GitHub.)

I’m seeing this happen when I have send undo enabled and I reply to an email. If I then archive/move the email while the send timer is counting down the action gets applied to whatever email is selected after the first one is moved.

I also have “send undo” enabled. I have since uninstalled MailSpring as it’s unusable with this bug so can’t test it with “send undo” disabled, but if anyone can confirm it doesn’t happen if that’s turned off, I may revisit.


(Originally posted by rjbathgate on GitHub.)

I made the change to disable “send undo” a couple days ago and I haven’t noticed any emails disappearing since. Not completely conclusive but for what it’s worth I was losing 3-5 a day before that change.


(Originally posted by ReillyTevera on GitHub.)

I’ve been (re)using Mailspring for a few days now, with “send undo” disabled too, and so far, I haven’t experienced the issue. So, it’s not a solution (as send undo is handy), but moreso perhaps helpful to identify where the issue lies. But, based on the lack of action and huge amount of other un-actioned bugs, I’m not holding my breath for a fix…


(Originally posted by rjbathgate on GitHub.)

Same here! Very frustrating :frowning: I just moved to Spark because of that, this is a very dangerous bug when dealing with business emails. I hope it will be fixed. Good luck Mailspring’s team! :slight_smile:


(Originally posted by kaleidoscopique on GitHub.)

Thanks for moving this post. Let’s hope this bug gets fixed soon. I haven’t been using mailspring since then because too much mail got lost.

Confirming. I face the same behavior in all versions including 1.8.0.
Agree this is very critical since it make emails get lost pretty often.

I have been trying to reproduce the issue on my system. Unfortunately, I was not able to reproduce it. Can any of you please provide the following, additional information?

  1. Go to “Developer” > “Toggle Developer Tools”
  2. Chose the “Console” tab
  3. Press “Clear Console” (Ctrl + L)
  4. Reproduce the Issue
  5. Do a right click inside the console and click “Save as”
  6. Clear any personal information from the debug file that you now have created
  7. Attach the file here.

This would greatly help me trying to figure out, where this is coming from.

I was trying to replicate the issue with test mails but it doesn’t seem to work… I’ll try and replicate it using mailspring as my default for a while.

1 Like

I bet it is a very random case, hard to reproduce. Maybe multiple accounts, maybe sending something happening at the same moment (i.e. sending and arhciving at the same time). I also didn’t manage to specifically reproduce it intentionally, while I see how this happens periodically.

Thanks for the info. That way it would be even more crucial, if you can provide some logs, as I described here: Losing mail by moving other mail (via keyboard shortcut) - #11 by Phylu (Without clearing the console, obviously)

I have the console open at all time now. As soon as I see the issue I’ll have the log.

1 Like

Ok. Yet another case. But cannot reproduce it. Tried to do the same and it worked second time.

  1. I received email (Gmail)
  2. Write reply in Gmail (due to better formatting there)
  3. Sent reply
  4. Marked convesation to Archive (in Gmail).
  5. Switched to Mailspring, and found this conversation with a number of undeleted drafts in Inbox… and in few seconds all the conversation disappeared. Missing in All mail. Missing in Sent. It’s lost. But still exists in Gmail.

Don’t know if it helps. But I’m unable to intentionally reproduce it.

That sounds a lot like this: Disappearing Emails / Desync

So, i have replicated the issue! I can’t post an attachment here so I guess I’ll paste in the code where I think it happened.

What I did:

  1. Replied to an email
  2. Moved the email to a chosen folder (while mail was delay sent)
  3. Mail on top of inbox also moved to the same folder!

It should be somewhere in this log. I have the console still open and the file saved as. I’m not an IT-expert so I don’t know if this is helpful…

    mailsync-process.ts:312 Sending to mailsync f16738c9 {type: "queue-task", task: ChangeUnreadTask}
    mailsync-process.ts:312 Sending to mailsync f16738c9 {type: "queue-task", task: SyncbackDraftTask}
    mailsync-process.ts:312 Sending to mailsync f16738c9 {type: "queue-task", task: SyncbackDraftTask}
    mailsync-process.ts:312 Sending to mailsync f16738c9 {type: "queue-task", task: SyncbackDraftTask}
    mailsync-process.ts:312 Sending to mailsync f16738c9 {type: "queue-task", task: ChangeLabelsTask}
    database-store.ts:212  _executeInBackground took more than 100ms - 179msec (6msec in background): SELECT `Thread`.`id` FROM `Thread` WHERE `id` IN (SELECT `id` FROM `ThreadCategory` WHERE `ThreadCategory`.`value` IN ('FJcsFKYveYee62AAy2i6mTyYL87XSGC1ibRZdG63G') AND `ThreadCategory`.`inAllMail` != 0  ORDER BY `ThreadCategory`.`lastMessageReceivedTimestamp` DESC LIMIT 200 OFFSET 0)  ORDER BY `Thread`.`lastMessageReceivedTimestamp` DESC
    mailsync-process.ts:312 Sending to mailsync f16738c9 {type: "queue-task", task: ChangeUnreadTask}
    mailsync-process.ts:312 Sending to mailsync f16738c9 {type: "queue-task", task: SyncbackDraftTask}
    mailsync-process.ts:312 Sending to mailsync f16738c9 {type: "queue-task", task: SendDraftTask}
    mailsync-process.ts:312 Sending to mailsync f16738c9 {type: "queue-task", task: SendFeatureUsageEventTask}
    mailsync-process.ts:312 Sending to mailsync f16738c9 {type: "queue-task", task: SendFeatureUsageEventTask}

So:

  • 3x SyncbackDraftTask: correlates to my mail I was typing out.
  • ChangeLabelsTask: moving the mail I just answered to the folder (label to add: my folder, label to remove: “inbox”)
  • executeBackground: I don’t understand.
  • ChangeUnreadTask: was probably next mail in my inbox.
  • SyncbackDraftTask: correlates to the mail I sent again
  • SendDraftTask: correlates to the mail I sent
  • 2x SendFeatureUsageEventTask: I don’t understand, I guess the mail tracker that’s added?
1 Like

I believe this is also related to these issues:

It seems like you just copy & pasted the logs from the developer console. Unfortunately, there is the information missing, which e-mail those tasks belong to. Can you try to get the logs in full using the following instruction:

  1. Go to “Developer” > “Toggle Developer Tools”
  2. Chose the “Console” tab
  3. Reproduce the Issue
  4. Do a right click inside the console and click “Save as”
  5. Clear any personal information from the debug file that you now have created
  6. Attach the file here

Can you additionally provide the Mailsync logs when this happens again? Then we can correlate these two log files and see if it is a frontend problem or an issue in the sync engine.

  1. Go to your Mailspring User Directory:
    • Mac: ~/Library/Application Support/Mailspring
    • Windows: C:\Users\<Your User>\AppData\Roaming\Mailspring
    • Linux: $XDG_CONFIG_HOME/Mailspring or ~/.config/Mailspring
  2. Look for the file mailsync-xxxxxxxx.log wheras the xxxxxxxx denote the internal id of your e-mail account
  3. Attach the file here

Thanks again!

Hi, I did what you said and did a “save as” from the console. But the lines I copied are from that file. I better did do a copy of the console because there’s more information in there then in my saved log. Is there another way to save the console log? Because the file I get when I do a “save as” from the console is a -xxxxxxxx.log file…