Of all of the bugs that plague newsgroups in Thunderbird, perhaps the most frequently reported issue (and the most annoying to me) involves the constant apparent incorrectness of newsgroup counts. A lot of this can be traced to one of two problems: either the existence of expired/canceled messages or the existence of filters or killed threads (bugs 71728 and 311774, resp.).

The best way to fix the latter would be to force the normal "get new mail" hooks to actually get the message headers, process filters, etc., instead of just asking the news server for how many new messages there are (which is what we do now).

The primary consequence of this action is that biff will involve more traffic: it will download sufficient information to be able to apply the filters. This is the action that is normally taken when you select the newsgroup, so the only people it would likely impact are those who monitor unread counts in newsgroups but do not actively read those newsgroups. For others, it may result in a slight decrease in traffic, as the code querying the server for how many unread messages it holds would not be run.

There also exist two hidden preferences that control newsgroup download:
news.update_unread_on_expand, which, if false, would only update unread counts when you select the newsgroups; and news.get_messages_on_select, which, if false, would not retrieve the messages on selection of newsgroups. I believe the latter preference broke at some point since its introduction, in the sense that UI was lost that would make that would allow one to update the messages.

I can choose whether or not to keep these preferences with their present functionality, and I can also hear arguments for why the default values may want to be changed (they are both true for the present). It would also be possible for me to keep the current behavior enabled via a preference, but I am personally interested in ripping out the old code, so I would need to see evidence that it is sufficiently desired.

In short, my proposal, and the default if no one speaks up, is:
1. Make biff (check server on startup/after X minutes) run filters like selecting newsgroups currently does. 2. Keep news.update_unread_on_expand (which would not affect the biff downloads), and change the default to false (which would be more consistent with the other server types in TB/SM) [1]. 3. Keep news.get_messages_on_select (which would only affect manual selection of the group), and change the default to false (again more internally consistent). 4. Not provide a preference (global or per-server) to only retrieve a likely incorrect count of newsgroup messages.


[1] The saved-state expanded server on startup (new to TB 3) acts as a manual folder expansion, which would too be affected by this preference, which is also an argument for changing the default to false.
support-seamonkey mailing list

Reply via email to