The initial sync for contacts does not yet work ideally.
If we don't have an internet connection when setting up the account nothing triggers a sync of the contacts again unless you open the addressbook.
Since we currently solely rely on the addressbook for autocompletion this can result in the situation that you have to manually visit the addressbook to have autocompletion (so that's not good).
There are two approaches to this:
- Do an initial sync somehow and make sure that it's executed at least once. Secondly, make sure we periodically update, otherwise we can end up in the same situation if contacts were added to the addressbook.
- Trigger a sync of contacts explicitly in the composer (just as we sync drafts), as the view depends on the contacts for autocompletion.
The former approach is more likely to sync ahead of time but probably results in a lot of syncing for no purpose. The latter approach requires a lot of manual tuning for which view requires to sync what and risks ending up with some views that just sync everything (because they use lots of different data sources). I'm thinking the latter approach is perhaps better solving the actual issue as it's telling Sink actively that the dataset is required now.
Perhaps that could even be done implicitly at some point...