refactor(web): simplify static asset names
CI / validate (push) Canceled after 11m38s

This commit is contained in:
2026-08-16 10:53:16 +02:00
parent cb884a4bd9
commit d9796cef9c
22 changed files with 43 additions and 43 deletions
+1 -1
View File
@@ -5,7 +5,7 @@ Read this compact operational baseline before starting a milestone. Open detaile
## Baseline
- Current reference: post-v0.1.1 release-gate correction based on tagged baseline `88a45c7`.
- Source-facing HTML templates, CSS and browser JavaScript are structurally formatted for maintainability; this formatting-only baseline preserves their existing contracts and behavior.
- Source-facing HTML templates, CSS and browser JavaScript are structurally formatted for maintainability; the primary assets are exposed as `app.css`, `theme.css` and `app.js` with simple development-friendly cache headers.
- SQLite is initialized directly from one embedded current schema and can be reopened safely after first initialization. Development databases from earlier revisions are intentionally unsupported until versioned production migrations are introduced.
- Roadmap milestones 1-10 are implemented; this is the V1 feature baseline.
+7 -10
View File
@@ -331,13 +331,10 @@ func newHandlerServicesWithCatalog(authService *auth.Service, repository reposit
mux.HandleFunc("POST /api/v1/imports", s.importCreate)
}
}
mux.HandleFunc("GET /static/app.v1.css", s.stylesheet)
mux.HandleFunc("GET /static/app.v2.css", s.stylesheet)
mux.HandleFunc("GET /static/app.css", s.stylesheet)
mux.HandleFunc("GET /static/mobile-fixes.css", s.mobileStylesheet)
mux.HandleFunc("GET /static/theme.v1.css", s.themeStylesheet)
mux.HandleFunc("GET /static/theme.v2.css", s.themeStylesheet)
mux.HandleFunc("GET /static/app.v1.js", s.javascript)
mux.HandleFunc("GET /static/app.v2.js", s.javascript)
mux.HandleFunc("GET /static/theme.css", s.themeStylesheet)
mux.HandleFunc("GET /static/app.js", s.javascript)
mux.HandleFunc("GET /static/dogama-logo.png", s.logo)
mux.HandleFunc("GET /static/dogama.png", s.brandLogo)
mux.HandleFunc("GET /static/dogama-brand-banner.png", s.brandBanner)
@@ -2315,14 +2312,14 @@ func (s *server) render(w http.ResponseWriter, status int, name string, data pag
}
func (s *server) stylesheet(w http.ResponseWriter, _ *http.Request) {
body, err := assets.Open("static/app.v1.css")
body, err := assets.Open("static/app.css")
if err != nil {
http.Error(w, "Not found.", http.StatusNotFound)
return
}
defer func() { _ = body.Close() }()
w.Header().Set("Content-Type", "text/css; charset=utf-8")
w.Header().Set("Cache-Control", "public, max-age=31536000, immutable")
w.Header().Set("Cache-Control", "public, max-age=86400")
_, _ = io.Copy(w, body)
}
@@ -2339,7 +2336,7 @@ func (s *server) mobileStylesheet(w http.ResponseWriter, _ *http.Request) {
}
func (s *server) themeStylesheet(w http.ResponseWriter, _ *http.Request) {
body, err := assets.Open("static/theme.v1.css")
body, err := assets.Open("static/theme.css")
if err != nil {
http.Error(w, "Not found.", http.StatusNotFound)
return
@@ -2375,7 +2372,7 @@ func (s *server) brandLogo(w http.ResponseWriter, _ *http.Request) {
}
func (s *server) javascript(w http.ResponseWriter, _ *http.Request) {
body, err := assets.Open("static/app.v1.js")
body, err := assets.Open("static/app.js")
if err != nil {
http.Error(w, "Not found.", http.StatusNotFound)
return
+5 -5
View File
@@ -537,15 +537,15 @@ func TestOfficialLogoIsServed(t *testing.T) {
if response.Header().Get("Content-Type") != "image/png" || response.Body.Len() < 1000 {
t.Fatal("official logo asset missing")
}
javascript := request(t, handler, http.MethodGet, "/static/app.v1.js", nil)
javascript := request(t, handler, http.MethodGet, "/static/app.js", nil)
assertStatus(t, javascript, http.StatusOK)
if !strings.Contains(javascript.Body.String(), "nav-open") || !strings.Contains(javascript.Body.String(), "instance-search") {
t.Fatal("responsive navigation or instance search script missing")
}
assertStatus(t, request(t, handler, http.MethodGet, "/static/app.v2.css", nil), http.StatusOK)
assertStatus(t, request(t, handler, http.MethodGet, "/static/app.v2.js", nil), http.StatusOK)
assertStatus(t, request(t, handler, http.MethodGet, "/static/theme.v2.css", nil), http.StatusOK)
theme := request(t, handler, http.MethodGet, "/static/theme.v1.css", nil)
assertStatus(t, request(t, handler, http.MethodGet, "/static/app.css", nil), http.StatusOK)
assertStatus(t, request(t, handler, http.MethodGet, "/static/app.js", nil), http.StatusOK)
assertStatus(t, request(t, handler, http.MethodGet, "/static/theme.css", nil), http.StatusOK)
theme := request(t, handler, http.MethodGet, "/static/theme.css", nil)
assertStatus(t, theme, http.StatusOK)
if !strings.Contains(theme.Body.String(), "dogama-logo.png") {
t.Fatal("brand-derived application background missing")
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 647 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 KiB

+2 -2
View File
@@ -7,7 +7,7 @@
<title>
Settings · DoGaMa
</title>
<link rel="stylesheet" href="/static/app.v1.css">
<link rel="stylesheet" href="/static/app.css">
</head>
<body class="app-body">
{{template "sidebar" .}}
@@ -143,7 +143,7 @@
</form>
</section>
</main>
<script src="/static/app.v2.js">
<script src="/static/app.js">
</script>
</body>
</html>
+3 -3
View File
@@ -8,8 +8,8 @@
{{.Title}}
· DoGaMa
</title>
<link rel="stylesheet" href="/static/app.v2.css">
<link rel="stylesheet" href="/static/theme.v2.css">
<link rel="stylesheet" href="/static/app.css">
<link rel="stylesheet" href="/static/theme.css">
</head>
<body class="app-body">
{{template "sidebar" .}}
@@ -238,7 +238,7 @@
{{end}}
</section>
</main>
<script src="/static/app.v2.js">
<script src="/static/app.js">
</script>
</body>
</html>
+2 -2
View File
@@ -8,8 +8,8 @@
{{.CatalogDetail.Game.Name}}
· DoGaMa
</title>
<link rel="stylesheet" href="/static/app.v2.css">
<link rel="stylesheet" href="/static/theme.v2.css">
<link rel="stylesheet" href="/static/app.css">
<link rel="stylesheet" href="/static/theme.css">
</head>
<body class="app-body">
{{template "sidebar" .}}
+3 -3
View File
@@ -8,8 +8,8 @@
{{.Title}}
· DoGaMa
</title>
<link rel="stylesheet" href="/static/app.v2.css">
<link rel="stylesheet" href="/static/theme.v2.css">
<link rel="stylesheet" href="/static/app.css">
<link rel="stylesheet" href="/static/theme.css">
</head>
<body class="app-body">
{{template "sidebar" .}}
@@ -106,7 +106,7 @@
</section>
{{end}}
</main>
<script src="/static/app.v2.js">
<script src="/static/app.js">
</script>
</body>
</html>
+3
View File
@@ -9,6 +9,9 @@
</button>
</header>
<aside class="sidebar" id="app-navigation">
<a class="brand" href="/">
<img src="/static/dogama-logo.png" alt="DoGaMa">
</a>
<a class="brand brand-image" href="/">
<img src="/static/dogama.png" alt="DoGaMa">
</a>
+3 -3
View File
@@ -8,8 +8,8 @@
{{.Msg "deployment.title"}}
· DoGaMa
</title>
<link rel="stylesheet" href="/static/app.v2.css">
<link rel="stylesheet" href="/static/theme.v2.css">
<link rel="stylesheet" href="/static/app.css">
<link rel="stylesheet" href="/static/theme.css">
</head>
<body class="app-body">
{{template "sidebar" .}}
@@ -101,7 +101,7 @@
</form>
</section>
</main>
<script src="/static/app.v2.js">
<script src="/static/app.js">
</script>
</body>
</html>
+3 -3
View File
@@ -8,8 +8,8 @@
{{.Title}}
· DoGaMa
</title>
<link rel="stylesheet" href="/static/app.v2.css">
<link rel="stylesheet" href="/static/theme.v2.css">
<link rel="stylesheet" href="/static/app.css">
<link rel="stylesheet" href="/static/theme.css">
</head>
<body class="app-body">
{{template "sidebar" .}}
@@ -216,7 +216,7 @@
</section>
</div>
</main>
<script src="/static/app.v2.js">
<script src="/static/app.js">
</script>
</body>
</html>
+3 -3
View File
@@ -8,8 +8,8 @@
{{.InstanceDetail.Instance.Preview.DisplayName}}
· DoGaMa
</title>
<link rel="stylesheet" href="/static/app.v2.css">
<link rel="stylesheet" href="/static/theme.v2.css">
<link rel="stylesheet" href="/static/app.css">
<link rel="stylesheet" href="/static/theme.css">
</head>
<body class="app-body">
{{template "sidebar" .}}
@@ -271,7 +271,7 @@
</section>
</div>
</main>
<script src="/static/app.v2.js">
<script src="/static/app.js">
</script>
</body>
</html>
+1 -1
View File
@@ -8,7 +8,7 @@
{{.Title}}
· DoGaMa
</title>
<link rel="stylesheet" href="/static/app.v1.css">
<link rel="stylesheet" href="/static/app.css">
</head>
<body class="auth-body">
<main class="auth-card">
+2 -2
View File
@@ -8,7 +8,7 @@
{{.Title}}
· DoGaMa
</title>
<link rel="stylesheet" href="/static/app.v1.css">
<link rel="stylesheet" href="/static/app.css">
</head>
<body class="app-body">
{{template "sidebar" .}}
@@ -346,7 +346,7 @@
</form>
</section>
</main>
<script src="/static/app.v2.js">
<script src="/static/app.js">
</script>
</body>
</html>
+1 -1
View File
@@ -8,7 +8,7 @@
{{.Title}}
· DoGaMa
</title>
<link rel="stylesheet" href="/static/app.v1.css">
<link rel="stylesheet" href="/static/app.css">
</head>
<body class="auth-body">
<main class="auth-card">
@@ -8,7 +8,7 @@
{{.Title}}
· DoGaMa
</title>
<link rel="stylesheet" href="/static/app.v1.css">
<link rel="stylesheet" href="/static/app.css">
</head>
<body class="app-body">
{{template "sidebar" .}}
@@ -107,7 +107,7 @@
{{end}}
</section>
</main>
<script src="/static/app.v2.js">
<script src="/static/app.js">
</script>
</body>
</html>
+2 -2
View File
@@ -7,7 +7,7 @@
<title>
Users · DoGaMa
</title>
<link rel="stylesheet" href="/static/app.v1.css">
<link rel="stylesheet" href="/static/app.css">
</head>
<body class="app-body">
{{template "sidebar" .}}
@@ -204,7 +204,7 @@
</section>
{{end}}
</main>
<script src="/static/app.v2.js">
<script src="/static/app.js">
</script>
</body>
</html>