diff --git a/pkg/service/handlers/handlers_setup.go b/pkg/service/handlers/handlers_setup.go
index 74d5990..f637913 100644
--- a/pkg/service/handlers/handlers_setup.go
+++ b/pkg/service/handlers/handlers_setup.go
@@ -86,7 +86,6 @@ func (s *Server) HandleTriggerDiscovery(w http.ResponseWriter, _ *http.Request)
go s.DiscoverDevices(context.Background())
w.WriteHeader(http.StatusAccepted)
- _, _ = w.Write([]byte(`{"status": "Discovery started"}`))
}
// HandleGetDiscoveryStatus returns the current discovery status.
diff --git a/pkg/service/handlers/web/index.html b/pkg/service/handlers/web/index.html
index 06c070d..4493b28 100644
--- a/pkg/service/handlers/web/index.html
+++ b/pkg/service/handlers/web/index.html
@@ -152,9 +152,16 @@
(Standard services URL)
DNS Discovery:
diff --git a/pkg/service/handlers/web/js/script.js b/pkg/service/handlers/web/js/script.js
index a06f56f..4279849 100644
--- a/pkg/service/handlers/web/js/script.js
+++ b/pkg/service/handlers/web/js/script.js
@@ -1535,7 +1535,13 @@ async function triggerDiscovery() {
const indicator = document.getElementById("discovery-indicator");
if (indicator) indicator.style.display = "inline";
try {
- await fetch("/setup/discover", {method: "POST"});
+ const response = await fetch("/setup/discover", {method: "POST"});
+ if (!response.ok) {
+ const err = await response.text();
+ alert("Failed to start discovery: " + err);
+ if (indicator) indicator.style.display = "none";
+ return;
+ }
pollDiscoveryStatus();
} catch (error) {
console.error("Failed to trigger discovery", error);