pan-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Pan-users] Re: Bug in Headers pane?


From: Duncan
Subject: [Pan-users] Re: Bug in Headers pane?
Date: Tue, 5 Apr 2011 12:48:27 +0000 (UTC)
User-agent: Pan/0.134 (Wait for Me; GIT 9383aac branch-testing)

Ron Johnson posted on Mon, 04 Apr 2011 21:19:55 -0500 as excerpted:

> A twist:
> 
> Downloading stuff at the moment.  Did a Group Switch and then returned
> to the original group.  The articles *are* "flipping" from Bold to
> Regular.
> 
> Since this particular set of articles is only posted to a single group,
> I wonder if the problem lies only with cross-posted articles.

Now that's a possibility, indeed.  Pan does seem to get it correct in 
cache-first mode, at least if all groups are cached before processing.  
But it could screwup in download-and-save mode under certain conditions if 
there's a race between save in the one group and download in the other.

Meanwhile, I have noticed an issue in cache-first mode, too, tho there 
it's one of operator error as much as pan problem.  If the pattern is to 
cache for one group, then process, actually deleting posts that one is 
done with, then one goes to a second group to which the posts were cross-
posted and gets new headers, the cross-posts show up there as unread, 
despite being read in the first group.  *If* the posts are still in cache, 
pan can make the cross-post connection and marks them appropriately, 
because it has both the message-IDs which it uses to track the messages in 
cache, and all the group sequence numbers, which is what newsrc files (and 
thus pan, since it uses that standard) use to track read messages.  But if 
the messages were actually deleted in the first group before entering the 
group to which they were cross-posted, pan at first only has the group 
sequence numbers and can't make the association until it actually 
downloads the messages back into cache.  At which point they're 
"magically" marked read again, because it can then make the association 
between the message-ids and the group sequence numbers for both cross-
posted groups once again.

Which as I think about it, might actually be what you're seeing in the 
download-and-save scenario as well.  Only in that case, the cache is 
presumably still set to the pan default 10 MB, meaning the actual posts 
will be deleted from cache pretty much as soon as all the segments per 
part complete and it can save them, so pretty much any visit to a group to 
which they're cross-posted will register them as not-yet-seen, thus 
requiring redownload.  As pan redownloads, it sees that it already knows 
about the individual message, but by then it already has it, so no time 
saved.  (Whether pan creates a second copy of the saved file, I don't 
know, as I don't use that mode.)

If this is indeed correct, then there's a reasonably simple solution/work-
around that definitely works in cache-first mode and will I believe work 
in download-and-save mode as well:

Before actually scheduling any full messages for download, download 
headers (really, overviews, as it's not all headers, only those in the 
overview) for all related groups, either by downloading them for all 
groups, or by visiting all related groups and downloading them for that 
group, individually.

Then schedule your downloads, and don't update headers again until the 
message downloads and saves (whether separately, cached and saved, or 
together) are fully completed.  This should allow pan to mark downloaded 
messages as read for all subscribed cross-posted groups at once.

Note that for this to work properly, you'll need to disable the 
automatically download headers at group entry, or at least, don't schedule 
downloads for any of those new headers, if you only visited the one 
group.  Only schedule downloads when headers for all related groups are 
effectively in sync.  The easiest way to ensure they're in sync is by 
using the download new headers for all groups function, which after 
completion should mean they're in sync, allowing you to schedule downloads 
without losing track of read messages due to the cross-posts.

Try testing that for awhile and see if it cures the read/unread tracking.  
I think it will, at least as long as the servers themselves are keeping 
the groups in sync.  (If the messages are seen in one group before another 
on the server, that's a server group-syncing problem, not pan's.)

Meanwhile, for multi-server users who have the same groups on several 
servers, the same base problem could appear, only slightly worse, 
especially when a particular server doesn't carry all subscribed cross-
posted groups, as variances in message propagation between servers is 
normal, and if a message hits a server only carrying part of the groups 
before it hits one carrying all of them, that message won't have a group 
sequence number for the groups that server doesn't carry, so again, the 
problem could appear.  Only now there'd be no easy way for pan to sync the 
groups since it will have seen and likely dealt with the post on the one 
group the first server carried, before it saw the post on the second 
server and both/all groups (or the group the second server carried, if 
different, tho in that case it'd have to be indirect syncing between the 
two servers, but it could still happen).

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman




reply via email to

[Prev in Thread] Current Thread [Next in Thread]