Closed Bug 1416506 Opened 7 years ago Closed 7 years ago

Downgrading Firefox 57 to 52 ESR loses session

Categories

(Firefox :: Session Restore, defect)

defect
Not set
normal

Tracking

()

RESOLVED WONTFIX
Firefox 52

People

(Reporter: andreasjunghw, Unassigned)

References

Details

Bug 1415133 states:

"Jim informs me that the a11y team plans to prompt a small percentage of users with unsupported configurations in 57 to switch to 52 ESR instead (temporarily?). Downgrading versions in the same profile is unsupported, but this specific case may merit some additional work. "

I noticed that doing this downgrade loses the session. For most users this is probably just an annoyance, but if you had some important sites opened that you did not bookmark yet, this might be a huge problem.

Steps to reproduce:
1) Install Firefox from:
https://ftp.mozilla.org/pub/firefox/candidates/57.0-candidates/build3/win64/
2) Create a new profile and set the setting "Automatically restore my previously opened tabs and windows" (not sure of the exact wording since I used a German build)
3a) Open some websites in new tabs
3b) Check that after closing and reopening Firefox the session is automatically restored
4) Install Firefox ESR from:
https://download-origin.cdn.mozilla.net/pub/firefox/candidates/52.5.0esr-candidates/build2/win64/

Expected result:
After opening Firefox ESR the session is automatically restored

Actual result:
The session is lost and is not restored
I suspect that the sites visited are still all in the places database, and thus in the awesomebar completion and in the History menu/window.
Flags: needinfo?(dolske)
(In reply to Randell Jesup [:jesup] from comment #1)
> I suspect that the sites visited are still all in the places database, and
> thus in the awesomebar completion and in the History menu/window.

Downgrading from 57.0 to 52.5 will throw away the places database and restore the bookmarks from the last bookmarks backup (at least for newly created profiles, see bug 1415133 comment 1) therefore the history is gone.
Over to Marco re Places concerns.
Flags: needinfo?(dolske) → needinfo?(mak77)
Davidb: did you already coordinate (e.g. w/Overholt?) concerns around downgrading from 57 to ESR? ISTR that situation isn't handled well by IndexDB / recent stuff we went through -- aiui we mitigated it for 56, but not as far back as 52.
Flags: needinfo?(dbolter)
I think Maire and Andrew looked at this?  Jim had some QA on it for a11y needs.
Flags: needinfo?(overholt)
Flags: needinfo?(jmathies)
Flags: needinfo?(dbolter)
We don't support downgrading for website client-side storage like IndexedDB (I can't speak authoritatively for Firefox storage like Places). Dolske is correct in comment 4.
Flags: needinfo?(overholt)
(In reply to Andreas Jung from comment #2)
> Downgrading from 57.0 to 52.5 will throw away the places database and
> restore the bookmarks from the last bookmarks backup (at least for newly
> created profiles, see bug 1415133 comment 1) therefore the history is gone.

This is correct, since we don't have an History backup (for various reasons, first of all some privacy concerns that we'll evaluate in the next months) and since we cannot downgrade cleanly due to incompatible changes in the profile, history won't be there. This is valid for any profile: "created from Firefox 55" OR "used at least once in Firefox 58".
Flags: needinfo?(mak77)
We anticipated some profile data loss from this kind of migration, which is why we put so much effort into trying to avoid it for these users. We do have sumo article up which suggests starting with a fresh profile as a precaution. 

https://support.mozilla.org/en-US/kb/switch-to-firefox-extended-support-release-esr

I think we should mark this wontfix, I don't see us making any changes to 56 or 52 esr to support restoring an old session.
Flags: needinfo?(jmathies)
Firefox 56 is fine (no problems); Firefox 52.5 ESR is affected.

A patch for 52 ESR would be something like check if sessionstore.js exists if not check if sessionstore.jsonlz4 exists, if it exists uncompress it to sessionstore.js. Done. (Trying to read / convert the other sessionstore files is unnecessary for a downgrade case I think)

If I'm not missing something lz4 uncompressing is already available in 52 ESR.

A user could possibly do the same manually to recover the session, e.g. using https://github.com/avih/dejsonlz4
But this requires using a command line tool which is something a regular user is probably not comfortable with (for non-windows users the tool even has to be compiled first I think because it seems no pre-compiled binaries are available).

If this bug is wontfixed it actually means a user could possibly loose the current session twice (if not creating a new profile, but this will obviously loose the session as well):
User uses Firefox 57 -> Session A is saved to sessionstore.jsonlz4
User downgrades to Firefox 52.5 ESR -> Session A is not recognized -> Session B is saved to sessionstore.js
User updates to Firefox 58 -> Firefox finds sessionstore.jsonlz4 and for the user unexpectedly restores session A and not session B


All that said I think it would be great if downgrading a profile from current Firefox to current Firefox ESR would be at least partly supported as using Firefox ESR is recommended if current Firefox is not usable for an user because of issues since Firefox ESR will get security updates but staying on an outdated version does not.
Most important would be bookmarks, sessionstore, saved passwords, maybe something more I'm missing.
Status: UNCONFIRMED → NEW
Ever confirmed: true
(In reply to Andreas Jung from comment #9)
> ...
> If I'm not missing something lz4 uncompressing is already available in 52
> ESR.

It's the same compression as bookmark backups, so the code dates back to Firefox 33 or earlier.

> A user could possibly do the same manually to recover the session, e.g.
> using https://github.com/avih/dejsonlz4
> But this requires using a command line tool which is something a regular
> user is probably not comfortable with (for non-windows users the tool even
> has to be compiled first I think because it seems no pre-compiled binaries
> are available).

I have a webapp here as a workaround: https://www.jeffersonscher.com/res/scrounger.html
(In reply to Jim Mathies [:jimm] from comment #8)
> I think we should mark this wontfix, I don't see us making any changes to 56
> or 52 esr to support restoring an old session.

I think this is right, especially if workarounds are available per some of the other comments. This would have been nice to fix prior to 55/56/57, but this was essentially already discussed in bug 1376983, and doing something now specific to ESR52, when the next ESR is already on nightly just seems like a lot of effort for very little gain. We should focus on other things.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.