forked from Silverfish/proton-bridge
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:
@ -196,7 +196,8 @@ func (user *User) handleCreateAddressEvent(ctx context.Context, event proton.Add
|
|||||||
}).Info("Handling address created event")
|
}).Info("Handling address created event")
|
||||||
|
|
||||||
if _, ok := user.apiAddrs[event.Address.ID]; ok {
|
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
|
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")
|
}).Info("Handling address updated event")
|
||||||
|
|
||||||
if _, ok := user.apiAddrs[event.Address.ID]; !ok {
|
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
|
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]
|
addr, ok := user.apiAddrs[event.ID]
|
||||||
if !ok {
|
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 {
|
if user.vault.AddressMode() == vault.SplitMode {
|
||||||
|
|||||||
Reference in New Issue
Block a user