Pārlūkot izejas kodu

perf(js): don't load `webauthn,js` when disabled

This saves around 1kB of data, yay.
Julien Voisin 7 mēneši atpakaļ
vecāks
revīzija
3955df43f5
3 mainītis faili ar 8 papildinājumiem un 3 dzēšanām
  1. 1 1
      internal/cli/cli.go
  2. 1 0
      internal/ui/static/js/app.js
  3. 6 2
      internal/ui/static/static.go

+ 1 - 1
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))
 	}
 

+ 1 - 0
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();

+ 6 - 2
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}