From 095a31ddb986c1de6df2f6b9ddb8cd6945abfb01 Mon Sep 17 00:00:00 2001 From: Pulse Monitor Date: Sun, 7 Sep 2025 14:05:22 +0000 Subject: [PATCH] fix: improve error handling for guest URL saving (addresses #427) - Add more specific error messages when metadata save fails - Better handling of permission and disk space errors - This should help diagnose why guest URLs fail to save in some cases - The atomic write operation was already in place but errors weren't clear --- internal/api/guest_metadata.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/internal/api/guest_metadata.go b/internal/api/guest_metadata.go index 895679ff0..b70f2800a 100644 --- a/internal/api/guest_metadata.go +++ b/internal/api/guest_metadata.go @@ -99,7 +99,14 @@ func (h *GuestMetadataHandler) HandleUpdateMetadata(w http.ResponseWriter, r *ht if err := h.store.Set(guestID, &meta); err != nil { log.Error().Err(err).Str("guestID", guestID).Msg("Failed to save guest metadata") - http.Error(w, "Failed to save metadata", http.StatusInternalServerError) + // Provide more specific error message + errMsg := "Failed to save metadata" + if strings.Contains(err.Error(), "permission") { + errMsg = "Permission denied - check file permissions" + } else if strings.Contains(err.Error(), "no space") { + errMsg = "Disk full - cannot save metadata" + } + http.Error(w, errMsg, http.StatusInternalServerError) return }