i understand the technical concerns about db corruption but this still could be considered a lock-in. by making it inconvenient and having to move files manually, export/import.
so… a soft lock-in?
IF you truly want to make it possible, i believe it is possible
- one method to avoid corruption would be to use sqlite built-in backup and autoreload the db when changes occur. SQLite Backup API, Database Remote-Copy Tool For SQLite
- litereplica https://litereplica.io
- rqlite GitHub - otoolep/rqlite: The lightweight, distributed relational database built on SQLite.
- while not sqlite, keepass has methods to deal with database sync/merge/conflict/corruption/etc.
it would work something like making temporary copies to edit:
- copy to local storage: before making changes, copy the database file from the synced folder to a local, non-synced directory
- work on local copy: make changes to this local copy
- copy back: once changes are complete (auto-save or a button for force copy), verify database integrity immediately after writing files, copy the updated file back to the synced folder
collaboration would still not be possible but people who want this are mostly single users
i understand why you would not want this, it would be one less reason to sell Logseq Sync
while not a hard lock-in, this could be safely considered a soft lock-in or business-driven lock-in (“you must use our paid service to make it more convenient”)