From bc31a6962174c339568ba47b3cd9367fe68f395c Mon Sep 17 00:00:00 2001 From: vithobaa Date: Tue, 30 Jun 2026 09:42:18 +0530 Subject: [PATCH] fix: prevent S3 upload failures from crashing the entire execution result save --- .../service/AgentService.java | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/master/src/main/java/com/autopilot/localagent_cloud/service/AgentService.java b/master/src/main/java/com/autopilot/localagent_cloud/service/AgentService.java index bac3eb1..179f99f 100644 --- a/master/src/main/java/com/autopilot/localagent_cloud/service/AgentService.java +++ b/master/src/main/java/com/autopilot/localagent_cloud/service/AgentService.java @@ -416,18 +416,22 @@ public class AgentService { String base64 = (String) stepData.get("screenshotBase64"); if (base64 != null && !base64.isEmpty()) { - byte[] imageBytes = java.util.Base64.getDecoder().decode(base64); - String fileName = "exec_" + executionId + "_step_" + sr.getId() + "_" + System.currentTimeMillis() + ".png"; + try { + byte[] imageBytes = java.util.Base64.getDecoder().decode(base64); + String fileName = "exec_" + executionId + "_step_" + sr.getId() + "_" + System.currentTimeMillis() + ".png"; - String s3Url = s3Service.uploadImage(fileName, imageBytes); + String s3Url = s3Service.uploadImage(fileName, imageBytes); - Screenshot sc = new Screenshot(); - sc.setExecutionId(executionId); - sc.setStepResultId(sr.getId()); - sc.setFileName(fileName); - sc.setContentType("image/png"); - sc.setStoragePath(s3Url); - screenshotRepository.save(sc); + Screenshot sc = new Screenshot(); + sc.setExecutionId(executionId); + sc.setStepResultId(sr.getId()); + sc.setFileName(fileName); + sc.setContentType("image/png"); + sc.setStoragePath(s3Url); + screenshotRepository.save(sc); + } catch (Exception ex) { + System.err.println("Failed to upload screenshot to S3: " + ex.getMessage()); + } } } }