bridgev2/backfillqueue: don't try to backfill with non-logged-in client
Some checks are pending
Go / Lint (latest) (push) Waiting to run
Go / Build (old, libolm) (push) Waiting to run
Go / Build (latest, libolm) (push) Waiting to run
Go / Build (old, goolm) (push) Waiting to run
Go / Build (latest, goolm) (push) Waiting to run

This commit is contained in:
Tulir Asokan 2024-08-20 15:47:39 +03:00
commit 063d374226

View file

@ -153,18 +153,26 @@ func (br *Bridge) actuallyDoBackfillTask(ctx context.Context, task *database.Bac
login, err := br.GetExistingUserLoginByID(ctx, task.UserLoginID)
if err != nil {
return false, fmt.Errorf("failed to get user login for backfill task: %w", err)
} else if login == nil {
log.Warn().Msg("User login not found for backfill task")
} else if login == nil || !login.Client.IsLoggedIn() {
if login == nil {
log.Warn().Msg("User login not found for backfill task")
} else {
log.Warn().Msg("User login not logged in for backfill task")
}
logins, err := br.GetUserLoginsInPortal(ctx, portal.PortalKey)
if err != nil {
return false, fmt.Errorf("failed to get user portals for backfill task: %w", err)
} else if len(logins) == 0 {
log.Debug().Msg("No user logins found for backfill task")
task.NextDispatchMinTS = database.BackfillNextDispatchNever
task.UserLoginID = ""
if login == nil {
task.UserLoginID = ""
}
return false, nil
}
task.UserLoginID = ""
if login == nil {
task.UserLoginID = ""
}
for _, login = range logins {
if login.Client.IsLoggedIn() {
task.UserLoginID = login.ID