From eccf22454631c5e846bc7a61a36f7e559fe4a996 Mon Sep 17 00:00:00 2001 From: Seongmin Lee Date: Thu, 26 Mar 2026 04:07:57 +0000 Subject: [PATCH] appview: drain pds rewrites on any active sessions Signed-off-by: Seongmin Lee --- appview/oauth/handler.go | 14 +++++++++++++- appview/state/router.go | 2 ++ 2 file(s) changed, 15 insertion(s)(+), 1 deletion(s)(-) 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.addToDefaultKnot(sessData.AccountDID.String()) 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 @@ return } 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.rdb, 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) -- tangled.sh