login: initiate data export immediately after login (#119)
This commit is contained in:
@@ -21,6 +21,8 @@ import (
|
||||
"fmt"
|
||||
"net/http"
|
||||
"strings"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"maunium.net/go/mautrix/bridgev2"
|
||||
"maunium.net/go/mautrix/bridgev2/database"
|
||||
@@ -114,6 +116,22 @@ func finalizeLogin(ctx context.Context, user *bridgev2.User, authorization *tg.A
|
||||
}
|
||||
}()
|
||||
|
||||
go func() {
|
||||
log := ul.Log.With().Str("component", "login_takeout").Logger()
|
||||
client.takeoutLock.Lock()
|
||||
defer client.takeoutLock.Unlock()
|
||||
_, err = client.getTakeoutID(ctx)
|
||||
if err != nil {
|
||||
log.Err(err).Msg("Failed to get takeout")
|
||||
return
|
||||
}
|
||||
if client.stopTakeoutTimer == nil {
|
||||
client.stopTakeoutTimer = time.AfterFunc(max(time.Hour, time.Duration(client.main.Bridge.Config.Backfill.Queue.BatchDelay*2)), sync.OnceFunc(func() { client.stopTakeout(ctx) }))
|
||||
} else {
|
||||
client.stopTakeoutTimer.Reset(max(time.Hour, time.Duration(client.main.Bridge.Config.Backfill.Queue.BatchDelay*2)))
|
||||
}
|
||||
}()
|
||||
|
||||
fullName := util.FormatFullName(me.FirstName, me.LastName, me.Deleted, me.ID)
|
||||
username := me.Username
|
||||
if username == "" && len(me.Usernames) > 0 {
|
||||
|
||||
Reference in New Issue
Block a user