Open Bug 718341 Opened 12 years ago Updated 2 years ago

Restored news message tabs don't hide inappropriate buttons

Categories

(Thunderbird :: Message Reader UI, defect)

defect

Tracking

(Not tracked)

People

(Reporter: squib, Unassigned)

Details

Steps to reproduce:

1) Open an NNTP message in a tab
2) Restart Thunderbird
3) Select the (restored) NNTP message tab

Results:

"Junk" and "Delete" buttons are shown

Expected results:

"Junk" and "Delete" buttons are hidden
Similar issue was observed on RSS feeds. "Junk" was added after restart.

Content in session.js of tab for local mail, news article, and rss feed.
> {"mode":"message","state":{"messageURI":"mailbox-message://x@x.x.x/Inbox#0"},"ext":{}}
> {"mode":"message","state":{"messageURI":"news-message://x.x.x/mozilla.events#212"},"ext":{}}
> {"mode":"message","state":{"messageURI":"mailbox-message://nobody@Feeds/%E3 ... %8B#3148"},"ext":{}}
Same "mode":"message" and other properties is used for all of mail, news, and rss, but displayed buttons after restart is different. It looks problem in "Restore" side instead of "Save" side.
I think it's ok that they use the same mode; it should be possible to hide the buttons based on the message header after loading, just like when you open the tab normally.
So, I've narrowed this down: it has to do with the synthetic view wrapper, which doesn't have enough functionality to be able to tell if a message is news or not (maybe there's more that's broken, but this is the first hurdle). Asuth, any ideas on this? I was thinking about changing dbViewWrapper's displayedFolder to be usable with synthetic views.
Oh, so I don't forget, MsgHdrSyntheticView is the relevant synthetic view.
It looks like junk status should potentially be being serviced by getCommandStatus, which points to it either being nsMsgDBView::JunkControlsEnabled's fault or perhaps us just not updating the button status at the right time?

It looks like displayedFolder might not be the problem since I don't see any calls to isNewsFolder jumping out at me.  I have no problem with us setting displayedFolder in this case since the synthetic view was created to avoid situations where the folder has filtered out the message we are trying to display, which is to say we weren't trying to avoid having a valid displayedFolder attribute.
(In reply to Andrew Sutherland (:asuth) from comment #5)
> It looks like displayedFolder might not be the problem since I don't see any
> calls to isNewsFolder jumping out at me.

Maybe not, but that does result in us hiding the References header for restored news messages in tabs. Just setting "displayedMessage" when you have a synthetic view breaks things though, so I'd have to experiment some more. Presumably, setting it violates some preconditions elsewhere.
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.