From 6fe511be6c1c2610210aba9aa3684130c50ee055 Mon Sep 17 00:00:00 2001 From: fiatjaf Date: Tue, 25 Aug 2026 11:33:18 -0300 Subject: [PATCH] nsite: don't stop publish if only one of the blossom server uploads fail. --- nsite.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/nsite.go b/nsite.go index b49dc73..de44b23 100644 --- a/nsite.go +++ b/nsite.go @@ -3,6 +3,7 @@ package main import ( "context" "encoding/hex" + "errors" "fmt" "os" "path/filepath" @@ -171,15 +172,20 @@ var nsite = &cli.Command{ } var hhash string + var uploadErrors []error for _, server := range blossomServers { client := blossom.NewClient(server, kr) bd, err := client.UploadFilePath(ctx, path) if err != nil { - return fmt.Errorf("failed to upload %s to %s: %w", path, server, err) + uploadErrors = append(uploadErrors, fmt.Errorf("%s: %w", server, err)) + continue } hhash = bd.SHA256 log("uploaded %s to %s as %s\n", color.GreenString(path), color.YellowString(server), color.CyanString(hhash)) } + if hhash == "" { + return fmt.Errorf("failed to upload %s to any blossom server: %w", path, errors.Join(uploadErrors...)) + } var hash [32]byte if _, err := hex.Decode(hash[:], []byte(hhash)); err != nil {