diff --git a/appview/oauth/handler.go b/appview/oauth/handler.go --- a/appview/oauth/handler.go +++ b/appview/oauth/handler.go @@ -96,7 +96,6 @@ go o.addToDefaultSpindle(sessData.AccountDID.String()) go o.ensureTangledProfile(sessData) go o.autoClaimTnglShDomain(sessData.AccountDID.String()) - go o.drainPdsRewrites(sessData) if !o.Config.Core.Dev { err = o.Posthog.Enqueue(posthog.Capture{ @@ -272,6 +271,19 @@ } l.Debug("successfully created empty Tangled profile on PDS and DB") +} + +func (o *OAuth) PdsRewriteMiddleware(next http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + defer next.ServeHTTP(w, r) + + sess, err := o.ResumeSession(r) + if err != nil { + return + } + + go o.drainPdsRewrites(sess.Data) + }) } func (o *OAuth) drainPdsRewrites(sessData *oauth.ClientSessionData) { diff --git a/appview/state/router.go b/appview/state/router.go --- a/appview/state/router.go +++ b/appview/state/router.go @@ -37,6 +37,8 @@ s.logger, ) + router.Use(s.oauth.PdsRewriteMiddleware) + router.Get("/pwa-manifest.json", s.WebAppManifest) router.Get("/robots.txt", s.RobotsTxt) router.Get("/.well-known/security.txt", s.SecurityTxt)