From 56220515fc882943e366fafbce4d5b2b3ccee702 Mon Sep 17 00:00:00 2001 From: silverwind Date: Tue, 23 Aug 2022 14:58:04 +0200 Subject: Enable contenthash in filename for dynamic assets (#20813) This should solve the main problem of dynamic assets getting stale after a version upgrade. Everything not affected will use query-string based cache busting, which includes files loaded via HTML or worker scripts. --- modules/setting/setting.go | 3 +++ 1 file changed, 3 insertions(+) (limited to 'modules/setting/setting.go') diff --git a/modules/setting/setting.go b/modules/setting/setting.go index 931b6523ea..becd52f011 100644 --- a/modules/setting/setting.go +++ b/modules/setting/setting.go @@ -92,6 +92,8 @@ var ( // LocalURL is the url for locally running applications to contact Gitea. It always has a '/' suffix // It maps to ini:"LOCAL_ROOT_URL" LocalURL string + // AssetVersion holds a opaque value that is used for cache-busting assets + AssetVersion string // Server settings Protocol Scheme @@ -759,6 +761,7 @@ func loadFromConf(allowEmpty bool, extraConfig string) { } AbsoluteAssetURL = MakeAbsoluteAssetURL(AppURL, StaticURLPrefix) + AssetVersion = strings.ReplaceAll(AppVer, "+", "~") // make sure the version string is clear (no real escaping is needed) manifestBytes := MakeManifestData(AppName, AppURL, AbsoluteAssetURL) ManifestData = `application/json;base64,` + base64.StdEncoding.EncodeToString(manifestBytes) -- cgit v1.2.3