contacts: save first list to storage during onboarding

This commit adds a mechanism to add the contact list to storage as soon
as it is generated, and thus it reduces the risk of poor network
conditions causing issues.

Changelog-Fixed: Improve reliability of contact list creation during onboarding
Closes: https://github.com/damus-io/damus/issues/2057
Signed-off-by: Daniel D’Aquino <daniel@daquino.me>
Reviewed-by: William Casarin <jb55@jb55.com>
Link: 20240422230912.65056-3-daniel@daquino.me
Signed-off-by: William Casarin <jb55@jb55.com>
This commit is contained in:
Daniel D’Aquino
2024-04-22 23:09:30 +00:00
committed by William Casarin
parent 43a5bbd53a
commit 19ba020bd0
4 changed files with 47 additions and 16 deletions

View File

@@ -96,6 +96,14 @@ class UserSettingsStore: ObservableObject {
static var shared: UserSettingsStore? = nil
static var bool_options = Set<String>()
static func globally_load_for(pubkey: Pubkey) -> UserSettingsStore {
// dumb stuff needed for property wrappers
UserSettingsStore.pubkey = pubkey
let settings = UserSettingsStore()
UserSettingsStore.shared = settings
return settings
}
@StringSetting(key: "default_wallet", default_value: .system_default_wallet)
var default_wallet: Wallet