imap: fix flags update
Fixes updating the flags in the imap backend. Before, the silent flag was set incorrectly by75fc42e
("imap: send message info updates for bulk flag ops") which caused some imap servers to not send the updated flags. By disabling the silent flag, the flag update will return a corrsponding value that we can send back to the message store to update the flags correctly. Fixes:75fc42e
("imap: send message info updates for bulk flag ops") Reported-by: Jens Grassel <jens@wegtam.com> Signed-off-by: Koni Marti <koni.marti@gmail.com> Tested-by: Jens Grassel <jens@wegtam.com> Acked-by: Robin Jarry <robin@jarry.cc>
This commit is contained in:
parent
d3b62dd3b0
commit
d99b6081f7
1 changed files with 4 additions and 4 deletions
|
@ -30,10 +30,10 @@ func (imapw *IMAPWorker) handleDeleteMessages(msg *types.DeleteMessages) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (imapw *IMAPWorker) handleAnsweredMessages(msg *types.AnsweredMessages) {
|
func (imapw *IMAPWorker) handleAnsweredMessages(msg *types.AnsweredMessages) {
|
||||||
item := imap.FormatFlagsOp(imap.AddFlags, true)
|
item := imap.FormatFlagsOp(imap.AddFlags, false)
|
||||||
flags := []interface{}{imap.AnsweredFlag}
|
flags := []interface{}{imap.AnsweredFlag}
|
||||||
if !msg.Answered {
|
if !msg.Answered {
|
||||||
item = imap.FormatFlagsOp(imap.RemoveFlags, true)
|
item = imap.FormatFlagsOp(imap.RemoveFlags, false)
|
||||||
flags = []interface{}{imap.AnsweredFlag}
|
flags = []interface{}{imap.AnsweredFlag}
|
||||||
}
|
}
|
||||||
imapw.handleStoreOps(msg, msg.Uids, item, flags,
|
imapw.handleStoreOps(msg, msg.Uids, item, flags,
|
||||||
|
@ -51,9 +51,9 @@ func (imapw *IMAPWorker) handleAnsweredMessages(msg *types.AnsweredMessages) {
|
||||||
|
|
||||||
func (imapw *IMAPWorker) handleFlagMessages(msg *types.FlagMessages) {
|
func (imapw *IMAPWorker) handleFlagMessages(msg *types.FlagMessages) {
|
||||||
flags := []interface{}{flagToImap[msg.Flag]}
|
flags := []interface{}{flagToImap[msg.Flag]}
|
||||||
item := imap.FormatFlagsOp(imap.AddFlags, true)
|
item := imap.FormatFlagsOp(imap.AddFlags, false)
|
||||||
if !msg.Enable {
|
if !msg.Enable {
|
||||||
item = imap.FormatFlagsOp(imap.RemoveFlags, true)
|
item = imap.FormatFlagsOp(imap.RemoveFlags, false)
|
||||||
}
|
}
|
||||||
imapw.handleStoreOps(msg, msg.Uids, item, flags,
|
imapw.handleStoreOps(msg, msg.Uids, item, flags,
|
||||||
func(_msg *imap.Message) error {
|
func(_msg *imap.Message) error {
|
||||||
|
|
Loading…
Reference in a new issue