From f2443ae664df870e1662cc33b0859862c5174605 Mon Sep 17 00:00:00 2001 From: Stefan Hardegger Date: Wed, 25 Mar 2026 13:34:09 +0100 Subject: [PATCH] Fix unneeded image processing --- .../main/java/com/storycove/controller/StoryController.java | 5 +++-- frontend/src/app/stories/[id]/edit/page.tsx | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/backend/src/main/java/com/storycove/controller/StoryController.java b/backend/src/main/java/com/storycove/controller/StoryController.java index 016b269..99692ef 100644 --- a/backend/src/main/java/com/storycove/controller/StoryController.java +++ b/backend/src/main/java/com/storycove/controller/StoryController.java @@ -178,8 +178,9 @@ public class StoryController { Story updatedStory = storyService.updateWithTagNames(id, request); - // Process external images in content after saving - updatedStory = processExternalImagesIfNeeded(updatedStory); + // Image processing for updates is handled by the frontend via the dedicated + // /process-content-images endpoint, so no async processing is triggered here. + // (Async processing on every PUT caused concurrent duplicate downloads.) logger.info("Successfully updated story: {}", updatedStory.getTitle()); return ResponseEntity.ok(convertToDto(updatedStory)); diff --git a/frontend/src/app/stories/[id]/edit/page.tsx b/frontend/src/app/stories/[id]/edit/page.tsx index d115a5b..44e8bcd 100644 --- a/frontend/src/app/stories/[id]/edit/page.tsx +++ b/frontend/src/app/stories/[id]/edit/page.tsx @@ -225,6 +225,8 @@ export default function EditStoryPage() { ...(formData.authorId ? { authorId: formData.authorId } : { authorName: formData.authorName }), tagNames: formData.tags, }); + // Keep editor state in sync with local URLs so subsequent saves don't re-download + setFormData(prev => ({ ...prev, contentHtml: imageResult.processedContent })); } } catch (imageError) { console.warn('Failed to process images, continuing with original content:', imageError);