Three and a half years ago we shipped a new version of xulstore (the component that caches window sizes and positions) to Nightly using rkv under the hood. At the time rkv was based on lmdb and was expected to improve performance by allowing incremental file reads and writes compared to the old xulstore which simply loaded the entire dataset into memory on startup and dumped it all to disk on shutdown. Unfortunately lmdb proved to have some unanticipated stability problems and so all consumers of rkv were switched to a safer backend which essentially also loads the entire dataset into memory on startup. In the time since we never got around to making the decision to ship the new xulstore implementation to beta and release users and so for three years nightly users have been using a different implementation of xulstore. This has caused confusion and even some bugs so the time has come to fix things so the same component is used across all channels.
Since the safe mode backed xulstore now has no obvious performance benefits and is significantly more complex than the old xulstore implementation, and because making changes for release users is inherently more risky than making changes for Nightly users, I've concluded that the best way to proceed is to switch Nightly back to the old xulstore implementation and then assuming no issues arise remove the code for the new implementation from the tree. Turning the new implementation off will happen early in the 110 Nightly cycle.
One issue to note is that while code exists to migrate xulstore data from the old to the new stores there is no way to do that in reverse and implementing such a thing would be non-trivial. So the first time Nightly with the new xulstore disabled starts all window sizes and positions will revert to their defaults (or whatever they were three years ago if you happen to have a profile that old ... think of it as an exciting journey into the past!). That is unless you have session restore enabled or restart Firefox through the automatic update UI which performs a one time session restore. As this is a one time thing and only impacts window positioning I don't believe that this is a reason to block this work.
Please reach out to me if you have concerns with this plan.
To unsubscribe from this group and stop receiving emails from it, send an email to