diff --git a/frontend/src/hooks.ts b/frontend/src/hooks.ts index d473ce744b14a..15c8e2b6f3541 100644 --- a/frontend/src/hooks.ts +++ b/frontend/src/hooks.ts @@ -1,3 +1,5 @@ +import type { Reroute } from '@sveltejs/kit' + /** @type {import('@sveltejs/kit').Handle} */ export async function handle({ event, resolve }) { const response = await resolve(event, { @@ -6,3 +8,11 @@ export async function handle({ event, resolve }) { return response } + +export const reroute: Reroute = ({ url }) => { + const match = url.pathname.match(/^\/w\/([^/]+)(\/.*)?$/) + if (match) { + return match[2] || '/' + } + return url.pathname +} diff --git a/frontend/src/lib/components/ArgInput.svelte b/frontend/src/lib/components/ArgInput.svelte index 197275fbc15ec..a0e0a38134621 100644 --- a/frontend/src/lib/components/ArgInput.svelte +++ b/frontend/src/lib/components/ArgInput.svelte @@ -40,7 +40,7 @@ import MultiSelect from './select/MultiSelect.svelte' import { safeSelectItems } from './select/utils.svelte' import S3ArgInput from './common/fileUpload/S3ArgInput.svelte' - import { base } from '$lib/base' + import { wsBase } from '$lib/workspaceUrl' import { workspaceStore } from '$lib/stores' import { getJsonSchemaFromResource } from './schema/jsonSchemaResource.svelte' import AIProviderPicker from './AIProviderPicker.svelte' @@ -568,7 +568,7 @@ {#if value && typeof value == 'string' && value?.startsWith('$res:')} Linked to resource {value.slice(5)} diff --git a/frontend/src/lib/components/AutoscalingConfigEditor.svelte b/frontend/src/lib/components/AutoscalingConfigEditor.svelte index 20fb30f3e7690..5ceea574fd78d 100644 --- a/frontend/src/lib/components/AutoscalingConfigEditor.svelte +++ b/frontend/src/lib/components/AutoscalingConfigEditor.svelte @@ -7,6 +7,7 @@ import ToggleButton from './common/toggleButton-v2/ToggleButton.svelte' import { Alert, Button } from './common' import { ExternalLink } from 'lucide-svelte' + import { getWsBase } from '$lib/workspaceUrl' import TextInput from './text_input/TextInput.svelte' import Label from './Label.svelte' import MultiSelect from './select/MultiSelect.svelte' @@ -189,7 +190,7 @@ variant="default" target="_blank" endIcon={{ icon: ExternalLink }} - href="/scripts/add?hub=hub%2F9204%2Fhelper%2FScale%20a%20worker%20group%20deployed%20as%20a%20kubernetes%20service&workspace=admins" + href="{getWsBase('admins')}/scripts/add?hub=hub%2F9204%2Fhelper%2FScale%20a%20worker%20group%20deployed%20as%20a%20kubernetes%20service" >Create from template {disabled} @@ -197,7 +198,7 @@ @@ -264,7 +264,7 @@ { displayName: 'Duplicate/Fork', icon: GitFork, - href: `${base}/scripts/add?template=${script.path}`, + href: `${$wsBase}/scripts/add?template=${script.path}`, disabled: !showEditButton, hide: $userStore?.operator }, @@ -299,7 +299,7 @@ { displayName: 'View runs', icon: List, - href: `${base}/runs/${script.path}` + href: `${$wsBase}/runs/${script.path}` }, { displayName: 'Versions', @@ -311,7 +311,7 @@ { displayName: 'Audit logs', icon: Eye, - href: `${base}/audit_logs?resource=${script.path}`, + href: `${$wsBase}/audit_logs?resource=${script.path}`, hide: $userStore?.operator }, { @@ -431,7 +431,7 @@ openDetails on:openDetails={(e) => { if (script) { - goto(`/scripts/get/${e.detail.version}?workspace=${$workspaceStore}`) + goto(`/scripts/get/${e.detail.version}`) } versionsDrawerOpen = false }} diff --git a/frontend/src/lib/components/copilot/CronGen.svelte b/frontend/src/lib/components/copilot/CronGen.svelte index 02a45aa767d8b..69c6375a32dd6 100644 --- a/frontend/src/lib/components/copilot/CronGen.svelte +++ b/frontend/src/lib/components/copilot/CronGen.svelte @@ -5,7 +5,7 @@ import Popover from '$lib/components/meltComponents/Popover.svelte' import { sendUserToast } from '$lib/toast' - import { base } from '$lib/base' + import { wsBase } from '$lib/workspaceUrl' import type { ChatCompletionMessageParam } from 'openai/resources/index.mjs' import { copilotInfo } from '$lib/aiStore' import { untrack } from 'svelte' @@ -131,7 +131,7 @@

Enable Windmill AI in the workspace settings

Enable Windmill AI in the diff --git a/frontend/src/lib/components/copilot/RegexGen.svelte b/frontend/src/lib/components/copilot/RegexGen.svelte index b716e48385388..3b944675686a8 100644 --- a/frontend/src/lib/components/copilot/RegexGen.svelte +++ b/frontend/src/lib/components/copilot/RegexGen.svelte @@ -1,8 +1,8 @@ diff --git a/frontend/src/lib/components/flows/CreateActionsFlow.svelte b/frontend/src/lib/components/flows/CreateActionsFlow.svelte index 73f8cfedbab2a..c4eb6af7f26ae 100644 --- a/frontend/src/lib/components/flows/CreateActionsFlow.svelte +++ b/frontend/src/lib/components/flows/CreateActionsFlow.svelte @@ -1,6 +1,5 @@ diff --git a/frontend/src/lib/components/preview/FlowPreviewStatus.svelte b/frontend/src/lib/components/preview/FlowPreviewStatus.svelte index 68587fbf24df0..6e4170ed4844d 100644 --- a/frontend/src/lib/components/preview/FlowPreviewStatus.svelte +++ b/frontend/src/lib/components/preview/FlowPreviewStatus.svelte @@ -1,6 +1,6 @@