{"id":2501,"date":"2013-02-27T11:37:36","date_gmt":"2013-02-27T00:37:36","guid":{"rendered":"http:\/\/blog.mozilla.org\/nnethercote\/?p=2501"},"modified":"2013-02-27T14:03:40","modified_gmt":"2013-02-27T03:03:40","slug":"improving-reset-firefox","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/nnethercote\/2013\/02\/27\/improving-reset-firefox\/","title":{"rendered":"Improving &#8220;Reset Firefox&#8221;"},"content":{"rendered":"<p>I recently <a href=\"https:\/\/blog.mozilla.org\/nnethercote\/2013\/02\/22\/reset-firefox-is-wonderful\/\">wrote<\/a> about the wonderful &#8220;Reset Firefox&#8221; feature, which in one fell swoop can fix all sorts of bad behaviours.\u00a0 What follows is a number of complaints that commenters had, and some ideas about how to address them.<\/p>\n<h3>&#8220;The name is misleading&#8221;<\/h3>\n<p>It&#8217;s true.\u00a0 It sounds like it will erase all of your data and customizations.\u00a0 The <a href=\"http:\/\/support.mozilla.org\/en-US\/kb\/reset-firefox-easily-fix-most-problems\">SUMO page<\/a> says the following.<\/p>\n<blockquote><p>The Reset Firefox feature can fix many issues by restoring Firefox to its factory default state while saving your essential information.<\/p><\/blockquote>\n<p>&#8220;Factory default state&#8221; and &#8220;while saving your essential information&#8221; are two phrases that sit together awkwardly. But it may be too late to change the name now.<\/p>\n<h3>&#8220;But I have lots of configuration tweaks&#8221;<\/h3>\n<p>And they&#8217;ll all be lost.\u00a0 You can look in about:support to see &#8220;important modified preferences&#8221;.\u00a0 Or you can look at the &#8220;user set&#8221; entries in about:config.\u00a0 Or you can look at both, and wonder the two lists are different, and what the definition of &#8220;important&#8221; is.<\/p>\n<p>It would be very helpful if you could see who or what was responsible for each of those changes.\u00a0 Was it the user, via the Preferences dialog?\u00a0 The user via about:config?\u00a0 An add-on?\u00a0 Something auto-updated by core Firefox code?\u00a0 (And why do I always have dozens of &#8220;user set&#8221; preferences relating to printing, even on my Linux machine that I never print from?)<\/p>\n<p>Would an API tweak help?\u00a0 We could change the &#8220;setPref()&#8221; function (or whatever it&#8217;s called) to take an additional, optional argument that indicates who set it.\u00a0 It wouldn&#8217;t fix the problem immediately but would give a path forward.<\/p>\n<p><strong>Update: I found <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=834034\">bug 834034<\/a>, which is about preserving a user&#8217;s custom spell-check dictionary.<\/strong><\/p>\n<h3>&#8220;But I have hundreds of tabs open&#8221;<\/h3>\n<p>And they&#8217;ll all be lost, too.\u00a0 Apparently the <a href=\"https:\/\/addons.mozilla.org\/en-US\/firefox\/addon\/session-manager\/?src=search\">Session Manager<\/a> extension solves this problem.\u00a0 But that&#8217;s not obvious, and still a pain to manage.\u00a0 Maybe we could mention it in the documentation?<\/p>\n<p><strong>Update: Alexander Limi pointed me in the direction of <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=833943\">bug 833943<\/a>, which is about fixing this.<\/strong><\/p>\n<h3>&#8220;But I have Dozens of add-ons installed&#8221;<\/h3>\n<p>And one of them might be causing your problems.\u00a0 You can get the list of installed add-ons from about:addons, so this one isn&#8217;t too hard to fix up manually.<\/p>\n<h3>&#8220;I can&#8217;t see the &#8216;Reset Firefox&#8217; button&#8221; \/ &#8220;I want to reset a non-default profile&#8221;<\/h3>\n<p>The &#8220;Reset Firefox&#8221; button only shows up in the default profile.\u00a0 (And sometimes not even there &#8212; I don&#8217;t get it on my default profile on my dev machine, where I have half a dozen profiles present.)<\/p>\n<p>There&#8217;s a <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=749700\">bug<\/a> open about this.\u00a0 I could be wrong, but it doesn&#8217;t sound that hard to fix.<\/p>\n<h3>&#8220;How do I undo it if it breaks something?&#8221;<\/h3>\n<p>The SUMO page addresses this.<\/p>\n<blockquote><p>After the reset is finished, your old Firefox profile information will be placed on your desktop in a folder named &#8220;Old Firefox Data.&#8221; If the reset didn&#8217;t fix your problem you can restore some of the information not saved by copying files to the new profile that was created. See <a href=\"http:\/\/support.mozilla.org\/en-US\/kb\/Recovering%20important%20data%20from%20an%20old%20profile#w_copying-files-between-profile-folders\">Copying files between profile folders<\/a> for instructions.<\/p><\/blockquote>\n<p>The instructions on copying files between profile folders are clear, except for the fact that even an expert user will have little idea which files within a profile are important.\u00a0 It&#8217;s an intimidating process.<\/p>\n<h3>&#8220;Why isn&#8217;t this automated?&#8221;<\/h3>\n<p>Well, because it loses some of your configuration.\u00a0 You don&#8217;t want Firefox discarding all your extensions every six months.<\/p>\n<h3>&#8220;Why is this even needed in the first place?&#8221;<\/h3>\n<p>Ah.\u00a0 An interesting question.\u00a0 What exactly are the sources of the problems that Reset Firefox fixes?<\/p>\n<ul>\n<li>Problematic extensions.\u00a0 This is probably a common cause of problems, especially for people who have toolbars they don&#8217;t want and things like that.\u00a0 And I&#8217;ll give a special mention to GreaseMonkey users who have badly written scripts that do horrible things.<\/li>\n<li>Bad preference settings.\u00a0 In my experience, the most likely settings to cause problems are those involving hardware acceleration (e.g. <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=711656\">bug 711656<\/a>). Are there any other classes of preferences that could have big effects?\u00a0 I guess if the JavaScript JITs were turned off that would slow things down drastically.\u00a0 I don&#8217;t know how people end up with a bad setting, whether it&#8217;s by diffling in about:config or extensions or something else.\u00a0 (The was a <a href=\"https:\/\/groups.google.com\/forum\/?fromgroups=#!topic\/mozilla.dev.platform\/kUKOs3k8Qwc\">dev-platform thread<\/a> about this last year.)<\/li>\n<li>Corrupt(?) state.\u00a0 This one&#8217;s vague, but I suspect it&#8217;s a factor.\u00a0 Maybe some of the SQLite files?\u00a0 Or perhaps the state isn&#8217;t corrupt, but just fragmented in some fashion?\u00a0 For example, in an oldish profile on my Mac my places.sqlite file size is 73 MiB, and urlclassifier3.sqlite is 42 MiB, which seems like a lot.<\/li>\n<li>Do we know of any other causes?<\/li>\n<\/ul>\n<p><strong>Update: in <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=754933\">bug 754933<\/a> Michael Verdi lists the following preferences as &#8220;troublesome&#8221;:<\/strong><\/p>\n<ul>\n<li><strong>home page <\/strong><\/li>\n<li><strong>all search engines (location bar, search bar, right-click) <\/strong><\/li>\n<li><strong>Application settings<\/strong><\/li>\n<li><strong>History settings<\/strong><\/li>\n<li><strong>Password settings<\/strong><\/li>\n<li><strong>Proxy settings<\/strong><\/li>\n<li><strong>Firefox update settings<\/strong><\/li>\n<li><strong>SSL settings<\/strong><\/li>\n<li><strong>All toolbars and controls<\/strong><\/li>\n<\/ul>\n<p>I don&#8217;t subscribe to the hardline &#8220;Reset Firefox shouldn&#8217;t even be necessary&#8221; viewpoint &#8212; software is hard.\u00a0 But I would like to understand the root causes better, in order to understand if at least some of them could be reduced or prevented.<\/p>\n<h3>It&#8217;s not all bad<\/h3>\n<p>I hope this post doesn&#8217;t sound too negative.\u00a0 I understand that Reset Firefox&#8217;s goal was to provide something really simple that&#8217;ll fix many problems, and it does that admirably.<\/p>\n<p>It&#8217;s just a shame that some power users who genuinely want to improve Firefox&#8217;s behaviour are unable to try it because it discards too much data.\u00a0 I wonder if having additional options (in an obscure corner of the UI) the way safe mode does &#8212; &#8220;preserve extensions&#8221;, &#8220;preserve preferences&#8221;, &#8220;preserve open tabs&#8221; &#8212; would help those users.\u00a0 Then those users could use a more incremental approach:\u00a0 discard some data away, see if that helps, discard some more, etc.<\/p>\n<p>Or maybe that&#8217;s not worthwhile;\u00a0 the people who comment on my blog aren&#8217;t exactly typical Firefox users!\u00a0 And it could complicate things for the SUMO folks &#8212; they&#8217;d have to ask what options someone used when they initiated a Reset Firefox.\u00a0 I&#8217;m not sure.\u00a0 I&#8217;d just love to extend the goodness of Reset Firefox as far and wide as possible, and it seems like a few small tweaks might help.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I recently wrote about the wonderful &#8220;Reset Firefox&#8221; feature, which in one fell swoop can fix all sorts of bad behaviours.\u00a0 What follows is a number of complaints that commenters had, and some ideas about how to address them. &#8220;The name is misleading&#8221; It&#8217;s true.\u00a0 It sounds like it will erase all of your data [&hellip;]<\/p>\n","protected":false},"author":139,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[30,4544,4546],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/posts\/2501"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/users\/139"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/comments?post=2501"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/posts\/2501\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/media?parent=2501"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/categories?post=2501"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/tags?post=2501"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}