63 lines
1.7 KiB
Diff
63 lines
1.7 KiB
Diff
diff --git a/gui/default/index.html b/gui/default/index.html
|
|
index e3e573c9a..5ec76e740 100644
|
|
--- a/gui/default/index.html
|
|
+++ b/gui/default/index.html
|
|
@@ -1017,6 +1017,9 @@
|
|
</div> <!-- /row -->
|
|
|
|
</div> <!-- /container -->
|
|
+ <footer class="container text-center text-muted small" aria-label="Custom build marker">
|
|
+ It syncs .stignore now!
|
|
+ </footer>
|
|
</div> <!-- /ng-cloak -->
|
|
|
|
<ng-include src="'syncthing/core/networkErrorDialogView.html'"></ng-include>
|
|
diff --git a/lib/api/auto/custom_marker_test.go b/lib/api/auto/custom_marker_test.go
|
|
new file mode 100644
|
|
index 000000000..73eae3db7
|
|
--- /dev/null
|
|
+++ b/lib/api/auto/custom_marker_test.go
|
|
@@ -0,0 +1,42 @@
|
|
+// Copyright (C) 2026 The Syncthing Authors.
|
|
+//
|
|
+// This Source Code Form is subject to the terms of the Mozilla Public
|
|
+// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
+// You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
+
|
|
+package auto
|
|
+
|
|
+import (
|
|
+ "compress/gzip"
|
|
+ "io"
|
|
+ "strings"
|
|
+ "testing"
|
|
+)
|
|
+
|
|
+const customBuildMarker = "It syncs .stignore now!"
|
|
+
|
|
+func TestCustomBuildMarkerIsEmbedded(t *testing.T) {
|
|
+ asset, ok := Assets()["default/index.html"]
|
|
+ if !ok {
|
|
+ t.Fatal("default/index.html is missing from embedded GUI assets")
|
|
+ }
|
|
+
|
|
+ content := asset.Content
|
|
+ if asset.Gzipped {
|
|
+ reader, err := gzip.NewReader(strings.NewReader(asset.Content))
|
|
+ if err != nil {
|
|
+ t.Fatal(err)
|
|
+ }
|
|
+ defer reader.Close()
|
|
+
|
|
+ data, err := io.ReadAll(reader)
|
|
+ if err != nil {
|
|
+ t.Fatal(err)
|
|
+ }
|
|
+ content = string(data)
|
|
+ }
|
|
+
|
|
+ if !strings.Contains(content, customBuildMarker) {
|
|
+ t.Fatalf("embedded GUI assets do not contain custom build marker %q", customBuildMarker)
|
|
+ }
|
|
+}
|