Post by Eric AbrahamsenPost by Dan ChristensenPost by Eric AbrahamsenBut I would have thought that the active values for each group are
stored on disk, so if you don't copy those over as well, Gnus will get
confused about how many messages are in each group.
For accessing an IMAP server, there's no need to sync Gnus data. That's
sort of the point of using IMAP for your mail: multiple clients can
independently access it and stay in sync with each other via the IMAP
server.
Post by Eric Abrahamsenbut as you have a local server on each system, they may be numbering
messages differently depending on how they synchronise with the real
IMAP server. As a result, the counts and various data structures stored
within the newsrc.eld file may not be consistent between machines?
Right. When you are accessing two different IMAP servers (even if
they are synced behind the scenes), you definitely don't want to
sync the Gnus data, since article numbers won't match. For example, if
you tick an article in once Gnus instance, a different article may show
up as ticked in the other.
Okay, I've received (and marked) a bunch of mail on the desktop (now my
primary machine), after not having touched the laptop for a day. Right
now the desktop's Gnus installation is showing a single unread message
in one account's INBOX. I haven't copied any Gnus-related files from
desktop to laptop.
Now I go to my laptop, boot, run isync, then start Gnus. I get the
unread counts that I would expect if Gnus was keeping track of which
messages I'd read _on this machine_. Except for the sent mail folder of
one of my accounts, which shows 3000+ unread messages, a number that
doesn't seem to correspond to anything.
After thinking about this for a bit, I think I have a partial
explanation, and it's related to Gmail's emulation of IMAP folders.
I do client-side splitting. So I sync gmail with dovecot, then check
mail with Gnus. Gnus splits the mail, and tells dovecot to *remove* the
split mail from INBOX, and put it into another folder.
Next time I sync, dovecot and isync tell gmail to do the same thing. (I
don't know how IMAP works -- is it a "move" operation, or a "remove from
one group and add to another" operation? And when does the \Seen flag
get added?)
Gmail only does half of what it's told: it "adds" the new folder to the
message (as a label), but doesn't remove it from INBOX. This explains
the slowly-diverging folder message counts between my dovecot and Gmail.
It also helps explain the high unread-message count in my Gmail inbox
(via webmail): the messages must be first getting moved, then flagged as
\Seen, so the message that stays behind in Gmail's INBOX never gets
flagged.
When I sync on another computer, Gmail now has two copies of the
previously-split messages: one still in the INBOX, and one in the
destination folder, and both of these messages come down to dovecot,
then to Gnus. From what I can tell, neither has been marked \Seen, as
they show up as unread in both places in Gnus.
This still doesn't explain the shifting UID numbers, though.
Perhaps this is something I can fix by changing how isync talks to Gmail
(ie, sync directionality and all that). I don't know.
E
Post by Eric AbrahamsenThe UIDs seem to remain the same -- at least my earlier ticked messages
are the same on both machines. But I'm having another issue with
something in my mail chain (gmail <-> isync <-> dovecot <-> gnus)
re-setting UIDs for previously received messages, something that I just
reported yesterday on the isync mailing list[1]. I can see now that, after
I did a couple of syncs concurrently on both machines, mail I received
on the laptop is not appearing on the desktop -- presumably because the
UID of the message was changed, then incremented, but the UIDVALIDITY of
the folder was untouched. This is a pretty big bug, but in which I'm not
sure.
Lastly, and also weird: I signed up for an outlook.com account so I
could test the other issue, about searching for non-ascii characters via
IMAP. I connected Gnus to that account directly, not via isync/dovecot.
When I first restarted Gnus, it showed the unread count for that
account's INBOX as 10004, which was the most recent UID, not the unread
count (why outlook starts its UIDs at 10000 I don't know). After
clearing that, it's behaving normally.
So something weird is happening, or many weird things. Gnus has
obviously got some remaining strangeness about group unread counts, but
I'm inclined to blame the shifting UIDs on the interaction between
dovecot, isync, and gmail. The whole thing is a mystery to me. I hope
Oswald will respond on the isync list, and I'll look into Gnus' unread
counts this weekend. Otherwise, it's back to work!
Thanks,
Eric
[1]: http://sourceforge.net/p/isync/mailman/message/33402006/