appview: pages/markup: don't double camo in post process #140

closed
opened by anirudh.fi targeting master from push-yynslowxntql
Changed files
+16 -8
appview
pages
markup
state
+8 -3
appview/pages/markup/markdown.go
··· 127 127 if attr.Key != "src" { 128 128 continue 129 129 } 130 - attr.Val = ctx.imageFromKnotTransformer(attr.Val) 131 - attr.Val = ctx.camoImageLinkTransformer(attr.Val) 132 - node.Attr[i] = attr 130 + 131 + camoUrl, _ := url.Parse(ctx.CamoUrl) 132 + dstUrl, _ := url.Parse(attr.Val) 133 + if dstUrl.Host != camoUrl.Host { 134 + attr.Val = ctx.imageFromKnotTransformer(attr.Val) 135 + attr.Val = ctx.camoImageLinkTransformer(attr.Val) 136 + node.Attr[i] = attr 137 + } 133 138 } 134 139 } 135 140
+8 -5
appview/state/repo.go
··· 127 127 secret, err := db.GetRegistrationKey(s.db, f.Knot) 128 128 if err != nil { 129 129 log.Printf("failed to get registration key for %s: %s", f.Knot, err) 130 - s.pages.Notice(w, "resubmit-error", "Failed to create pull request. Try again later.") 130 + s.pages.Error500(w) 131 + return 131 132 } 132 133 133 134 signedClient, err := knotclient.NewSignedClient(f.Knot, secret, s.config.Core.Dev) 134 135 if err != nil { 135 136 log.Printf("failed to create signed client for %s: %s", f.Knot, err) 137 + s.pages.Error500(w) 136 138 return 137 139 } 138 140 139 141 var forkInfo *types.ForkInfo 140 142 if user != nil && (repoInfo.Roles.IsOwner() || repoInfo.Roles.IsCollaborator()) { 141 - forkInfo, err = getForkInfo(repoInfo, s, f, w, user, signedClient) 143 + forkInfo, err = getForkInfo(repoInfo, s, f, w, user, signedClient) 142 144 if err != nil { 143 - log.Printf("Failed to fetch fork information: %v", err) 145 + log.Printf("failed to fetch fork information: %v", err) 146 + s.pages.Error500(w) 144 147 return 145 148 } 146 149 } 147 150 148 - repoLanguages, err := signedClient.RepoLanguages(user.Did, string(f.RepoAt), repoInfo.Name, f.Ref) 151 + repoLanguages, err := signedClient.RepoLanguages(f.OwnerDid(), f.RepoAt.String(), repoInfo.Name, f.Ref) 149 152 if err != nil { 153 + // non-fatal 150 154 log.Printf("failed to compute language percentages: %s", err) 151 - return 152 155 } 153 156 154 157 s.pages.RepoIndexPage(w, pages.RepoIndexParams{