Closed Bug 407117 Opened 17 years ago Closed 16 years ago

Make it possible to restore all but one tab

Categories

(Firefox :: Session Restore, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: bzbarsky, Unassigned)

References

Details

Right now, if a user crashes, he gets two options when restarting:

1)  Restore everything
2)  Restore nothing

In most cases, he wants option 1.  But if he happened to open a page that crashes reliably, then option 2 is the only one that will allow the user to make progress.

Emma recently bemoaned the fact that she runs into this with some regularity on some sites thanks to the tender mercies of the Quicktime plug-in.  What she'd really like is a way to restore all the pages except the one that she knows crashed.  She'd be happy to select it from a list or some such (as in, she's not expecting the browser to know which page caused the crash).

Not sure how to create good UI for this, but the functionality would be great to have.
Classic solution would be to have a "Details" expander on the "Restore Session" prompt which displays a tab tree (per window) including last active tab titles and favicons and at the side checkboxes allowing to (un)select them individually.

A more elegant solution would IMO be to track the tabs' loading states and mark them as "on-trial" for about five seconds after "onload" so that when we restore after a crash, we can display an error page instead ("this page might have caused the crash") from which the user can still either navigate away or try to open that last visited page again. Once we do that, we might even completely ditch the "Restore Session" prompt...

For reference: See http://www.mozdev.org/source/browse/sessionmanager/src/sessionmanager/components/crashrecovery.js.diff?r1=text&tr1=1.12&r2=text&tr2=1.15 for a simple implementation which didn't make it into SessionStore.

Currently we rely on the fact that SessionStore only saves the active state to disk every 10 seconds so that a crashy page just shouldn't make it into that file - and additionally we restore the tabs sequentially (last selected first then from left to right) so that users who are quick enough can still close a potentially crashy tab before it starts loading (of course provided they know which one it was).
Severity: normal → enhancement
Nightly Tester Tools also has a solution to this.  In that solution you pick #2.  There is an added menu item in the history menu called "Restore from last session..." which opens a dialog to choose what to restore.  I think the discoverability of this solution is poor though.  
I'm not sure which I like best but another option would be to have an extension add a button to that dialog to save the whole session that would be restored and then load just the homepage and then you can go to the extension's UI to pick and choose at your leisure.
Bug 425376 has been marked as a duplicate of this bug.  While they are very similar, 425376 was broader; it suggested:

(a) Giving the option to BOOKMARK or reopen tabs when recovering from a crash
(b) the option to bookmark all tabs and all windows on exit so you can save your state, shut down, then restore it later.  "Exit and Save State" or something.

I considered making two separate reports for a & b, but functionality a would basically require functionality #b.

I REALLY want #b and it's not reflected in this bug anywhere.

Please either maintain the two bugs separately, or merge this bug into 425376.  Because merging that one into this loses at least 50% of the point of the bug.
Depends on: 426123
The issue with the duplicate bug is resolved now.  For THIS bug, I propose:

When recovering from a crash give the user the choice of either:
(a) restoring the crashed session; OR
(b) bookmarking the crashed session (to a folder entitled something like "Recovered - <date><time>").

Thanks.
Depends on: 448976
comment #7 is nice not only for when restoring a tab that causes crashes, but also when you have a lot of tabs open (tens / hundreds) and get a crash, and the next time you need to get on firefox a bit faster than the up to 20 minutes it takes to reload ALL the tabs (yeah I've timed it before). It's also relatively intuitive, simple, and easy to program in. +1

This was FIXED in bug 448976: Just uncheck the tab you don't want restored before clicking on "Restore Previous Session".
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.