From e9410028bb0c910ed5cbce5014a5ceb1c0e63c60 Mon Sep 17 00:00:00 2001 From: oppiliappan Date: Tue, 5 May 2026 10:41:03 +0100 Subject: [PATCH] appview/repo: fix treeview permalinks to use repoDIDs only blobs used repoDIDs, this patches the permalinkShortcut template to make this work on tree views as well. Signed-off-by: oppiliappan --- appview/pages/repoinfo/repoinfo.go | 8 ++++++++ .../pages/templates/repo/fragments/permalinkShortcut.html | 2 +- appview/reporesolver/resolver.go | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/appview/pages/repoinfo/repoinfo.go b/appview/pages/repoinfo/repoinfo.go index f5b505bb..61835efd 100644 --- a/appview/pages/repoinfo/repoinfo.go +++ b/appview/pages/repoinfo/repoinfo.go @@ -23,6 +23,13 @@ func (r RepoInfo) FullName() string { return path.Join(r.owner(), r.Name) } +func (r RepoInfo) RepoIdentifier() string { + if r.RepoDid != "" { + return r.RepoDid + } + return path.Join(r.OwnerDid, r.Name) +} + func (r RepoInfo) ownerWithoutAt() string { if r.OwnerHandle != "" { return r.OwnerHandle @@ -59,6 +66,7 @@ type RepoInfo struct { Rkey string OwnerDid string OwnerHandle string + RepoDid string Description string Website string Topics []string diff --git a/appview/pages/templates/repo/fragments/permalinkShortcut.html b/appview/pages/templates/repo/fragments/permalinkShortcut.html index bd3a02fc..71fffd35 100644 --- a/appview/pages/templates/repo/fragments/permalinkShortcut.html +++ b/appview/pages/templates/repo/fragments/permalinkShortcut.html @@ -7,7 +7,7 @@ document.addEventListener('keydown', (e) => { if(e.key === 'y' && !e.ctrlKey && !e.metaKey && !e.altKey) { if(e.target.tagName === 'INPUT' || e.target.tagName === 'TEXTAREA') return; - const permalinkUrl = '/{{ .RepoInfo.FullName }}/tree/{{ .LastCommitInfo.Hash }}/{{ .Path }}'; + const permalinkUrl = '/{{ .RepoInfo.RepoIdentifier }}/tree/{{ .LastCommitInfo.Hash }}/{{ .Path }}'; window.location.href = permalinkUrl; } }, {signal: abortController.signal}); diff --git a/appview/reporesolver/resolver.go b/appview/reporesolver/resolver.go index d8f9848c..588de353 100644 --- a/appview/reporesolver/resolver.go +++ b/appview/reporesolver/resolver.go @@ -127,6 +127,7 @@ func (rr *RepoResolver) GetRepoInfo(r *http.Request, user *oauth.MultiAccountUse // this is basically a models.Repo OwnerDid: ownerId.DID.String(), OwnerHandle: ownerHandle, + RepoDid: repo.RepoDid, Name: repo.Name, Rkey: repo.Rkey, Description: repo.Description, -- 2.51.2