browser.warnOnQuit = true doesn't warn on quit

RESOLVED WORKSFORME

Status

()

defect
RESOLVED WORKSFORME
10 years ago
4 months ago

People

(Reporter: robarnold, Unassigned)

Tracking

Trunk
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox57- wontfix)

Details

Attachments

(1 attachment)

(Reporter)

Description

10 years ago
This caused me to lose 50+ tabs today on 3.5.

Steps to reproduce:
1. Create a new profile
2. uncheck Prefs -> Tabs -> Warn me when closing multiple tabs
3. Open up some tabs.
4. Close the browser (File -> Exit)

No warning appears despite browser.warnOnQuit being true. The tabs are not saved.
Yes, both prefs should set to true. I believe it always been like this from the beginning of the Quit dialog.
(Reporter)

Comment 2

10 years ago
Here's the use case for having tabs.warnOnClose set to false and browser.warnOnQuit set to true:
I have tabs.warnOnClose set to false so that I can easily close windows via the taskbar previews in windows 7 (knowing that I can get them back through "Recently Closed Windows"). I still want to be prompted when I exit the browser to save my tabs.
This behavior was a tradeoff that we made late in the 3.0 cycle, there are a bunch of bugs that go over this in more detail (bug 433018, bug 428843). There are some open bugs that cover related issues (bug 419009, bug 443396, bug 384907). I think this is a dupe of bug 419009?

I don't think that wanting to be warned when quitting but not when closing a window is that common, though now that we have undo-close-window I guess it's more logical.

Comment 4

10 years ago
I have 

browser.tabs.warnOnClose = true
browser.warnOnQuit = true
browser.warnOnRestart = true

If I close a window with multiple tabs I get a warning dialog box. If I choose quit from the meny, I get no warning whatsoever. If I choose "restart Firefox" from the addon update window, I get no warning whatsoever.

If my privacy options are set to "Clear history at restart", even though I have all these options set to true, and even though I have an option stating "Start Firefox with the windows/tabs from last time", an addon/browser update, or a quit due to instability issues wipes out all my open windows and tabs with no hope of recovering them.

This really makes no sense to me, and there should be a safer way to ensure that the expectations of the developers and the users don't clash in this way causing loss of data.

Updated

7 years ago
Duplicate of this bug: 676679

Updated

7 years ago
Duplicate of this bug: 676677

Updated

7 years ago
Version: 3.5 Branch → Trunk

Updated

7 years ago
Duplicate of this bug: 641500

Updated

7 years ago
Duplicate of this bug: 644693

Comment 9

7 years ago
This problem should be resolved after Bug 550559 landed
Depends on: 550559

Updated

3 years ago
Duplicate of this bug: 1149661

Updated

3 years ago
Duplicate of this bug: 1207811

Updated

3 years ago
Duplicate of this bug: 1242150

Updated

3 years ago
Duplicate of this bug: 1316842
Comment hidden (obsolete)
Comment hidden (obsolete)

Updated

2 years ago
Duplicate of this bug: 1325652

Comment 18

2 years ago
The reporter reports that he got no warning after doing his step 2 "uncheck Prefs -> Tabs -> Warn me when closing multiple tabs",

I get no warning after *checking* 'Warn me when closing multiple tabs'

Updated

2 years ago
Duplicate of this bug: 1350747

Updated

2 years ago
Duplicate of this bug: 1350747

Comment 21

2 years ago
Andre,

I just checked my browser settings and see that "browserWarnOnQuit" is true but "browser.ShowQuitWarning" is false. Is that the problem here? I have NOT made any changes in quite some time.

Thanks,

George...

Updated

2 years ago
Duplicate of this bug: 1365469

Comment 23

2 years ago
perhaps dupe of bug 419009 ?

Comment 26

2 years ago
Hi,

I reported this problem a few days ago. It appears on the released version AND the beta version of FF.

I don't understand why it's still happening. I HAVE seen it work properly several times yet, here we are again with a failure.

It usually happens when I'm in a hurry and hit the wrong key by accident. As I said, I HAVE seen it work properly and am always amazed when it fails to warn me.

Could someone please explain to me why we are "here" again?

Thanks,

George...
Because this wasn't working natively, there's been an extension to do this job for a while now.
https://addons.mozilla.org/en-US/firefox/addon/warn-before-quit/

Said extension is using the legacy extension interface and will no longer work as of Firefox 57.

The author claims the APIs necessary to make this extension work in Firefox 57 don't exist (an extension can't tell the browser to quit - which he has to do after intercepting the original Quit command to put up the dialog).  https://github.com/nigelbabu/warn-before-quit/issues/16#issuecomment-322359116

It's either time to get this fixed in core, or help the extension author find the right API to finish converting it to a WebExtension.
Duplicate of this bug: 1397605
[Tracking Requested - why for this release]: There is a workaround available for Firefox 56 and earlier.  The workaround no longer works in Firefox 57. (See comment 35).
This seems unlikely to be a priority for 57, sorry.

Comment 39

2 years ago
(In reply to Julien Cristau [:jcristau] from comment #38)
> This seems unlikely to be a priority for 57, sorry.

I've just updated to Firefox 57 (beta), and was bitten by this again, since Warn Before Quit is gone. It's a major deficiency really. Is there any plan to work on this after version 57?

Comment 40

2 years ago
Updated link describing the behaviour from Comment 10:

https://hg.mozilla.org/mozilla-central/file/934fe0bd6062/browser/components/nsBrowserGlue.js#l1248

Also pasting it here for easier search:

> There are several cases where we won't show a dialog here:
> 1. There is only 1 tab open in 1 window
> 2. The session will be restored at startup, indicated by
>    browser.startup.page == 3 or browser.sessionstore.resume_session_once == true
> 3. browser.warnOnQuit == false
> 4. The browser is currently in Private Browsing mode
> 5. The browser will be restarted.
> 
> Otherwise these are the conditions and the associated dialogs that will be shown:
> 1. aQuitType == "lastwindow" or "quit" and browser.showQuitWarning == true
>    - The quit dialog will be shown
> 2. aQuitType == "lastwindow" && browser.tabs.warnOnClose == true
>    - The "closing multiple tabs" dialog will be shown
> 
> aQuitType == "lastwindow" is overloaded. "lastwindow" is used to indicate
> "the last window is closing but we're not quitting (a non-browser window is open)"
> and also "we're quitting by closing the last window".

----

Cases 2 and 4 are the most annoying.

Comment 41

2 years ago
why is this still broken after 9 years

Comment 42

a year ago
> 2. The session will be restored at startup, indicated by
>    browser.startup.page == 3 or browser.sessionstore.resume_session_once == true

In my experience on Slashdot.org, reliance on session restore isn't reliable if the user has entered unsaved data into a form inserted into the DOM by script. Or should the bug instead be filed against session restore?

Updated

a year ago
Duplicate of this bug: 1425081

Comment 44

a year ago
This bug is seriously annoying I can't even tell you how...it was fixed in FF 54 and 55, but it's back in 56 and quantum. I accidentally quit browser all the time while raging around. Please fix this finally...

Comment 45

a year ago
I'm using FF 58.0.1 on Ubuntu 17.10.

Big picture: I keep hitting ctrl-q accidentally and losing work in progress, plus the time to restart and put all 9 of my FF windows on the correct workspaces. (It's an organizational thing.)

Having ctrl-q warn on exit would, at least, let me click "no", as a workaround to binding "Quit" to some other, less-likely-to-be-hit-accidentally key.

But, it doesn't work, and I can't remap ctrl-q.

I DON'T want to be warned. When I really do want to exit, I don't want to be warned that I'm closing all my tabs (on all my FF windows).

I WANT to be warned about hitting trying to quit via ctrl-q.

I have:
browser.showQuitWarning = true
browser.warnOnQuit = true
browser.tabs.warnOnClose = true
browser.tabs.warnOnCloseOtherTabs = true

P.S. I didn't, knowingly, set the last two browser.tabs options to true.

Comment 46

a year ago
(In reply to Damian Yerrick from comment #42)
> > 2. The session will be restored at startup, indicated by
> >    browser.startup.page == 3 or browser.sessionstore.resume_session_once == true
> 
> In my experience on Slashdot.org, reliance on session restore isn't reliable
> if the user has entered unsaved data into a form inserted into the DOM by
> script. Or should the bug instead be filed against session restore?

It should not be filed against session restore. It's a usability bug caused by *quitting without confirmation*. You can't possibly restore every single case. Even worse, take some WebGL games for instance or anything the like. Restoring is simply irrelevant, if real-time activity is disrupted by invalid quitting. So in general case, this idea of "restore rather than prevent quitting" is invalid.

This shouldn't be even a forced behavior. I.e. it can be made configurable. Those who want will have the confirmation, and those who don't want can turn it off.
Duplicate of this bug: 1445803

Comment 48

9 months ago
Have all of this set to true and still no warning on quit by ctrl+q, Firefox 60.0.2
 
browser.warnOnRestart
browser.warnOnQuit
browser.tabs.warnOnOpen
browser.tabs.warnOnCloseOtherTabs
browser.tabs.warnOnClose
browser.showQuitWarning
"Warn you when closing multiple tabs" in preferences tab

Comment 49

9 months ago
For those of us that don't want to have to restore from session each time they accidentally hit CMD-Q (and I do frequently because the Dvorak keyboard layout puts the Q right above the Command key; the only downside to using this layout), I regained my sanity by installing

    https://addons.mozilla.org/en-US/firefox/addon/disable-ctrl-q-and-cmd-q/

This add-on disables the Cmd-Q shortcut altogether. You can still quit Firefox, but you have to explicitly use the Firefox -> Quit menu item to do so.

Comment 50

9 months ago
In general, why is it so complicated to have one working setting that mandates confirmation for quit? I don't really get what prevents it.

Comment 51

9 months ago
This bug is shortly coming up on it's 10th birthday, and is beginning to sound like the The Windows Shutdown crapfest: https://moishelettvin.blogspot.com/2006/11/windows-shutdown-crapfest.html

Comment 52

8 months ago
This is something that probably takes 10 minutes to fix and causes people to lose data in their open tabs. But I guess every dev here is too busy trying to clone chrome to bother.

Comment 53

8 months ago
found the bug
there was a second OR-condition that cancelled out the warning message if session restore is turned on, instead instantly closing the browser
removing this condition fixes the issue

maybe we finally can put this 10-20 year old issue behind us now c:

Comment 54

8 months ago
Yumekui,

You are the master!

I look forward to testing this fix when it hits "production".

THANKS for all your efforts,

George...

Comment 55

8 months ago
Hope the fix is not yet in the 63.0b1 (64-bit) because on such version I still have the problem.

Comment 56

8 months ago
I've got the 63.0b2 and it is still not working. Is that normal the fix in not in there or the bug report has to be reopened?

Comment 57

8 months ago
(In reply to Rik from comment #56)
> I've got the 63.0b2 and it is still not working. Is that normal the fix in
> not in there or the bug report has to be reopened?

one of the mozilla maintainers would have to accept and/or apply the patch first I guess
I just applied the fix to my own install of firefox by compiling it
I do not have any access to merging changes into the firefox codebase

BUT it was a pretty tricky fix to make (at least for me c:) so I would not be surprised if it takes a pretty long while for stuff to happen while the maintainers look into how the fix works trying to figure it out.

Comment 58

8 months ago
(In reply to YumekuiNeru from comment #57)

> one of the mozilla maintainers would have to accept and/or apply the patch
> first I guess

You might want to identify the appropriate maintainer and tag them as a review request.

Take the “hg log” for the file you touched, look for a name that is most frequently mentioned as the reviewer in existing commits. It usually looks like “r+ <somebody>” in the commit summary line.

Updated

8 months ago
Attachment #9004028 - Flags: review?(dluca)

Comment 59

8 months ago
The bug is currently unassigned, so it means that no one from Mozilla or contributors is working on upstreaming the patch. May be someone should acknowledge first, that the patch is acceptable.
Comment on attachment 9004028 [details] [diff] [review]
0000-fixquit.patch make warn=true warn again

Redirecting to someone who works on the Firefox frontend.
Attachment #9004028 - Flags: review?(dluca) → review?(gijskruitbosch+bugs)

Comment 61

8 months ago
Comment on attachment 9004028 [details] [diff] [review]
0000-fixquit.patch make warn=true warn again

Thanks for the suggested patch.

There's a plan and UX design in bug 550559, and that'll involve more work than just changing this check. I'd take an updated patch in that bug (I'll dupe this over in a sec). It looks like you'd need to also update the label in the preferences ( https://searchfox.org/mozilla-central/rev/c3fef66a5b211ea8038c1c132706d02db408093a/browser/components/preferences/in-content/main.xul#88-89 - change the identifier for l10n there, and change the identifier and string in https://searchfox.org/mozilla-central/rev/c3fef66a5b211ea8038c1c132706d02db408093a/browser/locales/en-US/browser/preferences/preferences.ftl#179-181 ), and there may be some automated tests that need adjusting.

I'm also not sure what branch you wrote this patch against - but it wouldn't apply against nightly, because the code has changed and also checks the warnOnClose pref now (which it should probably keep doing, at least for now).

Finally, for your next patch, please could you post something generated by `hg export` or `git show` instead of just the diff, so that the commit properly credits you and includes a summary of the change (ie commit message). Thank you!
Attachment #9004028 - Flags: review?(gijskruitbosch+bugs)

Updated

8 months ago
Status: NEW → RESOLVED
Last Resolved: 8 months ago
No longer depends on: 550559
Resolution: --- → DUPLICATE
Duplicate of bug: 550559

Comment 65

6 months ago
The fix for Bug 550559 did not end up resolving this issue, browser.warnOnQuit = true still does not work with browser.tabs.warnOnClose = false.
Status: RESOLVED → REOPENED
Resolution: DUPLICATE → ---

Comment 66

6 months ago
Really? This bug is still present 8 years after I quit when it wasn't fixed? Why am I not surprised? Glad I switched but am tired of getting emails related to this bug. I thought I unsubbed to them all but I guess there's more.

Comment 67

5 months ago
I can't see any difference. Still not working.

Comment 68

5 months ago
(In reply to Kestrel from comment #65)
> The fix for Bug 550559 did not end up resolving this issue,
> browser.warnOnQuit = true still does not work with browser.tabs.warnOnClose
> = false.

After bug 1506173, there's now a separate pref, browser.sessionstore.warnOnQuit , which you can use to have a quit warning if you have session restore enabled. There's also a checkbox in the prefs/options for this feature.

If session restore is not enabled, browser.tabs.warnOnClose still governs whether you get a confirmation warning (if there are multiple tabs).

We don't intend to add a third, separate pref/warning for people who *do* want to have a quit warning, *don't* turn on session restore, and *don't* want warnings when closing windows / multiple tabs (ie making browser.tabs.warnOnClose = false + no automatic session restore + browser.warnOnQuit = true show a dialog is not something we're interested in doing. The "point" of the warning is to avoid losing tabs that you can't currently see / may have forgotten you had; from that perspective, wanting a warning for quitting but not for closing a window with multiple tabs doesn't really make sense).

Keeping this bug open doesn't really make sense given we've fixed part of it and don't want to make further changes as implied by the bug. But we don't have a "partly fixed" resolution value. So to close this, I have to pick an imperfect resolution value. I'm going to go with "works for me", because the more recent comments here, as well as the proposed patch, are all about the case where people *do* have session restore enabled, which now has an option (that is also exposed in the preferences/options, not just about:config) to do what this bug wants.
Status: REOPENED → RESOLVED
Last Resolved: 8 months ago5 months ago
Resolution: --- → WORKSFORME

Comment 69

4 months ago
we need to save on close (In some cases, not always)
We are not interested to turn in the options and each time select or deselect the option.

Comment 70

4 months ago
I can confirm, that setting browser.sessionstore.warnOnQuit = true fixes this for me. The browser won't close down without a warning when hitting Ctrl+Q! Thanks for finally fixing it.
You need to log in before you can comment on or make changes to this bug.