This is an automated email from the ASF dual-hosted git repository.

mgubaidullin pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-karavan.git

commit 304ff62377a221b1b228f3b3873f2d5d345925ca
Author: Marat Gubaidullin <[email protected]>
AuthorDate: Tue Sep 29 16:39:32 2026 -0400

    Fixes for Karavan 4.22.1
---
 .../src/main/java/org/apache/camel/karavan/service/GitService.java    | 3 ++-
 karavan-app/src/main/resources/application.properties                 | 2 +-
 karavan-app/src/main/webui/src/ui/page-project/files/FilesSubTab.tsx  | 2 +-
 karavan-devmode/.dockerignore                                         | 4 ++--
 karavan-devmode/Dockerfile                                            | 3 ++-
 karavan-devmode/src/main/java/KaravanFileFetcher.java                 | 4 ++--
 6 files changed, 10 insertions(+), 8 deletions(-)

diff --git 
a/karavan-app/src/main/java/org/apache/camel/karavan/service/GitService.java 
b/karavan-app/src/main/java/org/apache/camel/karavan/service/GitService.java
index 74a578b5..563941d2 100644
--- a/karavan-app/src/main/java/org/apache/camel/karavan/service/GitService.java
+++ b/karavan-app/src/main/java/org/apache/camel/karavan/service/GitService.java
@@ -197,8 +197,9 @@ public class GitService {
         files.forEach(file -> {
             try {
                 Path target = PathUtils.resolveInside(projectDir, 
file.getName());
+                String code = file.getCode() != null ? file.getCode() : "";
                 LOGGER.info("Add file " + file.getName());
-                Files.writeString(target, file.getCode());
+                Files.writeString(target, code);
             } catch (SecurityException e) {
                 LOGGER.error("Path traversal blocked for file " + 
file.getName() + " in project " + projectFolder.getProjectId());
                 throw e;
diff --git a/karavan-app/src/main/resources/application.properties 
b/karavan-app/src/main/resources/application.properties
index 1b433c4a..1c8b1fe6 100644
--- a/karavan-app/src/main/resources/application.properties
+++ b/karavan-app/src/main/resources/application.properties
@@ -25,7 +25,7 @@ karavan.container.status.interval=3s
 karavan.container.statistics.interval=20s
 # karavan.container.statistics.interval should be off in kubernetes
 
-karavan.devmode.image=ghcr.io/apache/camel-karavan-devmode:4.22.1
+karavan.devmode.image=apache/camel-karavan-devmode:4.22.1
 karavan.devmode.service.account=karavan
 karavan.builder.service.account=karavan
 karavan.secret.name=karavan
diff --git 
a/karavan-app/src/main/webui/src/ui/page-project/files/FilesSubTab.tsx 
b/karavan-app/src/main/webui/src/ui/page-project/files/FilesSubTab.tsx
index 700bfebd..91e42e74 100644
--- a/karavan-app/src/main/webui/src/ui/page-project/files/FilesSubTab.tsx
+++ b/karavan-app/src/main/webui/src/ui/page-project/files/FilesSubTab.tsx
@@ -247,7 +247,7 @@ export function FilesSubTab(props: FilesSubTabProps) {
                         }
                     </Td>
                     <Td modifier={"fitContent"} style={{textAlign: "right"}}>
-                        {file?.code.length}
+                        {file?.code?.length}
                     </Td>
                     <Td modifier={"fitContent"}>
                         <Flex direction={{default: "row"}} 
justifyContent={{default: "justifyContentFlexEnd"}} spaceItems={{default: 
'spaceItemsNone'}}
diff --git a/karavan-devmode/.dockerignore b/karavan-devmode/.dockerignore
index 9f71e87a..54c2a98c 100644
--- a/karavan-devmode/.dockerignore
+++ b/karavan-devmode/.dockerignore
@@ -1,7 +1,7 @@
 *
-!target/talisman-devmode*
 !target/lib/*
+!target/karavan-devmode-*.jar
 !settings.xml
 !entrypoint.sh
 !scripts/utils-*.sh
-src/*
+src/*
\ No newline at end of file
diff --git a/karavan-devmode/Dockerfile b/karavan-devmode/Dockerfile
index 3163d2f8..a50240c6 100644
--- a/karavan-devmode/Dockerfile
+++ b/karavan-devmode/Dockerfile
@@ -47,7 +47,8 @@ RUN mkdir -p $MAVEN_REPO \
     && mkdir -p $BUILDER_PATH
 
 COPY target/lib/*.jar $KARAVAN_LIB/
-COPY target/karavan-devmode-*.jar $KARAVAN_LIB
+COPY target/karavan-devmode-*.jar $KARAVAN_LIB/
+COPY target/karavan-devmode-*.jar $KARAVAN_LIB/
 COPY entrypoint.sh $KARAVAN/
 RUN chmod +x $KARAVAN/entrypoint.sh
 
diff --git a/karavan-devmode/src/main/java/KaravanFileFetcher.java 
b/karavan-devmode/src/main/java/KaravanFileFetcher.java
index 0fede725..0340ca7d 100644
--- a/karavan-devmode/src/main/java/KaravanFileFetcher.java
+++ b/karavan-devmode/src/main/java/KaravanFileFetcher.java
@@ -62,11 +62,11 @@ public class KaravanFileFetcher {
                     if (entry.getName().endsWith(".sh")) {
                         boolean success = 
resolvedPath.toFile().setExecutable(true, false); // true = executable, false = 
for all users (not just owner)
                         if (!success) {
-                            System.out.printf("Failed to set executable 
permission on: %s", resolvedPath.toAbsolutePath());
+                            System.out.printf("Failed to set executable 
permission on: %s \n", resolvedPath.toAbsolutePath());
                         }
                     }
 
-                    System.out.printf("Extracted file: %s", 
resolvedPath.toAbsolutePath());
+                    System.out.printf("Extracted file: %s \n", 
resolvedPath.toAbsolutePath());
                 }
                 zis.closeEntry();
             }

Reply via email to