In the 2023 Fall Hackthon, we prototyped the idea of directly downloading the index.sqlite file from the server to see if it would speed up the syncing of language lists and available source texts. The prototype did sync faster -- from about 8 minutes to about 2 seconds!
This issue is for building on the hackathon work and explore further if this is a viable solution for BTT-Writer. I think the requirements/tasks are:
Create a new option in the BTT-Writer Update menu -- in addition to the existing ones -- to download the whole database.
Back up the existing index.sqlite file in case something goes wrong.
Replace existing index.sqlite with downloaded one.
Restart the app.
We also need to spend some time investigating unintended side effects. Does replacing the database overwrite important state data? Do we need to download the database and then copy specific info over rather than overwrite the whole thing? I think John ( @mondele ) will be a huge help here.
In the 2023 Fall Hackthon, we prototyped the idea of directly downloading the index.sqlite file from the server to see if it would speed up the syncing of language lists and available source texts. The prototype did sync faster -- from about 8 minutes to about 2 seconds!
This issue is for building on the hackathon work and explore further if this is a viable solution for BTT-Writer. I think the requirements/tasks are:
We also need to spend some time investigating unintended side effects. Does replacing the database overwrite important state data? Do we need to download the database and then copy specific info over rather than overwrite the whole thing? I think John ( @mondele ) will be a huge help here.
The changes from the hackathon prototype can be found here: https://github.com/Bible-Translation-Tools/BTT-Writer-Desktop/compare/cro-fix-docker-run...cro-hackathon-fast-download-2023-10