-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Importing data from other computer corrupts the container extension somehow #3
Comments
I had the same issue when synchronizing from an updated Firefox installation with the containers addon version 4 to another updated Firefox BUT whose containers addon was still at version 3. Could you check the addon's version on the importing machine?
Not totally wrong since the path is valid anyway ( |
Just merged your pull request, thank you. |
??? I have |
You should check the version in containers.js, your version on the first machine is 4 as you can see in your archive's file. What about the other machine? |
I believe it is the same containers.json. |
I tried to reproduce the error but I did not succeed. Would you mind attaching both your prefs.js? |
Same happening to me unfortunately. The containers.json is copied just fine, but overwriting the sqlite file makes the extension stop working. |
A couple of days ago I figured out which is the error: as you can see in 1 - Replace the addon id. Regarding the first solution, it seems that replacing an addon id is not as trivial as expected because it is somewhere stored in a binary form (I replaced all plain-text ids and still didn't succeed to fix the problem). The second alternative is also presenting a problem as the sqlite database is set to call some triggers on items INSERT/DELETE that, unfortunately, are not enclosed in the file itself but are programmatically declared as custom functions directly in C++ in Firefox. Given the context, my objective is to develop a generic solution to export/import every addon's settings (at least all the ones using IndexedDB) and use it also in this script. This will require some time, it is in my TODO list for next weekend so I will update you soon. Feel free to give suggestions if you have any. |
Thank you for the technical details! So in theory, if I apply all the INSERTs directly from one DB to the other, while Firefox is running, would that accomplish anything? EDIT: Nope, the database is obviously locked :) |
That's not the only problem: even if the DB would not be locked, the SQLite client would still not be able to locate the functions (loaded in memory by Firefox and not saved in the file - so not shared with other clients). |
Both computers use MozillaFirefox-66.0-1.1.x86_64 from the openSUSE/Tumbleweed repository. On one computer I export my containers to ffcontainers-eguebw4d.default-1548008691899-20190402.zip
On other computer I switch off Firefox and import the data. The result is something which looks very much like mozilla/multi-account-containers#1321 (non-functional container tab). Can reproduce with:
Restart Firefox and the menu is messed up.
The text was updated successfully, but these errors were encountered: