GNOME Bugzilla – Bug 442138
Pan does not show threads with new messages if earlier messages are expired
Last modified: 2017-09-27 21:46:47 UTC
Please describe the problem: In the pre-1.0 releases (currently using 0.131), if an existing thread has a parent message expired, then when new articles come into the thread, the thread does not display by default. It is necessary to view all articles, and then view new articles in order to see the new messages. Messages that are in threads that are not expired are displayed properly. Steps to reproduce: 1. Download new articles (Shift+A) 2. Go to group with new messages 3. If threads with messages older than the expiration for the group are updated with new messages, the new messages do not display. 4. Go to "View->Headers->Match Only Unread Articles" and deselect it (this will show all articles). 5. Do step 4 again to show only unread articles. 6. The missing messages are now displayed. Actual results: See step 6 above. :-) Expected results: I would expect to not have to do steps 4-6 in order to see all new articles. Does this happen every time? Yes Other information:
I've just observed this happening with messages that aren't part of a prior existing thread as well - it doesn't happen all the time with those, but seems to be a root message. Both behaviours are particularly observable in various groups on news.gmane.org
This bug may be related to a this bug reported by a Debian user: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=568332 This user proposed a patch which may apply to the current issue
Patch applied. If it's possible, test against the latest HEAD. Thanks.
Created attachment 358680 [details] [review] Patch to fix the display of threads with unread articles I am not sure if this is the same issue, but it's certainly an issue that has affected me for years (especially when reading gmane) and persists in the latest 0.142 release. I have attached a patch that has always fixed the problem for me, and I haven't seen any unforeseen effects. The following lines are directly quoted from the commit, as I wrote the patch 6 years ago and no longer remember the details: """ When using the "Show Matching Articles' Threads" and "Match Only Unread Articles" options together, some articles may not be shown at all. In particular, when the first article in a particular thread either doesn't exist or has never been retrieved, Pan ignores that thread entirely in the display. The problem seems to stem from accumulate_descendants, which will only traverse the tree if the node has an associated article. In many cases, such as above, the node doesn't have an article, but it does have child nodes which do have articles. This patch fixes the problem for me, and it has never caused a crash that I am aware of, but I am insufficiently familiar with Pan's internals to definitely proclaim this the best solution. """
Review of attachment 358680 [details] [review]: Committed as e9a1173fe187a1f1bd525e3e326d46256fd717bb, thank you!
Please reopen if this problem persists.