From aed793e548ca8af3287960a801bc33fc93a17eab Mon Sep 17 00:00:00 2001 From: Alexander Petric Date: Thu, 12 Dec 2024 18:11:05 +0100 Subject: [PATCH 1/5] updating hub script: adding error logging to git sync (#4913) --- frontend/src/lib/hubPaths.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frontend/src/lib/hubPaths.json b/frontend/src/lib/hubPaths.json index 06d3255db6..1785e9170b 100644 --- a/frontend/src/lib/hubPaths.json +++ b/frontend/src/lib/hubPaths.json @@ -1,5 +1,6 @@ { - "gitSync": "hub/9087/sync-script-to-git-repo-windmill", + "gitSync_0": "hub/9087/sync-script-to-git-repo-windmill", + "gitSync": "hub/9987/sync-script-to-git-repo-windmill", "gitSyncTest": "hub/9073/git-repo-test-read-write-windmill", "slackErrorHandler": "hub/9206/workspace-or-schedule-error-handler-slack", "slackErrorHandler_0": "hub/9079/workspace-or-schedule-error-handler-slack", From 762ac30b59e1d23d2a043a86c2ce4b069030941d Mon Sep 17 00:00:00 2001 From: HugoCasa Date: Thu, 12 Dec 2024 18:11:44 +0100 Subject: [PATCH 2/5] fix(frontend): schedule operator perms + add instance settings in operator menu (#4912) * fix(frontend): schedule operator perms + add instance settings in operator menu * fix npm timeout * forgot --- .github/workflows/frontend-check.yml | 5 +- .../src/lib/components/AssignableTags.svelte | 4 +- frontend/src/lib/components/DropdownV2.svelte | 3 +- frontend/src/lib/components/Editor.svelte | 3 +- .../components/ErrorOrRecoveryHandler.svelte | 7 +- .../lib/components/ScheduleEditorInner.svelte | 84 +++++++++++++------ .../src/lib/components/ScriptBuilder.svelte | 4 +- .../src/lib/components/ScriptEditor.svelte | 5 +- .../src/lib/components/ScriptPicker.svelte | 75 +++++++++-------- .../src/lib/components/WorkerTagPicker.svelte | 6 +- .../src/lib/components/WorkerTagSelect.svelte | 2 + .../lib/components/common/menu/MenuV2.svelte | 5 +- .../lib/components/common/popup/Popup.svelte | 3 +- .../components/sidebar/OperatorMenu.svelte | 35 ++++++-- .../triggers/KafkaTriggerEditorInner.svelte | 37 ++++---- .../triggers/RouteEditorInner.svelte | 75 ++++++++++------- .../WebsocketTriggerEditorInner.svelte | 29 ++++--- .../(root)/(logged)/schedules/+page.svelte | 9 +- 18 files changed, 242 insertions(+), 149 deletions(-) diff --git a/.github/workflows/frontend-check.yml b/.github/workflows/frontend-check.yml index 845d03146d..64883cb303 100644 --- a/.github/workflows/frontend-check.yml +++ b/.github/workflows/frontend-check.yml @@ -15,7 +15,6 @@ jobs: with: node-version: 18 - name: "npm check" - timeout-minutes: 2 - run: - cd frontend && npm ci && npm run generate-backend-client && npm run + timeout-minutes: 5 + run: cd frontend && npm ci && npm run generate-backend-client && npm run check diff --git a/frontend/src/lib/components/AssignableTags.svelte b/frontend/src/lib/components/AssignableTags.svelte index 1e6c7eb359..2326a0dd96 100644 --- a/frontend/src/lib/components/AssignableTags.svelte +++ b/frontend/src/lib/components/AssignableTags.svelte @@ -7,14 +7,16 @@ export let placement: 'bottom-end' | 'top-end' = 'bottom-end' export let color: 'nord' | 'dark' = 'dark' + export let disabled = false - {/if} diff --git a/frontend/src/lib/components/ScheduleEditorInner.svelte b/frontend/src/lib/components/ScheduleEditorInner.svelte index 1ad3e93598..8921acb2cf 100644 --- a/frontend/src/lib/components/ScheduleEditorInner.svelte +++ b/frontend/src/lib/components/ScheduleEditorInner.svelte @@ -218,11 +218,13 @@ async function loadScript(p: string | undefined): Promise { if (p) { runnable = undefined - if (is_flow) { - runnable = await FlowService.getFlowByPath({ workspace: $workspaceStore!, path: p }) - } else { - runnable = await ScriptService.getScriptByPath({ workspace: $workspaceStore!, path: p }) - } + try { + if (is_flow) { + runnable = await FlowService.getFlowByPath({ workspace: $workspaceStore!, path: p }) + } else { + runnable = await ScriptService.getScriptByPath({ workspace: $workspaceStore!, path: p }) + } + } catch (err) {} } else { runnable = undefined } @@ -524,7 +526,11 @@ @@ -541,22 +547,24 @@ View runs -
- { - await ScheduleService.setScheduleEnabled({ - path: initialPath, - workspace: $workspaceStore ?? '', - requestBody: { enabled: e.detail } - }) - dispatch('update') - sendUserToast(`${e.detail ? 'enabled' : 'disabled'} schedule ${initialPath}`) - }} - /> -
+ {#if can_write} +
+ { + await ScheduleService.setScheduleEnabled({ + path: initialPath, + workspace: $workspaceStore ?? '', + requestBody: { enabled: e.detail } + }) + dispatch('update') + sendUserToast(`${e.detail ? 'enabled' : 'disabled'} schedule ${initialPath}`) + }} + /> +
+ {/if} {/if} {/if} - + {#if allowView} + + {/if} {:else if itemKind == 'app'}
@@ -163,16 +166,18 @@ Edit {/if} - + {#if allowView} + + {/if}
{:else}
@@ -188,20 +193,22 @@ Edit {/if} - + {#if allowView} + + {/if}
{/if} {/if} diff --git a/frontend/src/lib/components/WorkerTagPicker.svelte b/frontend/src/lib/components/WorkerTagPicker.svelte index aad96ee956..0aabbeaa2e 100644 --- a/frontend/src/lib/components/WorkerTagPicker.svelte +++ b/frontend/src/lib/components/WorkerTagPicker.svelte @@ -8,6 +8,7 @@ export let tag: string | undefined export let popupPlacement: 'bottom-end' | 'top-end' = 'bottom-end' + export let disabled = false loadWorkerGroups() async function loadWorkerGroups() { @@ -21,7 +22,7 @@
{#if $workerTags} {#if $workerTags?.length ?? 0 > 0} - + {:else}
No custom worker group tag defined on this instance in "Workers {'->'} Custom tags" @@ -50,6 +51,7 @@ loadWorkerGroups() }} startIcon={{ icon: RotateCw }} + {disabled} /> - +
diff --git a/frontend/src/lib/components/WorkerTagSelect.svelte b/frontend/src/lib/components/WorkerTagSelect.svelte index bbe96d03cb..232b86b98f 100644 --- a/frontend/src/lib/components/WorkerTagSelect.svelte +++ b/frontend/src/lib/components/WorkerTagSelect.svelte @@ -5,6 +5,7 @@ export let tag: string | undefined export let noLabel: boolean = false export let nullTag: string | undefined = undefined + export let disabled = false loadWorkerGroups() @@ -28,6 +29,7 @@ tag = undefined } }} + {disabled} > {#if tag} diff --git a/frontend/src/lib/components/common/menu/MenuV2.svelte b/frontend/src/lib/components/common/menu/MenuV2.svelte index c4a79f5429..708224ee13 100644 --- a/frontend/src/lib/components/common/menu/MenuV2.svelte +++ b/frontend/src/lib/components/common/menu/MenuV2.svelte @@ -11,6 +11,7 @@ export let justifyEnd: boolean = false export let lightMode: boolean = false export let maxHeight: number = 900 + export let disabled = false const [floatingRef, floatingContent] = createFloatingActions({ strategy: 'fixed', middleware: [offset(), flip(), shift()], @@ -18,10 +19,10 @@ }) - +
- +
diff --git a/frontend/src/lib/components/common/popup/Popup.svelte b/frontend/src/lib/components/common/popup/Popup.svelte index a559509d15..6bbceccec7 100644 --- a/frontend/src/lib/components/common/popup/Popup.svelte +++ b/frontend/src/lib/components/common/popup/Popup.svelte @@ -18,10 +18,11 @@ export let noTransition = false export let popupHover = false export let preventPopupClosingOnClickInside = false + export let disabled = false - +
diff --git a/frontend/src/lib/components/sidebar/OperatorMenu.svelte b/frontend/src/lib/components/sidebar/OperatorMenu.svelte index ae915b562e..2c447600cd 100644 --- a/frontend/src/lib/components/sidebar/OperatorMenu.svelte +++ b/frontend/src/lib/components/sidebar/OperatorMenu.svelte @@ -10,14 +10,15 @@ Code2, LayoutDashboard, Building, - Calendar + Calendar, + ServerCog } from 'lucide-svelte' import { base } from '$lib/base' import Menu from '../common/menu/MenuV2.svelte' import MultiplayerMenu from './MultiplayerMenu.svelte' - import { enterpriseLicense } from '$lib/stores' + import { enterpriseLicense, superadmin } from '$lib/stores' import MenuButton from './MenuButton.svelte' import { MenuItem } from '@rgossiaux/svelte-headlessui' import MenuLink from './MenuLink.svelte' @@ -43,10 +44,6 @@ ] let secondMenuLinks = [ - { - label: 'Schedules', - href: `${base}/schedules` - }, { label: 'Resources', href: `${base}/resources` @@ -55,6 +52,18 @@ label: 'Variables', href: `${base}/variables` }, + { + label: 'Custom HTTP Routes', + href: `${base}/routes` + }, + { + label: 'Websocket Triggers', + href: `${base}/websockets` + }, + { + label: 'Kafka Triggers', + href: `${base}/kafka` + }, { label: 'Audit Logs', href: `${base}/audit_logs` @@ -158,6 +167,20 @@ All Workspaces + {#if $superadmin} + + + Instance settings + + {/if} + logout()} diff --git a/frontend/src/lib/components/triggers/KafkaTriggerEditorInner.svelte b/frontend/src/lib/components/triggers/KafkaTriggerEditorInner.svelte index c65bdbc32c..c934cb0e1e 100644 --- a/frontend/src/lib/components/triggers/KafkaTriggerEditorInner.svelte +++ b/frontend/src/lib/components/triggers/KafkaTriggerEditorInner.svelte @@ -151,7 +151,7 @@ on:close={drawer.closeDrawer} > - {#if !drawerLoading && can_write} + {#if !drawerLoading} {#if edit}
{/if} - + {#if can_write} + + {/if} {/if}
{#if drawerLoading} @@ -300,7 +302,8 @@ allowFlow={true} bind:itemKind bind:scriptPath={script_path} - allowRefresh + allowRefresh={can_write} + allowEdit={!$userStore?.operator} />
diff --git a/frontend/src/lib/components/triggers/RouteEditorInner.svelte b/frontend/src/lib/components/triggers/RouteEditorInner.svelte index 127d48ab75..a25939e7be 100644 --- a/frontend/src/lib/components/triggers/RouteEditorInner.svelte +++ b/frontend/src/lib/components/triggers/RouteEditorInner.svelte @@ -21,6 +21,8 @@ import JsonEditor from '../apps/editor/settingsPanel/inputEditor/JsonEditor.svelte' import FileUpload from '../common/fileUpload/FileUpload.svelte' import SimpleEditor from '../SimpleEditor.svelte' + import { json } from 'svelte-highlight/languages' + import { Highlight } from 'svelte-highlight' let is_flow: boolean = false let initialPath = '' @@ -341,36 +343,48 @@ {#if static_asset_config}
- - {#if s3FileUploadRawMode} - { - dispatch('focus') - }} - on:blur={(e) => { - dispatch('blur') - }} - code={JSON.stringify(static_asset_config ?? { s3: '' }, null, 2)} - bind:value={static_asset_config} - /> - + options={{ left: 'Existing file' }} + disabled={!can_write} + /> + {/if} + {#if s3FileUploadRawMode} + {#if can_write} + { + dispatch('focus') + }} + on:blur={(e) => { + dispatch('blur') + }} + code={JSON.stringify(static_asset_config ?? { s3: '' }, null, 2)} + bind:value={static_asset_config} + /> + {:else} + + {/if} + {#if can_write} + + {/if} {:else} {#if script_path === undefined} diff --git a/frontend/src/lib/components/triggers/WebsocketTriggerEditorInner.svelte b/frontend/src/lib/components/triggers/WebsocketTriggerEditorInner.svelte index 208bbf92fc..d8001197ab 100644 --- a/frontend/src/lib/components/triggers/WebsocketTriggerEditorInner.svelte +++ b/frontend/src/lib/components/triggers/WebsocketTriggerEditorInner.svelte @@ -253,7 +253,7 @@ on:close={drawer.closeDrawer} > - {#if !drawerLoading && can_write} + {#if !drawerLoading} {#if edit}
{/if} - + {#if can_write} + + {/if} {/if}
{#if drawerLoading} @@ -411,7 +413,8 @@ allowFlow={true} bind:itemKind bind:scriptPath={script_path} - allowRefresh + allowRefresh={can_write} + allowEdit={!$userStore?.operator} />
diff --git a/frontend/src/routes/(root)/(logged)/schedules/+page.svelte b/frontend/src/routes/(root)/(logged)/schedules/+page.svelte index 1f8c9e84a5..f440e54600 100644 --- a/frontend/src/routes/(root)/(logged)/schedules/+page.svelte +++ b/frontend/src/routes/(root)/(logged)/schedules/+page.svelte @@ -384,10 +384,10 @@ { scheduleEditor?.openEdit(path, is_flow) } From 952cbd182de5358cc326d7582f4494c860e3836e Mon Sep 17 00:00:00 2001 From: HugoCasa Date: Thu, 12 Dec 2024 18:37:34 +0100 Subject: [PATCH 3/5] fix: app custom url diff (#4914) * fix: app custom url diff * update ee ref --- backend/ee-repo-ref.txt | 2 +- backend/windmill-api/openapi.yaml | 4 +- backend/windmill-api/src/apps.rs | 18 +++---- backend/windmill-api/src/workspaces.rs | 2 +- .../apps/editor/AppEditorHeader.svelte | 47 +++++++++++++------ .../(logged)/apps/edit/[...path]/+page.svelte | 6 ++- 6 files changed, 49 insertions(+), 30 deletions(-) diff --git a/backend/ee-repo-ref.txt b/backend/ee-repo-ref.txt index 52d406af20..aad90fa017 100644 --- a/backend/ee-repo-ref.txt +++ b/backend/ee-repo-ref.txt @@ -1 +1 @@ -271c210ddbbdcad0f4d6c007e650eceda5ddfa64 +dddc8d60d483a2ce8d78233a25a3899a2b1224ca \ No newline at end of file diff --git a/backend/windmill-api/openapi.yaml b/backend/windmill-api/openapi.yaml index 0bd9fc247f..7de22e3248 100644 --- a/backend/windmill-api/openapi.yaml +++ b/backend/windmill-api/openapi.yaml @@ -12936,6 +12936,8 @@ components: type: object additionalProperties: type: boolean + custom_path: + type: string required: - id - workspace_id @@ -12957,8 +12959,6 @@ components: draft_only: type: boolean draft: {} - custom_path: - type: string AppHistory: type: object diff --git a/backend/windmill-api/src/apps.rs b/backend/windmill-api/src/apps.rs index e7b8f6067a..7290d2aedd 100644 --- a/backend/windmill-api/src/apps.rs +++ b/backend/windmill-api/src/apps.rs @@ -145,6 +145,8 @@ pub struct AppWithLastVersion { pub created_by: String, pub created_at: chrono::DateTime, pub extra_perms: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_path: Option, } #[derive(Serialize, FromRow)] @@ -174,8 +176,6 @@ pub struct AppWithLastVersionAndDraft { pub draft: Option>>, #[serde(skip_serializing_if = "Option::is_none")] pub draft_only: Option, - #[serde(skip_serializing_if = "Option::is_none")] - pub custom_path: Option, } #[derive(Serialize)] @@ -378,7 +378,7 @@ async fn get_app( let app_o = if query.with_starred_info.unwrap_or(false) { sqlx::query_as::<_, AppWithLastVersionAndStarred>( - "SELECT app.id, app.path, app.summary, app.versions, app.policy, + "SELECT app.id, app.path, app.summary, app.versions, app.policy, app.custom_path, app.extra_perms, app_version.value, app_version.created_at, app_version.created_by, favorite.path IS NOT NULL as starred FROM app @@ -398,7 +398,7 @@ async fn get_app( .await? } else { sqlx::query_as::<_, AppWithLastVersionAndStarred>( - "SELECT app.id, app.path, app.summary, app.versions, app.policy, + "SELECT app.id, app.path, app.summary, app.versions, app.policy, app.custom_path, app.extra_perms, app_version.value, app_version.created_at, app_version.created_by, NULL as starred FROM app, app_version @@ -424,7 +424,7 @@ async fn get_app_lite( let mut tx = user_db.begin(&authed).await?; let app_o = sqlx::query_as::<_, AppWithLastVersion>( - "SELECT app.id, app.path, app.summary, app.versions, app.policy, + "SELECT app.id, app.path, app.summary, app.versions, app.policy, app.custom_path, app.extra_perms, coalesce(app_version_lite.value::json, app_version.value) as value, app_version.created_at, app_version.created_by, NULL as starred FROM app, app_version @@ -451,8 +451,8 @@ async fn get_app_w_draft( let mut tx = user_db.begin(&authed).await?; let app_o = sqlx::query_as::<_, AppWithLastVersionAndDraft>( - r#"SELECT app.id, app.path, app.summary, app.versions, app.policy, - app.extra_perms, app_version.value, app.custom_path, + r#"SELECT app.id, app.path, app.summary, app.versions, app.policy, app.custom_path, + app.extra_perms, app_version.value, app_version.created_at, app_version.created_by, app.draft_only, draft.value as "draft" from app @@ -582,7 +582,7 @@ async fn get_app_by_id( let mut tx = user_db.begin(&authed).await?; let app_o = sqlx::query_as::<_, AppWithLastVersion>( - "SELECT app.id, app.path, app.summary, app.versions, app.policy, + "SELECT app.id, app.path, app.summary, app.versions, app.policy, app.custom_path, app.extra_perms, app_version.value, app_version.created_at, app_version.created_by from app, app_version WHERE app_version.id = $1 AND app.id = app_version.app_id AND app.workspace_id = $2", @@ -613,7 +613,7 @@ async fn get_public_app_by_secret( let id: i64 = bytes.parse().map_err(to_anyhow)?; let app_o = sqlx::query_as::<_, AppWithLastVersion>( - "SELECT app.id, app.path, app.summary, app.versions, app.policy, + "SELECT app.id, app.path, app.summary, app.versions, app.policy, app.custom_path, null as extra_perms, coalesce(app_version_lite.value::json, app_version.value::json) as value, app_version.created_at, app_version.created_by from app, app_version LEFT JOIN app_version_lite ON app_version_lite.id = app_version.id diff --git a/backend/windmill-api/src/workspaces.rs b/backend/windmill-api/src/workspaces.rs index bba06b238b..0552a6c94b 100644 --- a/backend/windmill-api/src/workspaces.rs +++ b/backend/windmill-api/src/workspaces.rs @@ -2484,7 +2484,7 @@ async fn tarball_workspace( { let apps = sqlx::query_as::<_, AppWithLastVersion>( - "SELECT app.id, app.path, app.summary, app.versions, app.policy, + "SELECT app.id, app.path, app.summary, app.versions, app.policy, app.custom_path, app.extra_perms, app_version.value, app_version.created_at, app_version.created_by from app, app_version WHERE app.workspace_id = $1 AND app_version.id = app.versions[array_upper(app.versions, 1)]", diff --git a/frontend/src/lib/components/apps/editor/AppEditorHeader.svelte b/frontend/src/lib/components/apps/editor/AppEditorHeader.svelte index 0310b0eddd..4edc18c8bb 100644 --- a/frontend/src/lib/components/apps/editor/AppEditorHeader.svelte +++ b/frontend/src/lib/components/apps/editor/AppEditorHeader.svelte @@ -391,14 +391,16 @@ path, summary: $summary, policy, - deployment_message: deploymentMsg + deployment_message: deploymentMsg, + custom_path: customPath } }) savedApp = { summary: $summary, value: structuredClone($app), path: path, - policy: policy + policy: policy, + custom_path: customPath } closeSaveDrawer() sendUserToast('App deployed successfully') @@ -435,7 +437,8 @@ summary: $summary, value: $app, path: newEditedPath || savedApp.draft?.path || savedApp.path, - policy + policy, + custom_path: customPath }) ) ) { @@ -482,7 +485,10 @@ policy, path: npath, deployment_message: deploymentMsg, - custom_path: $userStore?.is_admin || $userStore?.is_super_admin ? (customPath ?? '') : undefined + // custom_path requires admin so to accept update without it, we need to send as undefined when non-admin (when undefined, it will be ignored) + // it also means that customPath needs to be set to '' instead of undefined to unset it (when admin) + custom_path: + $userStore?.is_admin || $userStore?.is_super_admin ? customPath ?? '' : undefined } }) savedApp = { @@ -553,7 +559,8 @@ path: newEditedPath, summary: $summary, policy, - draft_only: true + draft_only: true, + custom_path: customPath } }) await DraftService.createDraft({ @@ -565,7 +572,8 @@ value: $app, path: newEditedPath, summary: $summary, - policy + policy, + custom_path: customPath } } }) @@ -579,8 +587,10 @@ summary: $summary, value: structuredClone($app), path: newEditedPath, - policy - } + policy, + custom_path: customPath + }, + custom_path: customPath } draftDrawerOpen = false @@ -634,7 +644,8 @@ summary: $summary, policy, path: newEditedPath || path, - draft_only: true + draft_only: true, + custom_path: customPath } }) } @@ -659,14 +670,16 @@ value: structuredClone($app), path: savedApp.draft_only ? newEditedPath || path : path, policy, - draft_only: true + draft_only: true, + custom_path: customPath } : savedApp), draft: { summary: $summary, value: structuredClone($app), path: newEditedPath || path, - policy + policy, + custom_path: customPath } } @@ -843,7 +856,8 @@ summary: $summary, value: $app, path: newEditedPath || savedApp.draft?.path || savedApp.path, - policy + policy, + custom_path: customPath } }) }, @@ -932,7 +946,8 @@ summary: $summary, value: $app, path: newEditedPath || savedApp?.draft?.path || savedApp?.path, - policy + policy, + custom_path: customPath }} additionalExitAction={() => { setTheme(priorDarkMode) @@ -949,7 +964,8 @@ summary: $summary, value: $app, path: newEditedPath || savedApp?.draft?.path || savedApp?.path, - policy + policy, + custom_path: customPath }} /> @@ -1084,7 +1100,8 @@ summary: $summary, value: $app, path: newEditedPath || savedApp.draft?.path || savedApp.path, - policy + policy, + custom_path: customPath }, button: { text: 'Looks good, deploy', diff --git a/frontend/src/routes/(root)/(logged)/apps/edit/[...path]/+page.svelte b/frontend/src/routes/(root)/(logged)/apps/edit/[...path]/+page.svelte index 083fd107d3..4bd15beee2 100644 --- a/frontend/src/routes/(root)/(logged)/apps/edit/[...path]/+page.svelte +++ b/frontend/src/routes/(root)/(logged)/apps/edit/[...path]/+page.svelte @@ -57,7 +57,8 @@ summary: app_w_draft_.summary, value: app_w_draft_.draft, path: app_w_draft_.path, - policy: app_w_draft_.policy + policy: app_w_draft_.policy, + custom_path: app_w_draft_.custom_path } : undefined, custom_path: app_w_draft_.custom_path @@ -192,7 +193,8 @@ summary: app_.summary, value: app_.value as App, path: app_.path, - policy: app_.policy + policy: app_.policy, + custom_path: app_.custom_path } redraw++ } From 8e490b0738ba9bd75f6d6a0c2ccacfc7b06642d9 Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Thu, 12 Dec 2024 18:39:57 +0100 Subject: [PATCH 4/5] update ee ref --- backend/ee-repo-ref.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/ee-repo-ref.txt b/backend/ee-repo-ref.txt index aad90fa017..32341c9e08 100644 --- a/backend/ee-repo-ref.txt +++ b/backend/ee-repo-ref.txt @@ -1 +1 @@ -dddc8d60d483a2ce8d78233a25a3899a2b1224ca \ No newline at end of file +a07bc62582c809457f1c945d6cda145770b94d04 \ No newline at end of file From 441ee933f55423b2a9835623d2382e04aae5a2ae Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Thu, 12 Dec 2024 18:46:03 +0100 Subject: [PATCH 5/5] update ee ref --- backend/ee-repo-ref.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/ee-repo-ref.txt b/backend/ee-repo-ref.txt index 32341c9e08..aad90fa017 100644 --- a/backend/ee-repo-ref.txt +++ b/backend/ee-repo-ref.txt @@ -1 +1 @@ -a07bc62582c809457f1c945d6cda145770b94d04 \ No newline at end of file +dddc8d60d483a2ce8d78233a25a3899a2b1224ca \ No newline at end of file