Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#1487103 closed Bugs (worksforme)

"Could not move the message" displayed when a message is successfully moved or deleted in threaded view

Reported by: michaelm Owned by:
Priority: 5 Milestone: 0.5-beta
Component: User Interface Version: git-master
Severity: normal Keywords:
Cc:

Description

Revision: 4173

Repro:

  1. View the inbox in threaded view.
  2. Click on any message (within a thread, root message or standalone message).
  3. Click the delete button above the list or drag the message into another mailbox.

Alternative Repro:

  1. Read a message by double clicking it.
  2. Click the delete icon or move the message to another mailbox.

Expected:

  • Message successfully moved to that folder.
  • No error message should be displayed.

Actual:

  • Message successfully moved to that folder (as expected).
  • Error message "Could not move the message" displayed.
  • In the alternative repro the user is actually left viewing the message they deleted/moved, though when returning to the list it is gone.

Attachments (4)

imap.log (16.5 KB) - added by michaelm 3 years ago.
log with imap_debug enabled
imap-take2.log (15.5 KB) - added by michaelm 3 years ago.
imaap-take3-notThreaded.log (11.0 KB) - added by michaelm 3 years ago.
imap-take3-threaded.log (19.6 KB) - added by michaelm 3 years ago.

Download all attachments as: .zip

Change History (20)

comment:1 Changed 3 years ago by michaelm

Lets try this again... apparently new lines are stripped out.

Revision 4173

Repro

  1. View the inbox in threaded view.
  2. Click on any message (within a thread, root message or standalone message).
  3. Click the delete button above the list or drag the message into another mailbox.

Alternative Repro

  1. Read a message by double clicking it.
  2. Click the delete icon or move the message to another mailbox.

Expected

  • Message successfully moved to that folder.
  • No error message should be displayed.

Actual

  • Message successfully moved to that folder (as expected).
  • Error message "Could not move the message" displayed.
  • In the alternative repro the user is actually left viewing the message they deleted/moved, though when returning to the list it is gone.

comment:2 Changed 3 years ago by alec

  • Milestone changed from later to 0.5-beta

I'm unable to reproduce. Enable imap_debug and attach the log.

Changed 3 years ago by michaelm

log with imap_debug enabled

comment:3 Changed 3 years ago by michaelm

See attached log file. I don't see any mention of a failure, and the message does move/delete successfully, so the error may be coming from higher up in the php/js code.

comment:4 Changed 3 years ago by michaelm

FireBug? console receives the following messages at the time of the error:

HTTP POST: ./?_task=mail&_action=moveto
this.list_mailbox(); this.display_message("Could not move the message","error"); 

comment:5 Changed 3 years ago by alec

I don't see a server response for "A0008 UID STORE 45501 +FLAGS.SILENT (\Deleted)". There should be also "A0009 UID EXPUNGE 45501".

comment:6 Changed 3 years ago by michaelm

To clarify, my delete settings are to move deleted messages to the Deleted Items mailbox instead of deleting immediately.

What other information can I provide?

comment:7 Changed 3 years ago by michaelm

program/include/rcube_imap.php is returning false ($moved = false)
2487 move messages
2488 $moved = $this->conn->move($uids, $from_mbox, $to_mbox);

Everything works fine in the standard list mode, its when in threaded mode this happens.

comment:8 Changed 3 years ago by michaelm

The above line in rcube_imap.php is failing because the following is returning false:

program/include/rcube_imap_generic.php
1697     function move($messages, $from, $to)
1698     {   
...
1709             return $this->delete($from, $messages)

Because delete returns false

program/include/rcube_imap_generic.php
1673     function delete($mailbox, $messages) {
1674       return $this->modFlag($mailbox, $messages, 'DELETED', '+');
1675     }

Because modFlag returns false: $result in modFlag == UNKNOWN_ERROR (-4). But again only when in threaded view.

program/include/rcube_imap_generic.php
1642     function modFlag($mailbox, $messages, $flag, $mod)
1643     {   
...
1658         $result = $this->execute('UID STORE', array(
1659             $this->compressMessageSet($messages), $mod . 'FLAGS.SILENT', "($flag)"),
1660             self::COMMAND_NORESPONSE);
1661     
1662       return ($result == self::ERROR_OK);

That's about as far as I can trace it without knowing more about how all this works.

comment:9 Changed 3 years ago by michaelm

By UNKNOWN_ERROR I mean ERROR_UNKNOWN

program/include/rcube_imap_generic.php
117     const ERROR_UNKNOWN = -4;

comment:10 Changed 3 years ago by alec

As I said the log is not complete. So, hard to guess.

comment:11 Changed 3 years ago by michaelm

Sorry, I didn't understand that you were saying the log was incomplete, I thought you were pointing out what you expected vs what was received as a starting point for figuring out why it failed.

That was the complete log that was generated for a message delete. I will repeat and post again.

Changed 3 years ago by michaelm

comment:12 Changed 3 years ago by michaelm

Both logs have
{{
A0008 UID STORE 45512 +FLAGS.SILENT (\Deleted)
}}
But neither have the expunge.

comment:13 Changed 3 years ago by alec

There should be a response from server for this command. It looks like your server looses connection in this moment.

Changed 3 years ago by michaelm

Changed 3 years ago by michaelm

comment:14 Changed 3 years ago by michaelm

Okay, I see what you mean. The last two (take3) logs attached are of deleting the same message, and a quick diff shows that the server responds differently to setting the delete flag in threaded mode compared to not threaded mode.

Lets assume roundcube works as it should (even though my other email clients don't have a problem with the server output), and I'll upgrade dovecot to see if that fixes the issue, and if not create a bug report with them.

Thanks for your help!
Michael

comment:15 Changed 3 years ago by alec

  • Resolution set to worksforme
  • Status changed from new to closed

What dovecot version are you using?

comment:16 Changed 3 years ago by michaelm

Presently 1.2.3 (which is quite out of date) as 1.2.15 and 2.0.6 are now out.

Note: See TracTickets for help on using tickets.