loading up the forgejo repo on tangled to test page performance
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Fix incorrect relative/absolute URL usages (#29531)

Add two "HTMLURL" methods for PackageDescriptor.
And rename "FullWebLink" to "VersionWebLink"

(cherry picked from commit bf6502a8f7a2e9a2b64b43b7733316d863c9a768)

authored by

wxiaoguang and committed by
Earl Warren
12441d7c 47a913d4

+17 -6
+13 -3
models/packages/descriptor.go
··· 70 70 Properties PackagePropertyList 71 71 } 72 72 73 - // PackageWebLink returns the package web link 73 + // PackageWebLink returns the relative package web link 74 74 func (pd *PackageDescriptor) PackageWebLink() string { 75 75 return fmt.Sprintf("%s/-/packages/%s/%s", pd.Owner.HomeLink(), string(pd.Package.Type), url.PathEscape(pd.Package.LowerName)) 76 76 } 77 77 78 - // FullWebLink returns the package version web link 79 - func (pd *PackageDescriptor) FullWebLink() string { 78 + // VersionWebLink returns the relative package version web link 79 + func (pd *PackageDescriptor) VersionWebLink() string { 80 80 return fmt.Sprintf("%s/%s", pd.PackageWebLink(), url.PathEscape(pd.Version.LowerVersion)) 81 + } 82 + 83 + // PackageHTMLURL returns the absolute package HTML URL 84 + func (pd *PackageDescriptor) PackageHTMLURL() string { 85 + return fmt.Sprintf("%s/-/packages/%s/%s", pd.Owner.HTMLURL(), string(pd.Package.Type), url.PathEscape(pd.Package.LowerName)) 86 + } 87 + 88 + // VersionHTMLURL returns the absolute package version HTML URL 89 + func (pd *PackageDescriptor) VersionHTMLURL() string { 90 + return fmt.Sprintf("%s/%s", pd.PackageHTMLURL(), url.PathEscape(pd.Version.LowerVersion)) 81 91 } 82 92 83 93 // CalculateBlobSize returns the total blobs size in bytes
+2 -1
routers/api/packages/npm/api.go
··· 12 12 13 13 packages_model "code.gitea.io/gitea/models/packages" 14 14 npm_module "code.gitea.io/gitea/modules/packages/npm" 15 + "code.gitea.io/gitea/modules/setting" 15 16 ) 16 17 17 18 func createPackageMetadataResponse(registryURL string, pds []*packages_model.PackageDescriptor) *npm_module.PackageMetadata { ··· 98 99 Maintainers: []npm_module.User{}, // npm cli needs this field 99 100 Keywords: metadata.Keywords, 100 101 Links: &npm_module.PackageSearchPackageLinks{ 101 - Registry: pd.FullWebLink(), 102 + Registry: setting.AppURL + "api/packages/" + pd.Owner.Name + "/npm", 102 103 Homepage: metadata.ProjectURL, 103 104 }, 104 105 },
+1 -1
routers/web/user/package.go
··· 163 163 return 164 164 } 165 165 166 - ctx.Redirect(pd.FullWebLink()) 166 + ctx.Redirect(pd.VersionWebLink()) 167 167 } 168 168 169 169 // ViewPackageVersion displays a single package version
+1 -1
services/convert/package.go
··· 35 35 Name: pd.Package.Name, 36 36 Version: pd.Version.Version, 37 37 CreatedAt: pd.Version.CreatedUnix.AsTime(), 38 - HTMLURL: pd.FullWebLink(), 38 + HTMLURL: pd.VersionHTMLURL(), 39 39 }, nil 40 40 } 41 41