From 3955df43f5ab82f8637ccbb5185b3ecad548531d Mon Sep 17 00:00:00 2001 From: Julien Voisin Date: Sat, 16 Aug 2025 02:11:12 +0200 Subject: [PATCH] perf(js): don't load `webauthn,js` when disabled This saves around 1kB of data, yay. --- internal/cli/cli.go | 2 +- internal/ui/static/js/app.js | 1 + internal/ui/static/static.go | 8 ++++++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/internal/cli/cli.go b/internal/cli/cli.go index da754bc5..d15beb19 100644 --- a/internal/cli/cli.go +++ b/internal/cli/cli.go @@ -164,7 +164,7 @@ func Parse() { printErrorAndExit(fmt.Errorf("unable to generate stylesheets bundle: %v", err)) } - if err := static.GenerateJavascriptBundles(); err != nil { + if err := static.GenerateJavascriptBundles(config.Opts.WebAuthn()); err != nil { printErrorAndExit(fmt.Errorf("unable to generate javascript bundle: %v", err)) } diff --git a/internal/ui/static/js/app.js b/internal/ui/static/js/app.js index 119835b8..32d2fd90 100644 --- a/internal/ui/static/js/app.js +++ b/internal/ui/static/js/app.js @@ -1114,6 +1114,7 @@ function initializeServiceWorker() { * Initialize WebAuthn handlers if supported. */ function initializeWebAuthn() { + if (typeof WebAuthnHandler !== 'function') return; if (!WebAuthnHandler.isWebAuthnSupported()) return; const webauthnHandler = new WebAuthnHandler(); diff --git a/internal/ui/static/static.go b/internal/ui/static/static.go index 74a5af2e..f0fc708f 100644 --- a/internal/ui/static/static.go +++ b/internal/ui/static/static.go @@ -7,6 +7,7 @@ import ( "bytes" "embed" "log/slog" + "slices" "strings" "miniflux.app/v2/internal/crypto" @@ -117,14 +118,13 @@ func GenerateStylesheetsBundles() error { } // GenerateJavascriptBundles creates JS bundles. -func GenerateJavascriptBundles() error { +func GenerateJavascriptBundles(webauthnEnabled bool) error { var bundles = map[string][]string{ "app": { "js/tt.js", // has to be first "js/touch_handler.js", "js/keyboard_handler.js", "js/modal_handler.js", - "js/webauthn_handler.js", "js/app.js", }, "service-worker": { @@ -132,6 +132,10 @@ func GenerateJavascriptBundles() error { }, } + if webauthnEnabled { + bundles["app"] = slices.Insert(bundles["app"], 1, "js/webauthn_handler.js") + } + JavascriptBundles = make(map[string]asset, len(bundles)) jsMinifier := js.Minifier{Version: 2020}