From 86cca8e8c3e22803be44df78ba1eb414f8abc7ab Mon Sep 17 00:00:00 2001 From: slothful-vassal <89943360+slothful-vassal@users.noreply.github.com> Date: Sun, 11 Jan 2026 22:19:16 +0100 Subject: [PATCH] fix duplicated lists after publishing (activitypub instances) (#706) --- db/util/activitypub.go | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/db/util/activitypub.go b/db/util/activitypub.go index b4c4f505..d4b56bd0 100644 --- a/db/util/activitypub.go +++ b/db/util/activitypub.go @@ -447,7 +447,18 @@ func ListFromActivity(activity pub.Activity, app core.App, actor *core.Record) ( return nil, err } - record, err := app.FindFirstRecordByData("lists", "iri", l.ID.String()) + iri := l.ID.String() + var record *core.Record + if actor.GetBool(("isLocal")) { + listURL, parseErr := url.Parse(iri) + if parseErr != nil { + return nil, parseErr + } + listId := path.Base(listURL.Path) + record, err = app.FindRecordById("lists", listId) + } else { + record, err = app.FindFirstRecordByData("lists", "iri", iri) + } if err != nil { if err == sql.ErrNoRows { collection, err := app.FindCollectionByNameOrId("lists") @@ -470,7 +481,7 @@ func ListFromActivity(activity pub.Activity, app core.App, actor *core.Record) ( record.Set("name", l.Name.First().Value) record.Set("description", l.Content.First().Value) record.Set("public", true) - record.Set("iri", l.ID.String()) + record.Set("iri", iri) record.Set("author", actor.Id) if l.Attachment != nil {