Skip to content

Commit 88a5531

Browse files
committed
feat(backup)_: implement remaining backups and tests
Fixes status-im/status-desktop#18120 Implements the missing user data like watch only accounts and settings. Implements tests to validate.
1 parent 184a70d commit 88a5531

File tree

4 files changed

+372
-17
lines changed

4 files changed

+372
-17
lines changed

protocol/messenger_backup.go

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -100,9 +100,7 @@ func (m *Messenger) BackupData(ctx context.Context) (uint64, error) {
100100
return 0, err
101101
}
102102
chatsToBackup := m.backupChats(ctx, clock)
103-
if err != nil {
104-
return 0, err
105-
}
103+
106104
profileToBackup, err := m.backupProfile(ctx, clock)
107105
if err != nil {
108106
return 0, err
@@ -210,14 +208,14 @@ func (m *Messenger) BackupData(ctx context.Context) (uint64, error) {
210208
pb := backupDetailsOnly()
211209
pb.SettingsDetails.DataNumber = uint32(i + 1)
212210
pb.Setting = d
213-
// TODO find a way to get all settings
214-
// fullBackup.Setting = append(fullBackup.Setting, d)
211+
fullBackup.Settings = append(fullBackup.Settings, d)
215212
err = m.encodeAndDispatchBackupMessage(ctx, pb, chat.ID)
216213
if err != nil {
217214
return 0, err
218215
}
219216
}
220217

218+
// TODO get rid of keypairs
221219
// Update keypairs messages encode and dispatch
222220
for i, d := range keypairsToBackup {
223221
pb := backupDetailsOnly()
@@ -236,8 +234,7 @@ func (m *Messenger) BackupData(ctx context.Context) (uint64, error) {
236234
pb := backupDetailsOnly()
237235
pb.WatchOnlyAccountDetails.DataNumber = uint32(i + 1)
238236
pb.WatchOnlyAccount = d.WatchOnlyAccount
239-
// TODO find a way to get all settings
240-
// fullBackup.WatchOnlyAccount = append(fullBackup.WatchOnlyAccount, d.Keypair)
237+
fullBackup.WatchOnlyAccounts = append(fullBackup.WatchOnlyAccounts, d.WatchOnlyAccount)
241238
err = m.encodeAndDispatchBackupMessage(ctx, pb, chat.ID)
242239
if err != nil {
243240
return 0, err

protocol/messenger_backup_handler.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,13 @@ func (m *Messenger) handleBackup(state *ReceivedMessageState, message *protobuf.
9090
errors = append(errors, err)
9191
}
9292

93+
for _, setting := range message.Settings {
94+
err = m.handleBackedUpSettings(setting)
95+
if err != nil {
96+
errors = append(errors, err)
97+
}
98+
}
99+
93100
err = m.handleKeypair(message.Keypair)
94101
if err != nil {
95102
errors = append(errors, err)
@@ -100,6 +107,13 @@ func (m *Messenger) handleBackup(state *ReceivedMessageState, message *protobuf.
100107
errors = append(errors, err)
101108
}
102109

110+
for _, watchOnlyAccount := range message.WatchOnlyAccounts {
111+
err = m.handleWatchOnlyAccount(watchOnlyAccount)
112+
if err != nil {
113+
errors = append(errors, err)
114+
}
115+
}
116+
103117
// Send signal about applied backup progress
104118
if m.config.messengerSignalsHandler != nil {
105119
response := wakusync.WakuBackedUpDataResponse{

0 commit comments

Comments
 (0)