GODT-2222: Dot not error on unknown Address Events

Prevent infinite error loop in event parsing by not returning errors if
we already have or do not have a given address. This occurs since we
sync the latest state at Bridge startup but still receive the events
which contain these changes later.
This commit is contained in:
Leander Beernaert 2022-12-21 10:16:02 +01:00
parent 038e1794eb
commit 038b5d1437
1 changed files with 6 additions and 3 deletions

View File

@ -196,7 +196,8 @@ func (user *User) handleCreateAddressEvent(ctx context.Context, event proton.Add
}).Info("Handling address created event")
if _, ok := user.apiAddrs[event.Address.ID]; ok {
return fmt.Errorf("address %q already exists", event.ID)
user.log.Debugf("Address %q already exists", event.ID)
return nil
}
user.apiAddrs[event.Address.ID] = event.Address
@ -245,7 +246,8 @@ func (user *User) handleUpdateAddressEvent(_ context.Context, event proton.Addre
}).Info("Handling address updated event")
if _, ok := user.apiAddrs[event.Address.ID]; !ok {
return fmt.Errorf("address %q does not exist", event.Address.ID)
user.log.Debugf("Address %q does not exist", event.Address.ID)
return nil
}
user.apiAddrs[event.Address.ID] = event.Address
@ -266,7 +268,8 @@ func (user *User) handleDeleteAddressEvent(_ context.Context, event proton.Addre
addr, ok := user.apiAddrs[event.ID]
if !ok {
return fmt.Errorf("address %q does not exist", event.ID)
user.log.Debugf("Address %q does not exist", event.ID)
return nil
}
if user.vault.AddressMode() == vault.SplitMode {