From 59bbc6a903ed518f53c857a02f2943f8156d41d6 Mon Sep 17 00:00:00 2001 From: Alexander Date: Mon, 3 Mar 2025 08:20:17 +0100 Subject: [PATCH] feat(canvas): fixed an issue with already existing archive --- backend/internal/canvas-handler/service.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/backend/internal/canvas-handler/service.go b/backend/internal/canvas-handler/service.go index c618fd0df..69bfc834e 100644 --- a/backend/internal/canvas-handler/service.go +++ b/backend/internal/canvas-handler/service.go @@ -117,6 +117,10 @@ func (v *ImageStorage) PackSessionCanvases(ctx context.Context, sessID uint64) e // Build the list of canvas images sets for _, file := range files { + // Skip already created archives + if strings.HasSuffix(file.Name(), ".tar.zst") { + continue + } name := strings.Split(file.Name(), ".") parts := strings.Split(name[0], "_") if len(name) != 2 || len(parts) != 3 { @@ -131,7 +135,7 @@ func (v *ImageStorage) PackSessionCanvases(ctx context.Context, sessID uint64) e for name := range names { // Save to archives archPath := fmt.Sprintf("%s%s.tar.zst", path, name) - fullCmd := fmt.Sprintf("find %s -type f -name '%s*' | tar -cf - --files-from=- | zstd -o %s", + fullCmd := fmt.Sprintf("find %s -type f -name '%s*' ! -name '*.tar.zst' | tar -cf - --files-from=- | zstd -f -o %s", path, name, archPath) cmd := exec.Command("sh", "-c", fullCmd) var stdout, stderr bytes.Buffer