feedback-to-code/mozzarella huggingface dataset:
Repository: kestra-io/kestra
Issue: Logs dropdown arrow should be inversed
Labels: frontend

### Feature description

When collapsed the arrow should be "down" (and not the opposite)

![image](https://github.com/kestra-io/kestra/assets/46634684/e84b501e-709d-499a-9900-3afa83714929)


Issue comments:

Pull request review comments:

Patch that resolved the issue:
diff --git a/ui/src/components/logs/LogList.vue b/ui/src/components/logs/LogList.vue
index 3f985a3d50..c53916c469 100644
--- a/ui/src/components/logs/LogList.vue
+++ b/ui/src/components/logs/LogList.vue
@@ -16,8 +16,8 @@
                                 </div>
                                 <div v-if="!hideOthersOnSelect">
                                     <el-button type="default" @click="() => toggleShowLogs(`${currentTaskRun.id}-${taskAttempt(index)}`)">
-                                        <ChevronUp v-if="!showLogs.includes(`${currentTaskRun.id}-${taskAttempt(index)}`)" />
-                                        <ChevronDown v-else />
+                                        <ChevronDown v-if="!showLogs.includes(`${currentTaskRun.id}-${taskAttempt(index)}`)" />
+                                        <ChevronUp v-else />
                                     </el-button>
                                 </div>
                                 <div


Test patch:
diff --git a/webserver/src/test/java/io/kestra/webserver/controllers/ExecutionControllerTest.java b/webserver/src/test/java/io/kestra/webserver/controllers/ExecutionControllerTest.java
index e5a7a4d195..5f9f86f903 100644
--- a/webserver/src/test/java/io/kestra/webserver/controllers/ExecutionControllerTest.java
+++ b/webserver/src/test/java/io/kestra/webserver/controllers/ExecutionControllerTest.java
@@ -26,16 +26,16 @@
 import io.micronaut.runtime.server.EmbeddedServer;
 import io.micronaut.rxjava2.http.client.RxHttpClient;
 import io.micronaut.rxjava2.http.client.sse.RxSseClient;
+import jakarta.inject.Inject;
+import jakarta.inject.Named;
 import org.junit.jupiter.api.Test;
+import org.junitpioneer.jupiter.RetryingTest;
 
 import java.io.File;
 import java.time.Duration;
 import java.util.*;
 import java.util.concurrent.TimeoutException;
 import java.util.stream.IntStream;
-import jakarta.inject.Inject;
-import jakarta.inject.Named;
-import org.junitpioneer.jupiter.RetryingTest;
 
 import static io.kestra.core.utils.Rethrow.throwRunnable;
 import static org.hamcrest.MatcherAssert.assertThat;
@@ -503,7 +503,7 @@ void webhook() {
 
     }
 
-    @Test
+    @RetryingTest(5)
     void resumePaused() throws TimeoutException, InterruptedException {
         // Run execution until it is paused
         Execution pausedExecution = runnerUtils.runOneUntilPaused(TESTS_FLOW_NS, "pause");
Repository: kestra-io/kestra
Issue: Add an "execution dump" button on the execution overview page.
Labels: backend

### Feature description

Add an "execution dump" button on the execution overview page.

This will download the execution object so it can be analyzed for debugging purposes.

Issue comments:

Pull request review comments:
Put it in a json file as it's json content and format it if possible for more readability

Patch that resolved the issue:
diff --git a/ui/src/components/executions/ExecutionRoot.vue b/ui/src/components/executions/ExecutionRoot.vue
index c07100f188..ab09a66064 100644
--- a/ui/src/components/executions/ExecutionRoot.vue
+++ b/ui/src/components/executions/ExecutionRoot.vue
@@ -1,10 +1,17 @@
 <template>
     <div>
         <div v-if="ready">
-            <tabs :route-name="$route.param && $route.param.id ? 'executions/update': ''" @follow="follow" :tabs="tabs" />
+            <tabs :route-name="$route.params && $route.params.id ? 'executions/update': ''" @follow="follow" :tabs="tabs" />
         </div>
         <bottom-line v-if="canDelete || isAllowedTrigger || isAllowedEdit">
             <ul>
+                <li>
+                    <a :href="`${apiRoot}executions/${execution.id}`" target="_blank">
+                        <el-button :icon="Api" size="large" type="default">
+                            {{ $t('api') }}
+                        </el-button>
+                    </a>
+                </li>
                 <li>
                     <el-button :icon="Delete" size="large" type="default" v-if="canDelete" @click="deleteExecution">
                         {{ $t('delete') }}
@@ -28,8 +35,10 @@
 </template>
 
 <script setup>
+    import Api from "vue-material-design-icons/Api.vue";
     import Delete from "vue-material-design-icons/Delete.vue";
     import Pencil from "vue-material-design-icons/Pencil.vue";
+    import {apiRoot} from "../../utils/axios"
 </script>
 
 <script>
diff --git a/ui/src/translations.json b/ui/src/translations.json
index dcf29e2661..0b48723973 100644
--- a/ui/src/translations.json
+++ b/ui/src/translations.json
@@ -450,6 +450,7 @@
       }
     },
     "title": "Title",
+    "api": "Api",
     "expand error": "Expand only failed task",
     "expand all": "Expand all",
     "collapse all": "Collapse all",
@@ -909,6 +910,7 @@
       }
     },
     "title": "Titre",
+    "api": "Api",
     "expand error": "Afficher uniquement les erreurs",
     "expand all": "Afficher tout",
     "collapse all": "Masquer tout",


Test patch:
Repository: kestra-io/kestra
Issue: Promote form on lowcode editor

- Remove the alpha on the form
- Make it the first visible 

Issue comments:

Pull request review comments:

Patch that resolved the issue:
diff --git a/ui/src/components/flows/TaskEdit.vue b/ui/src/components/flows/TaskEdit.vue
index 0748d780ab..a337a56ca5 100644
--- a/ui/src/components/flows/TaskEdit.vue
+++ b/ui/src/components/flows/TaskEdit.vue
@@ -30,6 +30,17 @@
             </template>
 
             <el-tabs v-if="taskYaml" v-model="activeTabs">
+                <el-tab-pane name="form">
+                    <template #label>
+                        <span>{{ $t('form') }}</span>
+                    </template>
+                    <task-editor
+                        ref="editor"
+                        v-model="taskYaml"
+                        :section="section"
+                        @update:model-value="onInput"
+                    />
+                </el-tab-pane>
                 <el-tab-pane name="source">
                     <template #label>
                         <span>{{ $t('source') }}</span>
@@ -47,20 +58,6 @@
                         @update:model-value="onInput"
                     />
                 </el-tab-pane>
-                <el-tab-pane name="form">
-                    <template #label>
-                        <span>
-                            {{ $t('form') }}
-                            <el-badge type="primary" value="Alpha" />
-                        </span>
-                    </template>
-                    <task-editor
-                        ref="editor"
-                        v-model="taskYaml"
-                        :section="section"
-                        @update:model-value="onInput"
-                    />
-                </el-tab-pane>
                 <el-tab-pane v-if="pluginMardown" name="documentation">
                     <template #label>
                         <span>
@@ -200,7 +197,7 @@
                 uuid: Utils.uid(),
                 taskYaml: undefined,
                 isModalOpen: false,
-                activeTabs: "source",
+                activeTabs: "form",
             };
         },
         created() {


Test patch:
Repository: kestra-io/kestra
Issue: Low code Editor, change task type produce invalid task definition 
Labels: bug

- Choose a type type (s3 upload in my screenshot), fill the required properties, hit save 
- Change task type to echo, fill the format props
- see an error about unknown fields `accessKey`  
![image](https://github.com/kestra-io/kestra/assets/2064609/0b70a65e-2436-4d12-aea1-f5447a42eee0)


Issue comments:

Pull request review comments:

Patch that resolved the issue:
diff --git a/ui/src/components/flows/TaskEditor.vue b/ui/src/components/flows/TaskEditor.vue
index 5851e49040..cc010668b2 100644
--- a/ui/src/components/flows/TaskEditor.vue
+++ b/ui/src/components/flows/TaskEditor.vue
@@ -87,11 +87,11 @@
 
             },
             onInput(value) {
+                this.taskObject = value;
                 this.$emit("update:modelValue", YamlUtils.stringify(value));
             },
             onTaskTypeSelect() {
                 this.load();
-                this.taskObject.type = this.selectedTaskType;
                 const value = {
                     type: this.selectedTaskType
                 };


Test patch:
Repository: kestra-io/kestra
Issue: Unsaved popup even If I just save the content
Labels: bug


https://github.com/kestra-io/kestra/assets/2064609/6f94a6ce-1c65-4381-83bf-6eaf13409ae4

- type somethings
- hit ctrl + s
- hit f5 
- say the unsaved popup 

Issue comments:
Can't reproduce, if anyone else manage to feel free to take it
nvm

Pull request review comments:

Patch that resolved the issue:
diff --git a/ui/src/components/inputs/EditorView.vue b/ui/src/components/inputs/EditorView.vue
index 154d512425..8e02695b55 100644
--- a/ui/src/components/inputs/EditorView.vue
+++ b/ui/src/components/inputs/EditorView.vue
@@ -341,6 +341,7 @@
         flowYaml.value = event;
         haveChange.value = true;
         store.dispatch("core/isUnsaved", true);
+        clearTimeout(timer.value)
         return store.dispatch("flow/validateFlow", {flow: event})
             .then(value => {
                 if (flowHaveTasks() && ["topology", "source-topology"].includes(viewType.value)) {
@@ -412,7 +413,6 @@
         onEdit(YamlUtils.insertError(source, newError.value));
         newError.value = null;
         isNewErrorOpen.value = false;
-        haveChange.value = true;
     }
 
     const getFlowMetadata = () => {


Test patch:
Repository: kestra-io/kestra
Issue: Boolean inputs not displayed correctly
Labels: bug

### Expected Behavior

_No response_

### Actual Behaviour

![image](https://github.com/kestra-io/kestra/assets/37600690/3013e7f4-5467-4deb-8f2a-88ce1e696070)


### Steps To Reproduce

_No response_

### Environment Information

- Kestra Version: 0.8.1


### Example flow

_No response_

Issue comments:
What do you expect ? @Skraye 
Does not looks natural to me.
What do you think @Nico-Kestra ?
https://www.figma.com/file/4tLhsoCsh9yVzYRY1N70kS/App-Kestra?type=design&node-id=1100%3A7303&t=oTbZMn2N0k2MDyDk-1

I think it's important to provide context for why Kestra triggers this pop-up. This text needs to be revised @Ben8t an idea?

Also, having checkboxes under the label with nothing next to them looks really ugly, so I suggest placing them next to the label.

"Complete the following inputs to run the flow:" 🤔 
@anna-geller for a better english formulation ?

Pull request review comments:

Patch that resolved the issue:
diff --git a/ui/src/components/flows/FlowRun.vue b/ui/src/components/flows/FlowRun.vue
index ff230ed36a..726a8fa656 100644
--- a/ui/src/components/flows/FlowRun.vue
+++ b/ui/src/components/flows/FlowRun.vue
@@ -9,7 +9,7 @@
             <el-form-item
                 v-for="input in flow.inputs || []"
                 :key="input.id"
-                :label="input.name"
+                :label="input.type === 'BOOLEAN' ? undefined : input.name"
                 :required="input.required !== false"
                 :prop="input.name"
             >
@@ -30,11 +30,12 @@
                     v-model="inputs[input.name]"
                     :step="0.001"
                 />
-                <el-checkbox
+                <el-switch
                     v-if="input.type === 'BOOLEAN'"
                     v-model="inputs[input.name]"
-                    value="true"
-                    unchecked-value="false"
+                    active-value="true"
+                    :active-text="input.name"
+                    inactive-value="false"
                 />
                 <el-date-picker
                     v-if="input.type === 'DATETIME'"
@@ -300,25 +301,28 @@
 </script>
 
 <style scoped lang="scss">
-.bottom-buttons {
-    margin-top: 36px;
-    display: flex;
+    .bottom-buttons {
+        margin-top: 36px;
+        display: flex;
 
-    > * {
-        flex: 1;
+        > * {
+            flex: 1;
 
-        * {
-            margin: 0;
+            * {
+                margin: 0;
+            }
         }
-    }
 
-    .left-align :deep(div) {
-        flex-direction: row
-    }
+        .left-align :deep(div) {
+            flex-direction: row
+        }
 
-    .right-align :deep(div) {
-        flex-direction: row-reverse;
+        .right-align :deep(div) {
+            flex-direction: row-reverse;
+        }
     }
 
-}
+    :deep(.el-switch__label) {
+        color: var(--el-text-color-regular);
+    }
 </style>
\ No newline at end of file


Test patch:
Repository: kestra-io/kestra
Issue: Regression error: the button to switch between vertical and horizontal topology alignment is gone
Labels: bug

### Expected Behavior

![image](https://github.com/kestra-io/kestra/assets/86264395/f0bfbd61-b093-489e-a61c-11b5919c507f)
there is o way to change it to the top to bottom

### Actual Behaviour

_No response_

### Steps To Reproduce

_No response_

### Environment Information

- Kestra Version: develop full
- Operating System (OS / Docker / Kubernetes):
- Java Version (If not docker):


### Example flow

_No response_

Issue comments:

Pull request review comments:

Patch that resolved the issue:
diff --git a/ui/src/components/executions/Topology.vue b/ui/src/components/executions/Topology.vue
index 9bc3149d9b..85f3e06cbf 100644
--- a/ui/src/components/executions/Topology.vue
+++ b/ui/src/components/executions/Topology.vue
@@ -10,6 +10,7 @@
                 :source="flow.source"
                 :execution="execution"
                 @follow="forwardEvent('follow', $event)"
+                view-type="topology"
             />
         </div>
     </el-card>
diff --git a/ui/src/components/flows/Topology.vue b/ui/src/components/flows/Topology.vue
index f6b05a1b43..7df13c851f 100644
--- a/ui/src/components/flows/Topology.vue
+++ b/ui/src/components/flows/Topology.vue
@@ -8,6 +8,7 @@
                 :flow-graph="flowGraph"
                 :source="flow.source"
                 :is-read-only="isReadOnly"
+                view-type="topology"
             />
         </div>
     </el-card>


Test patch:
Repository: kestra-io/kestra
Issue: Subflows logs are not displayed in parent gantt & logs
Labels: bug
enhancement
frontend

### Expected Behavior

_No response_

### Actual Behaviour

_No response_

### Steps To Reproduce

_No response_

### Environment Information

- Kestra Version: 0.10.0-SNAPSHOT
- Operating System (OS / Docker / Kubernetes):
- Java Version (If not docker):


### Example flow

_No response_

Issue comments:

Pull request review comments:

Patch that resolved the issue:
diff --git a/ui/src/components/executions/Logs.vue b/ui/src/components/executions/Logs.vue
index 403b9aaa9a..1597cc6222 100644
--- a/ui/src/components/executions/Logs.vue
+++ b/ui/src/components/executions/Logs.vue
@@ -101,7 +101,7 @@
             taskRunList() {
                 const fullList = [];
                 for (const taskRun of (this.execution.taskRunList || [])) {
-                    for (const attempt in taskRun.attempts) {
+                    for (const attempt in (taskRun.attempts ?? [{}])) {
                         fullList.push({
                             ...taskRun,
                             attempt: parseInt(attempt),
diff --git a/ui/src/components/logs/LogList.vue b/ui/src/components/logs/LogList.vue
index b9f7d68074..3a28a6ca38 100644
--- a/ui/src/components/logs/LogList.vue
+++ b/ui/src/components/logs/LogList.vue
@@ -459,7 +459,11 @@
                 }
             },
             attempts(taskRun) {
-                return this.execution.state.current === State.RUNNING || !this.attemptNumber ? taskRun.attempts : [taskRun.attempts[this.attemptNumber]] ;
+                if (this.execution.state.current === State.RUNNING || !this.attemptNumber) {
+                    return taskRun.attempts ?? [{state: taskRun.state}];
+                }
+
+                return [taskRun.attempts[this.attemptNumber]];
             },
             onTaskSelect(dropdownVisible, task) {
                 if (dropdownVisible && this.taskRun?.id !== task.id) {


Test patch:
Repository: kestra-io/kestra
Issue: Do not display 'Triggers' tab in Flow when there is none
Labels: bug
enhancement
frontend

### Expected Behavior

_No response_

### Actual Behaviour

_No response_

### Steps To Reproduce

_No response_

### Environment Information

- Kestra Version:
- Operating System (OS / Docker / Kubernetes):
- Java Version (If not docker):


### Example flow

_No response_

Issue comments:

Pull request review comments:

Patch that resolved the issue:
diff --git a/ui/src/components/flows/FlowRoot.vue b/ui/src/components/flows/FlowRoot.vue
index 1a9f0604d2..8454594916 100644
--- a/ui/src/components/flows/FlowRoot.vue
+++ b/ui/src/components/flows/FlowRoot.vue
@@ -138,7 +138,8 @@
                     tabs.push({
                         name: "triggers",
                         component: FlowTriggers,
-                        title: this.$t("triggers")
+                        title: this.$t("triggers"),
+                        disabled: !this.flow.triggers
                     });
                 }
 


Test patch:
Repository: kestra-io/kestra
Issue: Topology view let us put one task on another
Labels: bug
enhancement
frontend

### Expected Behavior

_No response_

### Actual Behaviour

It then scopes the moved task to the bound of the dropped-on task.
Strange behaviour which has no impact functionally but let us move things around on something which should be non-editable
![image](https://github.com/kestra-io/kestra/assets/37618489/74c585f5-6314-408e-9d86-46b697e75b05)

Wondering if it has something related to https://github.com/kestra-io/kestra/issues/1458

NOTE: It happens only on Execution topology tab

### Steps To Reproduce

Go to topology
Drag one task on another
-> You can move the task within the dropped-on task but you can no longer move it out unless you refresh the page

### Environment Information

- Kestra Version: 0.10.0
- Operating System (OS / Docker / Kubernetes):
- Java Version (If not docker):


### Example flow

_No response_

Issue comments:

Pull request review comments:

Patch that resolved the issue:
diff --git a/ui/src/components/executions/Topology.vue b/ui/src/components/executions/Topology.vue
index 85f3e06cbf..d3d19ddcfc 100644
--- a/ui/src/components/executions/Topology.vue
+++ b/ui/src/components/executions/Topology.vue
@@ -9,6 +9,7 @@
                 :flow-graph="flowGraph"
                 :source="flow.source"
                 :execution="execution"
+                is-read-only
                 @follow="forwardEvent('follow', $event)"
                 view-type="topology"
             />


Test patch:
Repository: kestra-io/kestra
Issue: Change prefix from SECRETS_ to SECRET_ for consistency with the `secret()` function

### Feature description

Given that this prefix is added for each (singular) secret, SECRET_ prefix seems more natural and easier to understand/remember. 

Also, the `secret()` function currently can only retrieve one secret at a time so plural SECRETS_ can be misleading. 

cc @brian-mulier-p 🙏

Issue comments:

Pull request review comments:

Patch that resolved the issue:
diff --git a/build.gradle b/build.gradle
index cfe5455df3..3e4832e055 100644
--- a/build.gradle
+++ b/build.gradle
@@ -169,8 +169,8 @@ subprojects {
         systemProperty 'user.language', 'en'
         systemProperty 'user.country', 'US'
 
-        environment 'SECRETS_MY_SECRET', "{\"secretKey\":\"secretValue\"}".bytes.encodeBase64().toString()
-        environment 'SECRETS_NON_B64_SECRET', "some secret value"
+        environment 'SECRET_MY_SECRET', "{\"secretKey\":\"secretValue\"}".bytes.encodeBase64().toString()
+        environment 'SECRET_NON_B64_SECRET', "some secret value"
     }
 
     testlogger {
diff --git a/core/src/main/java/io/kestra/core/secret/SecretService.java b/core/src/main/java/io/kestra/core/secret/SecretService.java
index 05b9e859e8..5cb9bbd98a 100644
--- a/core/src/main/java/io/kestra/core/secret/SecretService.java
+++ b/core/src/main/java/io/kestra/core/secret/SecretService.java
@@ -16,7 +16,7 @@
 @Singleton
 @Slf4j
 public class SecretService {
-    private static final String SECRET_PREFIX = "SECRETS_";
+    private static final String SECRET_PREFIX = "SECRET_";
     private Map<String, String> decodedSecrets;
 
     @PostConstruct
@@ -40,7 +40,7 @@ public String findSecret(String namespace, String key) throws IOException, Illeg
         return Optional
             .ofNullable(decodedSecrets.get(key.toUpperCase()))
             .orElseThrow(() -> new IllegalVariableEvaluationException("Unable to find secret '" + key + "'. " +
-                "You should add it in your environment variables as 'SECRETS_" + key.toUpperCase() +
+                "You should add it in your environment variables as '" + SECRET_PREFIX + key.toUpperCase() +
                 "' with base64-encoded value."
             ));
     }


Test patch:
Repository: kestra-io/kestra
Issue: Windows executable is not working in 0.10.0
Labels: bug

### Expected Behavior

Server should run with no issues.

### Actual Behaviour

Starting server gives the following output and fails.
`
'PK♥♦¶∟│▓╬jü2Θ╔' is not recognized as an internal or external command,                              operable program or batch file.                                                                     '┘O)¼╫↓Σ▌DEÇ─m▲' is not recognized as an internal or external command,                              operable program or batch file.                                                                     '¬█¢S‼' is not recognized as an internal or external command,                                       operable program or batch file.                                                                     
`

### Steps To Reproduce

1. Download the server JAR-file as instructed at https://kestra.io/docs/administrator-guide/deployment/manual.
2. Ran following command:
`kestra-0.10.0.cmd server standalone --config config.yml`
3. Server start fails.
4. Server runs OK with 0.9.5.

Here is the configuration file:
`
datasources:
  postgres:
    url: jdbc:postgresql://localhost:5432/kestra
    driverClassName: org.postgresql.Driver
    username: kestra
    password: k3str4
kestra:
  repository:
    type: postgres
  storage:
    type: local
    local:
      base-path: "/app/storage"
  queue:
    type: postgres
  tasks:
    tmp-dir:
      path: /tmp/kestra-wd/tmp
  url: http://localhost:8080/
`

### Environment Information

- Kestra Version: 0.10.0
- Operating System (OS / Docker / Kubernetes): Windows 10, no docker
- Java Version (If not docker): 17.0.7


### Example flow

_No response_

Issue comments:
Hi @vivane,
This issue has been fixed already, we will release a new version soon (probably today) with the fix.

Pull request review comments:

Patch that resolved the issue:
diff --git a/gradle/jar/selfrun.bat b/gradle/jar/selfrun.bat
index 34aab9a51e..87b6caee4a 100644
--- a/gradle/jar/selfrun.bat
+++ b/gradle/jar/selfrun.bat
@@ -43,7 +43,7 @@ IF %java_version% NEQ 0 (
 
 REM Opens java.nio due to https://github.com/snowflakedb/snowflake-jdbc/issues/589
 REM Opens java.util due to https://github.com/Azure/azure-sdk-for-java/issues/27806
-SET JAVA_ADD_OPENS="--add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED"
+SET "JAVA_ADD_OPENS=--add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED"
 
 java %JAVA_OPTS% %JAVA_ADD_OPENS% -jar "%this%" %*
 


Test patch: