eric-bixby / auto-sort-bookmarks-webext

Firefox add-on to sort bookmarks by multiple criteria
GNU General Public License v3.0
112 stars 21 forks source link

Preferences do not persist across browser sessions. #65

Closed akwala closed 6 years ago

akwala commented 6 years ago

The preferences revert to the default values when the browser starts. Clicking the Save button after changing preference settings seems to save them only for the current browser session.

GuardianMajor commented 6 years ago

I am experiencing the same thing, I just came to open an issue and saw you already had.

eric-bixby commented 6 years ago

I take it you aren't running anything like CCleaner which can be configured to clear the browser's local storage. There might be a problem when upgrading ASB from 3.0 to 3.1. Try removing ASB, then install again.

akwala commented 6 years ago

I removed ASB, restarted Firefox, then installed ASB again. This didn't fix the issue.

I use StoragErazor which erases cache, local storage and IndexedDB, but it doesn't touch databases created by other addons. Regardless, the issue persists after I disabled this addon.

eric-bixby commented 6 years ago

This add-on uses local storage. It’s odd that your problem persisted after removing the cleaner. Anyway, I’m looking into storing the settings in an alternate place.

akwala commented 6 years ago

This add-on uses local storage. It’s odd that your problem persisted after removing the cleaner.

I tested ASB in a fresh profile with no other extensions and saw that the pref settings changes do persist across browser sessions. This suggests that something other than the cleaning addon/s I'm testing might be erasing the local storage. Update: ASB pref settings persist across browser sessions after I unchecked 'Offline Website Data" in Firefox's settings for types of history data to be cleaned at shutdown.

However, isn't there a "zone" in local storage for addons that the cleaning extensions can exclude? StoragErazor claims not to touch this data. eCleaner has a toggle for including "Extension zones." Besides, erasing local storage hasn't kept pref settings of other addons from persisting and there must be addons among them that store prefs in local storage.

technicianGF commented 6 years ago

I have the exact same problem and the trick "uncheck Offline Website Data" didn't work for me.

ghost commented 6 years ago

I find that ASB creates a cookie and, if this cookie is deleted, you are prompted to reconfigure ASB when you restart Firefox. I was configuring Firefox to automatic delete cookies in the Options / Privacy & Security / History / Clear history when Firefox closes options. In the Setting under this option, I had set automatic clear Cookies. Removing that option cleared the problem. By the way, the cookies ASB created, as shown in Piriform's CCLeaner Free had an identifier like bed03bce-763f-40d6-bed1-ed8f544cf759. On other systems I have a similar cookie but different identifier was created. For clearing my cookies, I now set CCLeaner to clear cookies but added the above cookie identifier to it's exception list.

eric-bixby commented 6 years ago

Yes and no. The API doesn't call it a cookie, but Firefox is treating it like a cookie so they should call it that. Regardless, I agree. There are two APIs: local.storage and localStorage; they look similar but one is cleared along with cookies and one is not. Therefore, I'm going to change API calls to use storage.sync instead which is not supposed to be cleared with cookies plus gets sync'ed when using Firefox-Sync.

eric-bixby commented 6 years ago

I'm going to try working on this issue this weekend. Hopefully, it's a simple API change. I'll post a beta release before formally releasing.

GuardianMajor commented 6 years ago

Any update on this? The settings are still not being stored and next time you open the browser they are gone and the configuration page for the extension opens up again and again each time. Additionally, the newly added folder excludes does not properly take effect either.

eric-bixby commented 6 years ago

I started on a fix, but had to take a break due to personal stuff. I have a solution but it requires some re-design so it will take a little bit more work. Looks like I'll have some time to work on it this weekend. Also, as a workaround, disable clearing cookies.

GuardianMajor commented 6 years ago

@eric-bixby Thank you, I can understand that life gets in the way, appreciate the effort to get it done.

Also, as a workaround, disable clearing cookies.

We think alike, I have already resorted to protecting the cookies for the extension as a means of working around the issue, but it would be reassuring not to have to worry if for some reason they do get cleared. Thanks and looking forward to the fix.

eric-bixby commented 6 years ago

Status Update: I've figured out how to use API for preference storage which doesn't get cleared with cookies (a while ago). The problem is the library I use for preferences, called weh, uses the localStorage API. I can't change how weh stores preferences and asked the weh author to change but haven't gotten a response. I just need to figure how to get weh to use prefs passed to it by the ASB add-on.

eric-bixby commented 6 years ago

Try the 3.3beta2 release: https://github.com/eric-bixby/auto-sort-bookmarks-webext/releases/tag/v3.3beta2

GuardianMajor commented 6 years ago

Will give it a go and let you know.

ghost commented 6 years ago

Seems to work fine. I set up the Auto-Sort beta options and saved them. Then looking in the CCleaner application I no longer see a new cookies type object that was previously created by V 3.2. Tested by changing settings, saving them, cleaning out cookies using the native Firefox Tools / Options / Privacy & Security and clearing all cookies. Setting I had made in the beta were retained.

eric-bixby commented 6 years ago

This has been fixed in version 3.3, which is now available for download.