login: initiate data export immediately after login (#119)

This commit is contained in:
Conan
2025-09-08 17:25:06 +08:00
committed by GitHub
parent 170b263a6c
commit 17b69a6eac
+18
View File
@@ -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 {