Greasemonkey: pengaturan privacy.firstparty.isolate merusak penyimpanan skrip

Dibuat pada 9 Jul 2019  ·  23Komentar  ·  Sumber: greasemonkey/greasemonkey

Halo semua,

jika ada yang membacanya sebelum memutakhirkan ke FF 68: buat cadangan skrip Anda.

Setelah pembaruan otomatis, semua skrip saya hilang. Pengecualian masih disertakan (jadi GM tampaknya menarik beberapa pengaturan saya sebelumnya), tetapi semua skrip hilang.

Di mana GM menyimpan data saat ini? Di dalam folder browser-extension-data, file GM tidak diubah. Masih menyelidiki, tetapi ini tampaknya benar-benar aneh.

Komentar yang paling membantu

Oke, saya menemukannya.

Masalahnya adalah pengaturan "privacy.firstparty.isolate;true". Biasanya GM menyimpan pengaturannya di 2 folder ini:

  • profile\storage\default\moz-extension+++MYGMID
  • profile\storage\default\moz-extension+++MYGMID^userContextId=MYCONTID

Jika isolasi pihak pertama diaktifkan dan Anda meningkatkan ke FF 68, folder ketiga dibuat:

  • profile\storage\default\moz-extension+++MYGMID^firstPartyDomain=MYGMID

Jika Anda menonaktifkan isolasi pihak pertama ("privacy.firstparty.isolate;false") dan kemudian menghapus folder yang dibuat ke-3 yang disebutkan di atas, skrip Anda akan terlihat lagi.

Semua 23 komentar

Jadi saya melihat ini dan memeriksa versi saya sekarang: 67. Tetapi ada pembaruan untuk diterapkan, jadi saya melakukannya. Sekarang saya menggunakan 68 dan semua skrip saya sudah terpasang dengan baik.

Script disimpan di IndexedDB. Tidak ada jawaban sederhana untuk ini, ada ID acak yang terlibat (di luar kendali kami).

OK jadi sepertinya itu bukan masalah umum.

Satu-satunya hal yang saya ubah setelah pemutakhiran adalah memperbarui pengaturan> keamanan> kustom> memblokir pelacak identifikasi (tidak tahu terjemahan bahasa Inggris yang tepat). Tetapi mengubahnya kembali tidak mengembalikan skrip saya :/

Akan mencari lokasi IndexedDB (saya tahu ID dari about:support, tetapi bukan direktori) & beberapa cadangan saya.

"profil > penyimpanan > default > about+newtab^firstPartyDomain=about.MYGMID > idb > 3312185054sbndi_pspte.sqlite" --> file tidak berubah sejak sebulan sesuai dengan stempel waktu file

"profil > penyimpanan > permanen > moz-safe-about+home^firstPartyDomain=about.MYGMID > idb > 818200132aebmoouht.sqlite" --> file tidak berubah sejak sebulan menurut stempel waktu file

Tetapi juga tidak satu pun dari file-file itu yang berisi skrip saya lagi.

Ini juga baru terjadi pada saya. Firefox 68.0 di macOS. Masalah yang dikonfirmasi dengan profil yang berbeda.

Ini juga baru terjadi pada saya. Firefox 68.0 di macOS. Masalah yang dikonfirmasi dengan profil yang berbeda.

Menemukan bahwa hanya menyalin profil lama ke FF 68 tidak akan memulihkan skrip Anda. Saya harus mengunduh FF 67 Portable, menyalin cadangan profil lama saya di sana & mengekspor skrip dari FF 67 (tidak mencoba mengimpor ulang ke FF68). Jadi sepertinya FF menyimpan skrip di suatu tempat di dalam folder profil, tetapi FF68 tidak dapat membaca ini atau tidak bermigrasi dengan benar dari FF67.

Pembaruan: GM menyimpan skrip dalam "profile\storage\default\moz-extension+++MYGMID\idb\XXX.sqlite". Ini adalah ID yang berbeda dari yang ditunjukkan di about:support. Sepertinya semua skrip masih ada, sekarang akan menarik mengapa FF68 tidak dapat membacanya lagi untuk beberapa konfigurasi;)

Pembaruan 2: Saya dapat mereproduksi secara teratur, juga dengan profil cadangan saya. Sayangnya saya tidak dapat membagikan profil ini dan saya tidak dapat mereproduksi dengan instalasi portabel FF yang bersih.

@daleeidd Apakah Anda memiliki deskripsi yang lebih rinci atau profil "kosong" yang dapat Anda bagikan untuk membuat ini dapat direproduksi untuk arantius juga?

Saya pikir kita harus menyelidiki. Ini adalah kasus terburuk dan seharusnya tidak terjadi, bahkan jika itu hanya untuk 1% dari pengguna.

Ini terdengar seperti id add-on mungkin telah berubah di antara pembaruan.

Memeriksa bahwa di dalam about:debugging : masih menunjukkan ID addon & UUID internal yang sama.

Oke, saya menemukannya.

Masalahnya adalah pengaturan "privacy.firstparty.isolate;true". Biasanya GM menyimpan pengaturannya di 2 folder ini:

  • profile\storage\default\moz-extension+++MYGMID
  • profile\storage\default\moz-extension+++MYGMID^userContextId=MYCONTID

Jika isolasi pihak pertama diaktifkan dan Anda meningkatkan ke FF 68, folder ketiga dibuat:

  • profile\storage\default\moz-extension+++MYGMID^firstPartyDomain=MYGMID

Jika Anda menonaktifkan isolasi pihak pertama ("privacy.firstparty.isolate;false") dan kemudian menghapus folder yang dibuat ke-3 yang disebutkan di atas, skrip Anda akan terlihat lagi.

@kekkc Terima kasih. Cukup ikuti instruksi Anda untuk memulihkan skrip untuk diekspor. Kerja yang baik!

Diagnostik yang bagus. Saya tidak yakin apa yang harus dilakukan tentang ini dari dalam Greasemonkey?

Entah bagaimana memiliki harapan bahwa ada kemungkinan solusi di GM. Semua ekstensi saya yang lain yang menggunakan penyimpanan yang sama (mis. https://addons.mozilla.org/de/firefox/addon/textnotes/?src=search ) tidak menyebabkan FF membuat folder baru selama peningkatan, bahkan dengan yang pertama isolasi pesta diaktifkan.

Ekstensi itu tidak menggunakan IndexedDB.

Dapat mengonfirmasi bahwa menonaktifkan isolasi pihak pertama (saya telah mengaktifkannya melalui add-on ini , sakelar sederhana) dan memulai ulang FF menyebabkan skrip saya muncul lagi. Saya tidak perlu menghapus folder apa pun.

Setelah saya mengekspor skrip dengan aman, mengaktifkan kembali isolasi pihak pertama dan kemudian mengimpor ulang skrip menyelesaikan masalah, jadi FPI tampaknya tidak merusak Greasemonkey secara terus-menerus atau permanen. Mungkin perlu dicatat bahwa (jika saya ingat dengan benar) ini adalah hal yang sama yang terjadi pada semua data penjelajahan (non-ekstensi) ketika pengguna awalnya mengaktifkan isolasi pihak pertama, jadi mungkin saja FF68 baru saja memperluas perilaku FPI normal untuk diterapkan untuk ekstensi juga.

Melihat-lihat sedikit, bug ini menyebutkan kerusakan tambahan dengan FPI sebagai tambahan -- tidak dapat menemukan bug lain yang dikonfirmasi secara khusus untuk masalah ini secara sekilas.

Thx, sebutkan bug di bugzilla. Mungkin https://bugzilla.mozilla.org/show_bug.cgi?id=1564593 juga harus mereferensikan FPI (FPI diperkenalkan sebagai bagian dari TorBrowser Uplift dan sebesar Mozilla sebagai UserScript API)

Sekedar catatan bahwa kami (Mozilla) telah melihat ini. Saya pikir bug Bugzilla paling relevan 1554805.

Sayangnya kami tidak memiliki siapa pun yang secara aktif mengerjakan ini saat ini, tetapi mungkin kami dapat menemukan beberapa siklus untuk memperbaikinya. Sayangnya 'perbaikan' kemungkinan akan menghapus semuanya lagi; tapi setidaknya mengaktifkan/menonaktifkan FPI tidak akan mematikan penyimpanan untuk ekstensi...

Bukan tempat bagi saya untuk mengeluh karena saya tidak menginstal GM, tetapi, hal yang sama terjadi pada saya dan tidak ada yang berhasil. Saya telah menginstal FPI, tetapi dinonaktifkan. Saat memutakhirkan ke FF 68, baik onetab maupun stylus kehilangan data.

Saya melanjutkan tentang ini di sini: https://github.com/openstyles/stylus/issues/747

@kekkc solusi Portabel FF 67 apa yang Anda gunakan? Saya telah mencoba aplikasi Portabel FF dan FF ESR, keduanya mengatakan bahwa saya tidak boleh menggunakan profil FF lama... dan saya tidak tahu cara mengganti kotak dialog itu. Entah bagaimana, pembaruan ke FF 68 melakukan sesuatu pada profil saya dan FF 66.0.4 dan yang lebih lama terus mengatakan untuk menggunakan profil baru.

@b16r05 sedang berlibur, Anda mungkin sudah mengetahuinya. Saya baru saja menyalin folder profil dan tidak memulai FF 67 Portable sebelumnya. Saya ingat pesan kesalahan yang sama, tetapi saya pikir metode ini berhasil pada akhirnya.

Saya TIDAK bisa mengkonfirmasi perilaku ini. Saya menonaktifkannya (FF68).
Saya tidak dapat melihat skrip saya, saya juga tidak dapat membuat yang baru atau menginstal apa pun.
Itu hanya tidak apa-apa.

Ketika saya menginstal skrip baru, dikatakan 'tidak terdefinisi' di dialog terakhir.
Ketika saya mengklik "tambahkan skrip baru", itu menempatkan pesan kesalahan berikut di konsol:

IndexedDB UnknownErr: ActorsParent.cpp:581
Error opening user-scripts DB! <unavailable> user-script-registry.js:57:15
undefined
Error: undefined

Saya mencoba mencopotnya, menghapus folder storage\default\moz* , mengganti nama folder gm_scripts , menginstal ulang: Masih tidak berfungsi.

Sepertinya ini sudah diperbaiki di FF71 https://bugzilla.mozilla.org/show_bug.cgi?id=1554805

Saat memutakhirkan dari FF70 ke FF71, saya kehilangan semua skrip dan gaya stylus untuk kedua kalinya di tahun 2019. privacy.firstparty.isolate diaktifkan. Tapi kali ini saya membuat cadangan profil saya sebelum memutakhirkan.

Saya dapat menurunkan versi instalasi saya untuk sementara kembali ke 70, membongkar cadangan saya dan mengekspor skrip dan gaya, yang saya ulangi sejak kehilangan data lainnya sebelumnya.

Ini mengajari saya, untuk menyimpan salinan eksternal dari semua pekerjaan saya. Kemudian saya dapat memeriksanya ke beberapa kontrol versi dan mengerjakannya di editor yang tepat. Bisakah Anda merekomendasikan beberapa cara bebas repot untuk secara otomatis menyebarkan file saya yang diubah secara eksternal ke GM+Firefox selain dari salin tempel?

Apakah halaman ini membantu?
0 / 5 - 0 peringkat