Open Bug 121209 Opened 18 years ago Updated 7 years ago

Hard to match error dialogs to "owning" tab

Categories

(SeaMonkey :: Tabbed Browser, defect)

x86
All
defect
Not set

Tracking

(Not tracked)

People

(Reporter: hakon_, Unassigned)

References

(Depends on 1 open bug)

Details

I don't think that popup windows (like notifications and so) should show other
than when you are in the respective tab. Here's an example:
I have several tabs open with mail composition pages. I submit some of the mails
simultaneously. Then I get a popup notification saying: "the mail wasn't sent
due to some error". But then I don't know which mail wasn't sent. If it had been
a layer of it's own tab, then it wouldn't have been any problem.
The same thing about the pasword manager and login popups.
We don't support loading mailnews (or any other of the products) in tabs. 
That's just a hack and basically use at your own risk.

This is very likely a wontfix but I will let jag decide for sure.
Sorry, I didn't make myself clear. I was referring to a specific webmail service.
But that's not important. It was just in order to make an example. The thing I
meant was javascript alert and such alikes.
Ah okay, that's slightly different, but I still think this is a wontfix.  The
modals contain useful information.  If I have my tabs set to load in background,
I will want to know what is going on in other tabs.  If it can't connect, I'd
like to know when it happens.  I see your point, but I dunno.  It doesn't seem
right to me.

I will confirm this though as an RFE (no dupes found)
Severity: minor → enhancement
Status: UNCONFIRMED → NEW
Ever confirmed: true
Maybe a "taskbar notification" for tabs could be an idea. Like in MS Windows,
the tabs could have a blue highlight flashing (or something else, it doesn't
have to be that drastic) when there's a new alert.
somewhere out there are a few rfes which might be of interest, one would put
errors into the sidebar/jsconsole, and another would make errors appear inline
to the page.  ideally the fix for all of them will rely on one implementation of
an error service...
Well, there is a real problem here that needs to be addressed, changing the
summary to what I see as the basic issue.
Keywords: nsbeta1
Summary: Popup notifications shouldn't be cross-tab → Hard to match error dialogs to "owning" tab
Target Milestone: --- → mozilla1.0
nsbeta1+ per ADT triage team.  Usability and possibly security issues here.  cc
marlon, mstoltz for UE input
Keywords: nsbeta1nsbeta1+
how/why would this be any different than receiving errors from a window which is in the background?  if it is different, then maybe one 
idea is that we could provide an error icon/notification in the tab area which shows that the page in this tab requires attention before it's 
process can proceed.
Blocks: 128632
nsbeta1- per ADT/Nav triage.
Keywords: nsbeta1+nsbeta1-
Marlon, I guess it is equivalent, except that background windows might be at
least partially visible, whereas pages on background tabs are not.  Is there a
bug for the generic issue of not being able to associate the popup/error/window
with the spawning web page?
Target Milestone: mozilla1.0 → mozilla1.0.1
On second thought, it is possible to determine which window spawned the
popup/error/login window, by cycling between the windows.  The owner is the one
that it appears in front of when you activate it.  There is no equivalent method
for tabs.  This is really a defect, not an enhancement request.
Severity: enhancement → normal
yes i see what you are saying. so it seems that some sort of alert notification
should take place in the tab area. we should replace the tab proxy/favicon with
a mini alert icon.  Then the alert might need a shortcut to bring the
troublesome tab to the foreground.
give the tab a style and let the skin author decide how to handle it, but if i 
were the skin author, i'd color the tab background.  whacking the icon would be 
bad.
the real fix is of course not to have error-dialogs at all, i.e. fix bug 28586
In reply to the comment above:
Yeah but we're not only talking about Mozilla's internal error messages, but
also about javascript alerts coming from the dhtml code.
As much as I understand that those can be very annoying sometimes, I do not
think that they should be replaced by a plain html page.
Depends on: errorpages
this bug was mentioned in bug 123913 

    [RFE] tab-specific alerts are app-modal and should be tab-modal
    (need "sheets" widgets on non-MacOSX)

which depends on bug 123908

    tab-specific alerts are window-modal (in Mac OS X)
    and should be tab-modal

Some of the alternatives discussed here were mentioned as possible alternative
fixes for bug 123913. I just thought I'd repeat an observation made there as
relevant to this discussion.

It sounds like most of the talk here is concerned with

    I have multiple tabs open
    I want to only see alerts from the foreground tab
    I want notification when background tabs have pending alerts

The nature of solutions seem something like

    find a way to supress background alerts
    find a way to notify that they're pending

That sounds like it does the job for this bug. However, you might also want to
keep in mind the related class of bugs concerned with alert modality. If you've
got a javascript that throws alert after alert after alert, then you could
potentially be "locked" into that tab's content dismissing an endless stream of
javascript alert boxes. This bug doesn't address that problem (and I'm not
saying that it should). You might want to keep in mind this modality problem so
that whatever solution is implemented will be compatible with content-modal
alerts. On the other hand, if nobody is really looking at content-modal alerts
right now, then I suppose it's better to just fix this bug and burn the other
bridge when you get to it.

-matt
*** Bug 151836 has been marked as a duplicate of this bug. ***
QA Contact: sairuh → pmac
*** Bug 215758 has been marked as a duplicate of this bug. ***
*** Bug 195648 has been marked as a duplicate of this bug. ***
retargeting
Target Milestone: mozilla1.0.1 → Future
*** Bug 230847 has been marked as a duplicate of this bug. ***
Blocks: SA12712
I think something similar to the taskbar blink you get when an app requests
focus in Windows would be ideal, not necessarily animated for accessibility
sake, but definitely highlighted in some way..

This would be such a big usability improvement IMHO and should remove all
confusion as to which tab a dialog box was initiated from.
Is this still an issue given that most common failures should now result in
error pages instead of dialogs?
(In reply to comment #23)
> Is this still an issue given that most common failures should now result in
> error pages instead of dialogs?

Yes; note the word 'most' in you comment. There are still a fair few alert
errors. Also, script alerts.
(In reply to comment #23)
> Is this still an issue given that most common failures should now result in
> error pages instead of dialogs?

A specific example of an application-generated error dialog which is not an error page is the "Security error: Domain Name Mismatch" modal. This is necessarily a dialog rather than a page because user interaction is required. Hence this bug is still relevant.
I propose replacing the browser generated, page related, error dialogs with red information bars; akin to IE7's blocked content notification. Warnings could be orange, and information yellow or blue.
Note there is also the basic auth dialog and "Repost data?" dialog. I think repost switches to the tab in question so it might be apparent what is reposted but hides the content you were viewing. However, most dialogs (especially SSL errors) do not so you don't have any idea what page they relate to.

The error pages (for HTTP errors) change the tab icon into an exclamation mark inside a yellow triangle. I am not sure if this just a style hint rendered this way by the default skin or it is hardcoded.

However, I suggest that all other errors should render this way, queries that have to be answered for the main page to load (basic auth, cookie queries, ssl errors, repost) should yield a query page with a distinct icon (perhaps a question tag on a red background). 

Note that rendering repost as a query page would make it apparent what is reposted and even make it possible skip easily to an earlier page in the history that does not have to be reposted. 

Errors and queries that are related only to part of the page (such as an image or subframe) should result in an info bar and the rest of the page should continue loading. This is already implemented in noscript and would solve Bug 328052.

Note that rendering the info bar at the bottom of the page is a great performance win as the page does not have to be completely redrawn when the bar appears or disappears. I is a sad fact that Firefox (and even IE) redraw this slowly even on relatively modern hardware.
Product: Core → SeaMonkey
Assignee: jag → nobody
QA Contact: pmac → tabbed-browser
Target Milestone: Future → ---
You need to log in before you can comment on or make changes to this bug.