No More Posting New Topics!

If you have a question or an issue, please start a thread in our Github Discussions Forum.
This forum is closed for new threads/ topics.

Navigation

    Quasar Framework

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search

    persistence

    Framework
    3
    7
    1718
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      terrybradshaw last edited by

      Working on a corporate project targeting Windows and iPads. I need a way to store basic user preferences and settings (like a config.ini). Electron has a couple of packages that look like they will work (electron-store, electron-settings) and then Cordova has cordova-plugin-nativestorage.

      Before rolling my own solution, does Quasar have plans for a persistence API? Are the above packages recommended for implementing persistence? Have I missed other options? Could this be implemented via an app extension?

      digiproduct 1 Reply Last reply Reply Quote 0
      • digiproduct
        digiproduct @terrybradshaw last edited by

        @terrybradshaw I’m not doing Electron apps (yet) but for server apps there’s the DotEnv stuff. There’s an App Extension for it … actually 2 … I’ve no personal experience of them, but perhaps that’s what you need to look at …

        https://quasar.dev/app-extensions/discover

        1 Reply Last reply Reply Quote 1
        • metalsadman
          metalsadman last edited by metalsadman

          @terrybradshaw i think vuex-persistedstate is enough for this. https://github.com/robinvdvleuten/vuex-persistedstate, even the Quasar wrappers for localStorage / sessionStorage is ok https://quasar.dev/quasar-plugins/web-storage#Introduction.

          1 Reply Last reply Reply Quote 1
          • T
            terrybradshaw last edited by

            @digiproduct Thanks for this, I wasn’t familiar with dotenv but yes this is certainly useful. Unfortunately however it is not a full solution as you cannot edit values or write new ones at runtime. Turns out this is a real mess in Cordova. The plugin I referred to has a major issue about it simply not working on iOS 8+, and there’s been almost no activity in nearly a year – the project may be dead. Same with some other projects with native hooks into NSUserDefaults (iOS) and SharedPreferences (Android).

            Then there are solutions which build upon LocalStorage, IndexedDB and/or WebSQL. Problem there is that iOS will simply delete this when a device is low on space (see the caveat halfway down the page here as an example: https://pouchdb.com/faq.html#data_limits). Doesn’t appear to be any workaround.

            The only reliable solutions may be to go full SQLite or a custom config file. Remote or cloud may generally work too but not for this particular project. Still researching it. Thanks for the help.

            1 Reply Last reply Reply Quote 0
            • T
              terrybradshaw last edited by

              @metalsadman Thank you, I wasn’t familiar with these packages either, they look useful and easy and would be great to stay within the Vue ecosystem. The problem here is relying on LocalStorage, which iOS seems to wipe out without warning when devices get low on disk space (see link in previous reply, or https://forum.ionicframework.com/t/ios-localstorage-persistence/20004/2). This doesn’t appear to be a problem on Android.

              1 Reply Last reply Reply Quote 0
              • metalsadman
                metalsadman last edited by

                @terrybradshaw localstorage works on all platforms tho, so if you’re worried about it being erased by the os, i think you should have some api to save those settings in the backend, a simple check if those don’t exist in the vuex store then make a call to the backend to retrieve it. otherwise you’ll have to maintain each storage plugins for each every platform.

                1 Reply Last reply Reply Quote 0
                • T
                  terrybradshaw last edited by

                  Turns out there’s already a Quasar plugin for Local or Session storage that I had not noticed before: https://quasar.dev/quasar-plugins/web-storage

                  This would still be subject to the iOS problem of randomly deleting data when low on storage space, but nevertheless it’s a plus that it is already built into the framework.

                  1 Reply Last reply Reply Quote 0
                  • First post
                    Last post