From 58a98b876f0104bbcf3a718776b45163a714f422 Mon Sep 17 00:00:00 2001 From: Anirudh Oppiliappan Date: Wed, 21 May 2025 20:24:35 +0300 Subject: [PATCH] appview: pages/markup: don't double camo in post process Change-Id: uruyyqupsmrovvylyqrqtmpwsrprurnu --- appview/pages/markup/markdown.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/appview/pages/markup/markdown.go b/appview/pages/markup/markdown.go index 22c71dd..1186108 100644 --- a/appview/pages/markup/markdown.go +++ b/appview/pages/markup/markdown.go @@ -127,9 +127,14 @@ func visitNode(ctx *RenderContext, node *htmlparse.Node) { if attr.Key != "src" { continue } - attr.Val = ctx.imageFromKnotTransformer(attr.Val) - attr.Val = ctx.camoImageLinkTransformer(attr.Val) - node.Attr[i] = attr + + camoUrl, _ := url.Parse(ctx.CamoUrl) + dstUrl, _ := url.Parse(attr.Val) + if dstUrl.Host != camoUrl.Host { + attr.Val = ctx.imageFromKnotTransformer(attr.Val) + attr.Val = ctx.camoImageLinkTransformer(attr.Val) + node.Attr[i] = attr + } } } -- 2.43.0 From a789346a0dd1c3bc278dd75b253ea633d56d5a42 Mon Sep 17 00:00:00 2001 From: Anirudh Oppiliappan Date: Wed, 21 May 2025 20:24:35 +0300 Subject: [PATCH] appview: state: fix panics in repoindex Change-Id: yynslowxntqlzpnpwutrkyqswoxpvlwv Language percentages was using user.Did instead of f.OwnerDid which caused repo index to crash when unauthed. --- appview/state/repo.go | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/appview/state/repo.go b/appview/state/repo.go index 976626c..8b746ea 100644 --- a/appview/state/repo.go +++ b/appview/state/repo.go @@ -127,28 +127,31 @@ func (s *State) RepoIndex(w http.ResponseWriter, r *http.Request) { secret, err := db.GetRegistrationKey(s.db, f.Knot) if err != nil { log.Printf("failed to get registration key for %s: %s", f.Knot, err) - s.pages.Notice(w, "resubmit-error", "Failed to create pull request. Try again later.") + s.pages.Error500(w) + return } signedClient, err := knotclient.NewSignedClient(f.Knot, secret, s.config.Core.Dev) if err != nil { log.Printf("failed to create signed client for %s: %s", f.Knot, err) + s.pages.Error500(w) return } var forkInfo *types.ForkInfo if user != nil && (repoInfo.Roles.IsOwner() || repoInfo.Roles.IsCollaborator()) { - forkInfo, err = getForkInfo(repoInfo, s, f, w, user, signedClient) + forkInfo, err = getForkInfo(repoInfo, s, f, w, user, signedClient) if err != nil { - log.Printf("Failed to fetch fork information: %v", err) + log.Printf("failed to fetch fork information: %v", err) + s.pages.Error500(w) return } } - repoLanguages, err := signedClient.RepoLanguages(user.Did, string(f.RepoAt), repoInfo.Name, f.Ref) + repoLanguages, err := signedClient.RepoLanguages(f.OwnerDid(), f.RepoAt.String(), repoInfo.Name, f.Ref) if err != nil { + // non-fatal log.Printf("failed to compute language percentages: %s", err) - return } s.pages.RepoIndexPage(w, pages.RepoIndexParams{ -- 2.43.0