at_client_sdk
at_client_sdk copied to clipboard
Dart no-local-secondary
**Is your feature request related to a problem? Not currently possible to run the Dart client in remote-only mode - ie without a local secondary. This introduces overhead when running multiple clients which is that each client maintains its own hive database
Describe the solution you'd like AtClient should be usable without local secondary data store.
Describe alternatives you've considered An alternative is to create a daemon which acts as a single "local secondary", and have a version of the client for other programs to connect with the clots secondary via the local daemon
Additional context Likely both alternatives are required, for different reasons. Remote-only client is simple, and applicable for clients which are expected to be online to be fully functional. Local daemon is more complex but offers a lot of benefit for devices where we wish to maintain local data cache but we don't want to have each program maintain its own. Daemon is particularly appropriate for solving the browser issue, allowing simplified AtClient code in browser to connect to cloud secondary via the local daemon, thus keeping the key management and full knowledge of protocol in just one place
@cconstab created this as placeholder, please add more context. @XavierChanth please can you create another issue re the local daemon and simplified client and link to this one?
I think we've solved the sshnpd issues, still not fully non-local but we are not syncing anything and using remote secondary calls.
I believe that the tech as it stands right now is as good as it (reasonably) gets in terms of minimum local dependency, and we have solved the issues we've needed to solve. The rest of the work here is unplanned.