From e796ecb64c9283fde4e9078d2a0ab0fdef74e690 Mon Sep 17 00:00:00 2001 From: Seongmin Lee Date: Thu, 2 Apr 2026 20:01:48 +0900 Subject: [PATCH] appview,knotmirror: follow updated `git.refUpdate` event schema Signed-off-by: Seongmin Lee --- appview/state/knotstream.go | 5 +++++ knotmirror/knotstream/slurper.go | 17 +++++++++++------ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/appview/state/knotstream.go b/appview/state/knotstream.go index 540ccd14..58f2311b 100644 --- a/appview/state/knotstream.go +++ b/appview/state/knotstream.go @@ -117,6 +117,11 @@ func ingestRefUpdate(ctx context.Context, d *db.DB, enforcer *rbac.Enforcer, pc ownerDid := "" if record.OwnerDid != nil { ownerDid = *record.OwnerDid + } else { + // handle legacy event + if record.RepoDid != nil { + ownerDid = *record.RepoDid + } } repo, lookupErr := resolveRepo(d, record.RepoDid, ownerDid, record.RepoName) diff --git a/knotmirror/knotstream/slurper.go b/knotmirror/knotstream/slurper.go index 5ec9d3b0..e6299eac 100644 --- a/knotmirror/knotstream/slurper.go +++ b/knotmirror/knotstream/slurper.go @@ -280,13 +280,18 @@ func (s *KnotSlurper) ProcessLegacyGitRefUpdate(ctx context.Context, source stri l := s.logger.With("src", source) - repoDid := "" - if evt.Event.RepoDid != nil { - repoDid = *evt.Event.RepoDid + ownerDid := "" + if evt.Event.OwnerDid != nil { + ownerDid = *evt.Event.OwnerDid + } else { + // handle legacy event + if evt.Event.RepoDid != nil { + ownerDid = *evt.Event.RepoDid + } } - curr, err := db.GetRepoByName(ctx, s.db, syntax.DID(repoDid), evt.Event.RepoName) + curr, err := db.GetRepoByName(ctx, s.db, syntax.DID(ownerDid), evt.Event.RepoName) if err != nil { - return fmt.Errorf("failed to get repo '%s': %w", repoDid+"/"+evt.Event.RepoName, err) + return fmt.Errorf("failed to get repo '%s': %w", ownerDid+"/"+evt.Event.RepoName, err) } if curr == nil { // if repo doesn't exist in DB, just ignore the event. That repo is unknown. @@ -296,7 +301,7 @@ func (s *KnotSlurper) ProcessLegacyGitRefUpdate(ctx context.Context, source stri // But we want to store that in did/rkey in knot-mirror. // Therefore, we should ignore when the repository is unknown. // Hopefully crawler will sync it later. - l.Warn("skipping event from unknown repo", "did/name", repoDid+"/"+evt.Event.RepoName) + l.Warn("skipping event from unknown repo", "did/name", ownerDid+"/"+evt.Event.RepoName) knotstreamEventsSkipped.Inc() return nil } -- 2.51.2