#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:
- View the inbox in threaded view.
- Click on any message (within a thread, root message or standalone message).
- Click the delete button above the list or drag the message into another mailbox.
Alternative Repro:
- Read a message by double clicking it.
- 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)
Change History (20)
comment:1 Changed 3 years ago by michaelm
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.
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.

Lets try this again... apparently new lines are stripped out.
Revision 4173
Repro
Alternative Repro
Expected
Actual