Re: Gnus sometimes fails to see a message that is actually in IMAP
Eric Abrahamsen <[email protected]> Fri, 24 May 2024 10:29:43 -0700
| Newsgroups | gmane.emacs.gnus.general |
|---|---|
| Message-ID | <[email protected]> |
Eric Abrahamsen <[email protected]> writes: > Eric Abrahamsen <[email protected]> writes: > >> Greg Troxel <[email protected]> writes: >> >> Wow, this is a ton of information! Thanks for all the background. Kudos >> on using TLS on your own machine, something I have never had the >> patience to set up. >> >>> I have changed the subject, as I am not at all sure that my problem is >>> the same as "reports new messages but not showing them on IMAP server". >>> In my case, it seems to me as if there is a filter between gnus and the >>> IMAP server that redacts a message. > > Brief update -- when I started looking further into this, I realized > that I have the same issue with the INBOX of one of my main IMAP > accounts. I'd just not noticed because I have 486 unread messages in > that folder :( Well, 483 according to Gnus. > > This account includes a remote Dovecot on the server that actually > receives mail, and two local machines that each have their own local > Dovecot, and Emacs/Gnus. The remote and local Dovecots are synced with > mbsync, and both remote and local report 486 unread messages when > checked with doveadm. > > My other local machine is currently not booting, but I'll be very > curious to see if Gnus on that machine is wrong in the same way > (a deterministic bug) or not (space gremlins). > > Otherwise, the difference between "g" and "M-g", for IMAP servers that > support qresync, is that "g" goes the qresync route: > > EXAMINE <group> (QRESYNC (<uidvalidity> <modseq>)) > > while "M-g" does a full fetch of flags: > > "UID FETCH 1:* FLAGS" > > So that's a pretty strong indicator that there's a bug in the qresync > branch of `nnimap-update-qresync-info'. Some have reported bugs that > *weren't* resolved by "M-g", so there will likely be a few things to > fix, but one thing at a time. I'm currently looking with deep suspicion at the very beginning of that function: ;; Add all the vanished articles to the list of read articles. (setf (gnus-info-read info) (range-add-list (range-add-list (range-concat (gnus-info-read info) vanished) (cdr (assq '%Flagged flags))) (cdr (assq '%Seen flags))))