From 8148dc0f63b1f8a6c23d55edaefe3f5e350408f4 Mon Sep 17 00:00:00 2001 From: Seongmin Lee Date: Thu, 23 Apr 2026 12:04:55 +0000 Subject: [PATCH] knotserver/xrpc: emit `refUpdate` event on `repo.merge` xrpc call Signed-off-by: Seongmin Lee --- knotserver/xrpc/merge.go | 24 ++++++++++++++++++++++++ 1 file(s) changed, 24 insertion(s)(+), 0 deletion(s)(-) diff --git a/knotserver/xrpc/merge.go b/knotserver/xrpc/merge.go --- a/knotserver/xrpc/merge.go +++ b/knotserver/xrpc/merge.go @@ -8,9 +8,11 @@ "net/http" "github.com/bluesky-social/indigo/atproto/syntax" "tangled.org/core/api/tangled" + "tangled.org/core/knotserver/db" "tangled.org/core/knotserver/git" "tangled.org/core/patchutil" "tangled.org/core/rbac" + "tangled.org/core/tid" "tangled.org/core/types" xrpcerr "tangled.org/core/xrpc/errors" ) @@ -107,6 +109,28 @@ writeError(w, xrpcerr.GitError(err), http.StatusInternalServerError) return } } + + go func() { + refUpdate := tangled.GitRefUpdate{ + RepoDid: &repoDid, + OwnerDid: &data.Did, + RepoName: data.Name, + Ref: data.Branch, + OldSha: "", // TODO: fill this + NewSha: "", // TODO: fill this + CommitterDid: actorDid.String(), + } + eventJson, err := json.Marshal(refUpdate) + if err != nil { + return + } + + x.Db.InsertEvent(db.Event{ + Rkey: tid.TID(), + Nsid: tangled.GitRefUpdateNSID, + EventJson: string(eventJson), + }, x.Notifier) + }() w.WriteHeader(http.StatusOK) } -- tangled.sh