From a12c169ce88c5cf6711a3239f1687a1dad24a241 Mon Sep 17 00:00:00 2001 From: kolaente Date: Tue, 13 Feb 2024 21:32:41 +0100 Subject: [PATCH] fix: do not send etag when serving the frontend index file Without this change, the browser may serve an outdated index.html file which usually does not work, showing the user only a blank page. --- pkg/routes/static.go | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/pkg/routes/static.go b/pkg/routes/static.go index 453b9345bb..925dc3c34c 100644 --- a/pkg/routes/static.go +++ b/pkg/routes/static.go @@ -126,12 +126,11 @@ func serveIndexFile(c echo.Context, assetFs http.FileSystem) (err error) { return err } - etag, err := generateEtag(index, info.Name()) - if err != nil { - return err - } - - return serveFile(c, reader, info, etag) + //etag, err := generateEtag(index, info.Name()) + //if err != nil { + // return err + //} + return serveFile(c, reader, info, "") } // Copied from echo's middleware.StaticWithConfig simplified and adjusted for caching @@ -271,7 +270,9 @@ func serveFile(c echo.Context, file io.ReadSeeker, info os.FileInfo, etag string c.Response().Header().Set("Server", "Vikunja") c.Response().Header().Set("Vary", "Accept-Encoding") - c.Response().Header().Set("Etag", etag) + if etag != "" { + c.Response().Header().Set("Etag", etag) + } cacheControl, err := getCacheControlHeader(info, file) if err != nil {