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.
This commit is contained in:
kolaente 2024-02-13 21:32:41 +01:00
parent 2facbae0d7
commit a12c169ce8
Signed by untrusted user: konrad
GPG Key ID: F40E70337AB24C9B
1 changed files with 8 additions and 7 deletions

View File

@ -126,12 +126,11 @@ func serveIndexFile(c echo.Context, assetFs http.FileSystem) (err error) {
return err return err
} }
etag, err := generateEtag(index, info.Name()) //etag, err := generateEtag(index, info.Name())
if err != nil { //if err != nil {
return err // return err
} //}
return serveFile(c, reader, info, "")
return serveFile(c, reader, info, etag)
} }
// Copied from echo's middleware.StaticWithConfig simplified and adjusted for caching // 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("Server", "Vikunja")
c.Response().Header().Set("Vary", "Accept-Encoding") 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) cacheControl, err := getCacheControlHeader(info, file)
if err != nil { if err != nil {