forked from Silverfish/proton-bridge
chore(GODT-2444): Bad event info
This commit is contained in:
@ -56,7 +56,7 @@ func (bridge *Bridge) handleUserEvent(ctx context.Context, user *user.User, even
|
|||||||
bridge.handleUserDeauth(ctx, user)
|
bridge.handleUserDeauth(ctx, user)
|
||||||
|
|
||||||
case events.UserBadEvent:
|
case events.UserBadEvent:
|
||||||
bridge.handleUserBadEvent(ctx, user, event.Error)
|
bridge.handleUserBadEvent(ctx, user, event)
|
||||||
|
|
||||||
case events.UncategorizedEventError:
|
case events.UncategorizedEventError:
|
||||||
bridge.handleUncategorizedErrorEvent(event)
|
bridge.handleUncategorizedErrorEvent(event)
|
||||||
@ -140,11 +140,15 @@ func (bridge *Bridge) handleUserDeauth(ctx context.Context, user *user.User) {
|
|||||||
}, bridge.usersLock)
|
}, bridge.usersLock)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (bridge *Bridge) handleUserBadEvent(ctx context.Context, user *user.User, err error) {
|
func (bridge *Bridge) handleUserBadEvent(ctx context.Context, user *user.User, event events.UserBadEvent) {
|
||||||
safe.Lock(func() {
|
safe.Lock(func() {
|
||||||
if rerr := bridge.reporter.ReportMessageWithContext("Failed to handle event", reporter.Context{
|
if rerr := bridge.reporter.ReportMessageWithContext("Failed to handle event", reporter.Context{
|
||||||
"error_type": fmt.Sprintf("%T", internal.ErrCause(err)),
|
"user_id": user.ID(),
|
||||||
"error": err,
|
"old_event_id": event.OldEventID,
|
||||||
|
"new_event_id": event.NewEventID,
|
||||||
|
"event_info": event.EventInfo,
|
||||||
|
"error": event.Error,
|
||||||
|
"error_type": fmt.Sprintf("%T", internal.ErrCause(event.Error)),
|
||||||
}); rerr != nil {
|
}); rerr != nil {
|
||||||
logrus.WithError(rerr).Error("Failed to report failed event handling")
|
logrus.WithError(rerr).Error("Failed to report failed event handling")
|
||||||
}
|
}
|
||||||
|
|||||||
@ -104,11 +104,22 @@ type UserBadEvent struct {
|
|||||||
eventBase
|
eventBase
|
||||||
|
|
||||||
UserID string
|
UserID string
|
||||||
|
OldEventID string
|
||||||
|
NewEventID string
|
||||||
|
EventInfo string
|
||||||
|
|
||||||
Error error
|
Error error
|
||||||
}
|
}
|
||||||
|
|
||||||
func (event UserBadEvent) String() string {
|
func (event UserBadEvent) String() string {
|
||||||
return fmt.Sprintf("UserBadEvent: UserID: %s, Error: %s", event.UserID, event.Error)
|
return fmt.Sprintf(
|
||||||
|
"UserBadEvent: UserID: %s, OldEventID: %s, NewEventID: %s, EventInfo: %v, Error: %s",
|
||||||
|
event.UserID,
|
||||||
|
event.OldEventID,
|
||||||
|
event.NewEventID,
|
||||||
|
event.EventInfo,
|
||||||
|
event.Error,
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
// UserDeleted is emitted when a user has been deleted.
|
// UserDeleted is emitted when a user has been deleted.
|
||||||
|
|||||||
@ -694,6 +694,9 @@ func (user *User) doEventPoll(ctx context.Context) error {
|
|||||||
|
|
||||||
user.eventCh.Enqueue(events.UserBadEvent{
|
user.eventCh.Enqueue(events.UserBadEvent{
|
||||||
UserID: user.ID(),
|
UserID: user.ID(),
|
||||||
|
OldEventID: user.vault.EventID(),
|
||||||
|
NewEventID: event.EventID,
|
||||||
|
EventInfo: event.String(),
|
||||||
Error: err,
|
Error: err,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user