From: itaylor@uark.edu (Ian Taylor)
Subject: [sup-talk] [PATCH] Fix for imap based sources
Date: Thu, 01 Nov 2007 20:14:55 -0400 [thread overview]
Message-ID: <1193962132-sup-5058@silver> (raw)
In-Reply-To: <47206F23.6080400@quintic.co.uk>
Excerpts from Marcus Williams's message of Thu Oct 25 06:25:39 -0400 2007:
> Hi -
>
> Apply this one at your peril. This patch makes the unread status
> correct on sources that arent mbox - unfortunately I cant test on
> Maildir so if someone wants to confirm it still works that would be
> good :)
>
> If you implement a new source, it means you now have to add a
> marked_read? method to your source as well. Argument is a message id.
> message.rb now calls this when source_marked_read is called.
>
> It also fixes what I think is a bug in the imap sup source - the imap
> "/Seen" flag means a message has been read from the way I interpret the
> RFC, the "/Recent" flag is what you need to check for "unreadness".
>
> This fixes my problem with imap (in that all new messages were getting
> marked as read). To get just this fix all you have to do is replace Seen
> for Recent in the imap.rb. The line currently looks like:
>
> labels = { :Seen => :unread,
>
> and it should be
>
> labels = { :Recent => :unread,
>
>
>
> Marcus
That doesn't seem quite right to me. The RFC seems to state that the
'Recent' flag is more of a notification that this is the first session
to see the message.
What about this instead?
labels = { :Flagged => :starred,
:Deleted => :deleted
}.inject(@labels) do |cur, (imap, sup)|
cur + (state[:flags].include?(imap) ? [sup] : [])
end
labels += [:unread] unless state[:flags].include?(:Seen)
Seems like we want to tag it as unread if it isn't marked as 'Seen'.
--
Ian Taylor
next prev parent reply other threads:[~2007-11-02 0:14 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-25 10:25 Marcus Williams
2007-11-02 0:14 ` Ian Taylor [this message]
2007-11-02 1:19 ` Colin Bell
[not found] <0ae09eda00048831@IMSS-WIN>
2007-10-25 12:35 ` Marcus Williams
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1193962132-sup-5058@silver \
--to=itaylor@uark.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox