diff --git a/fileTransfer/store/received.go b/fileTransfer/store/received.go index fd715a76e7c4cf127bb9c9897c14432b26b59fe8..1b019553c19aaf37de4f31449ea1f4f85c066bfe 100644 --- a/fileTransfer/store/received.go +++ b/fileTransfer/store/received.go @@ -73,7 +73,7 @@ func NewOrLoadReceived(kv *versioned.KV) (*Received, []*ReceivedTransfer, error) tid := tidList[i] s.transfers[tid], err = loadReceivedTransfer(&tid, s.kv) if err != nil { - jww.WARN.Print(warnLoadReceivedTransfer, i, len(tidList), tid, err) + jww.WARN.Printf(warnLoadReceivedTransfer, i, len(tidList), tid, err) errCount++ } diff --git a/ud/confirmFact.go b/ud/confirmFact.go index 8fdafc24af9a52ac4b664e56dfe99aec3e95996e..ec8d542a142b9d60937e2b6e8f8cdf409881790b 100644 --- a/ud/confirmFact.go +++ b/ud/confirmFact.go @@ -41,6 +41,7 @@ func (m *Manager) confirmFact(confirmationID, code string, comm confirmFactComm) "Failed to confirm fact in storage with confirmation ID: %q", confirmationID) } + m.user.GetBackupContainer().TriggerBackup("Fact confirmed") return nil } diff --git a/ud/interfaces.go b/ud/interfaces.go index 9439d365c56441356477ee34c76fb5371c032c63..6280beb19e4b813836902b20fbaac5c8d028542b 100644 --- a/ud/interfaces.go +++ b/ud/interfaces.go @@ -39,6 +39,7 @@ type udE2e interface { GetRng() *fastRNG.StreamGenerator GetStorage() storage.Session GetTransmissionIdentity() xxdk.TransmissionIdentity + GetBackupContainer() *xxdk.Container } // udNetworkStatus is an interface for the xxdk.Cmix's diff --git a/ud/mockE2e_test.go b/ud/mockE2e_test.go index e903d7eb59819ddb0445a7167cd4ebfd45c2361a..335f071d934147713026615e90c8fd10bb6a1bb4 100644 --- a/ud/mockE2e_test.go +++ b/ud/mockE2e_test.go @@ -46,6 +46,10 @@ type mockE2e struct { key *rsa.PrivateKey } +func (m mockE2e) GetBackupContainer() *xxdk.Container { + return &xxdk.Container{} +} + func (m mockE2e) GetE2E() e2e.Handler { return mockE2eHandler{} } diff --git a/ud/register.go b/ud/register.go index d70eaf0e2c71e80e859be942e19b3e6aa1196383..0cf1f7ba80fe6e1507873db227d9c83f054da68d 100644 --- a/ud/register.go +++ b/ud/register.go @@ -95,6 +95,7 @@ func (m *Manager) register(username string, networkSignature []byte, m.getEventReporter().Report(1, "UserDiscovery", "Registration", fmt.Sprintf("User Registered with UD: %+v", username)) + m.user.GetBackupContainer().TriggerBackup("User registered with UD") } return err diff --git a/ud/remove.go b/ud/remove.go index 71db207ed6c263e8024f3df6cd1e56aba3cb8a29..e2a719c70f6e0d40659dbf0b6dbbedb3b327632d 100644 --- a/ud/remove.go +++ b/ud/remove.go @@ -26,8 +26,13 @@ import ( func (m *Manager) RemoveFact(f fact.Fact) error { jww.INFO.Printf("ud.RemoveFact(%s)", f.Stringify()) m.factMux.Lock() - defer m.factMux.Unlock() - return m.removeFact(f, m.comms) + err := m.removeFact(f, m.comms) + m.factMux.Unlock() + if err != nil { + return err + } + m.user.GetBackupContainer().TriggerBackup("Removed fact") + return nil } // removeFact is a helper function which contacts the UD service