On Tue, Mar 7, 2017 at 6:09 PM, Xidorn Quan <m...@upsuper.org> wrote:

> > This major version change is downgrade-incompatible, so IndexedDB and
> > DOM cache won't work in an older version if their profile has been
> > upgraded.
> > IndexedDB is also used internally, so stuff that depends on it likely
> > won't work too.
> > There's bug 1246615 [2] where you can find a discussion related to this
> > issue.
>
> It would probably be a good idea to backup the old files when upgrading,
> so that old version can at least pick the backup file to use.
>

Maintaining downgrade compatibility is a lot more complex than people think
and we have zero test support for it.  It hasn't been safe for *years*
(look at IDB db migration code history) and its not going to be safe unless
we want to invest a lot in it.  We just need to do bug 1246615 to make FF
warn when a power user gets themselves into this unsupported mode.
Per-channel profiles like dev-edition would be great too.

As an example of why "backup the db" is harder than it sounds, you would
need to backup the entire storage subsystem.  If you lose data in IDB, but
don't lose data in other sub-systems like cache API, then an origin can
find itself in a corrupted state.  If we allows writes at this point it can
permanently wedge itself in a corrupted state.  From the perspective of
preserving user data its much safer to simply refuse to open the storage
system when we detect an incompatibility like this.
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to