TL;DR: We should make each Firefox channel use its own profile data
allowing you to run multiple channels at the same time.

Running multiple channels of Firefox is currently harder than it needs to
be. You can't start more than one channel at a time and either you use the
same profile data for each channel running the risk of hitting bugs with
downgrades or you have to create custom shortcuts to use different profiles
for each channel. The exception to this is the developer edition which uses
its own profile data by default. This turned out to be what most developers
wanted and matches Chrome's behaviour. So we should do the same thing for
the other channels.

The technical details of how to do this are a little challenging so here is
a proposal that hopes to limit the impact of the change:

* Release will continue to work as it does today. The default profile
listed in profiles.ini will be loaded and used as normal.
* When Nightly and Beta first start they will look for a profile to use:
** First choice will be determined by a new flag in profiles.ini for each
channel.
** Second choice will be a profile with a specific name which will be
different for each channel. We do this because if the user runs an older
build of Firefox it will blow away the new flags we use above.
** Finally if no profile has been found a new profile will be created with
the appropriate name.
* Throughout, if the command line includes --profile or -P to choose a
specific profile then we respect that.

The developer edition already does effectively the above just without the
custom flag which allows you to rename your profile (
https://bugzilla.mozilla.org/show_bug.cgi?id=1098986). As part of this we
would upgrade developer edition to support this too.

How we populate the new profile we create for Nightly and Beta channels is
an open question. We could simply clone the existing Release profile or use
Firefox Refresh to copy across the basic data. In either case we can notify
the user to let them know what has happened.

If users still want to share profiles between channels then they will have
that option going forwards by simply going to about:profiles and choosing a
different default profile for the channel they are running.

The main issue with this proposal is what happens if users downgrade
Nightly or Beta to a version before we make these changes. They will revert
back to the existing profile selection mechanism, effectively sharing
profiles with the release channel again. Upgrading again will take them
back to their new default profile unless they have renamed it away from the
custom name we choose in which case a new default will be created again.

Does anyone think we shouldn't do this or have comments on my proposal for
implementing it?
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to