From 64b39685ed74f98b382a21ac850c7950ebd5fa85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A5l=20H=C3=A5land?= <4449863+palhaland@users.noreply.github.com> Date: Sun, 31 May 2026 16:25:42 +0200 Subject: [PATCH] fix: use ActivityPub actor ID for shared trails/lists search token filtering (#1014) * fix: use ActivityPub actor ID for shared trails/lists search token filtering * fix deprecated meili token storage --------- Co-authored-by: Flomp Co-authored-by: Christian Beutel <> --- db/hooks/users.go | 22 +--------------------- db/routes/search_token.go | 5 ++--- 2 files changed, 3 insertions(+), 24 deletions(-) diff --git a/db/hooks/users.go b/db/hooks/users.go index 6753c7e5..638167b1 100644 --- a/db/hooks/users.go +++ b/db/hooks/users.go @@ -12,36 +12,16 @@ import ( func CreateUserHandler(client meilisearch.ServiceManager) func(e *core.RecordEvent) error { return func(e *core.RecordEvent) error { - userId := e.Record.Id - err := createDefaultUserSettings(e.App, e.Record.Id) if err != nil { return err } - actor, err := util.ActorFromUser(e.App, e.Record) + _, err = util.ActorFromUser(e.App, e.Record) if err != nil { return err } - searchRules := map[string]interface{}{ - "lists": map[string]string{ - "filter": "public = true OR author = " + actor.Id + " OR shares = " + userId, - }, - "trails": map[string]string{ - "filter": "public = true OR author = " + actor.Id + " OR shares = " + userId, - }, - } - - token, err := util.GenerateMeilisearchToken(searchRules, client) - if err != nil { - return err - } - e.Record.Set("token", token) - if err := e.App.Save(e.Record); err != nil { - return err - } - return e.Next() } } diff --git a/db/routes/search_token.go b/db/routes/search_token.go index e5cd9709..228c2dc8 100644 --- a/db/routes/search_token.go +++ b/db/routes/search_token.go @@ -16,7 +16,6 @@ func SearchToken(client meilisearch.ServiceManager) func(e *core.RequestEvent) e } if e.Auth != nil { - userId := e.Auth.Id userActor, err := e.App.FindFirstRecordByData("activitypub_actors", "user", e.Auth.Id) if err != nil { return err @@ -24,10 +23,10 @@ func SearchToken(client meilisearch.ServiceManager) func(e *core.RequestEvent) e searchRules = map[string]any{ "lists": map[string]string{ - "filter": "public = true OR author = " + userActor.Id + " OR shares = " + userId, + "filter": "public = true OR author = " + userActor.Id + " OR shares = " + userActor.Id, }, "trails": map[string]string{ - "filter": "public = true OR author = " + userActor.Id + " OR shares = " + userId, + "filter": "public = true OR author = " + userActor.Id + " OR shares = " + userActor.Id, }, } }