From 41f0f845a5ae1ed3cbfbfabef259ae09420fdbd4 Mon Sep 17 00:00:00 2001 From: Darshan Date: Mon, 21 Apr 2025 16:13:18 +0530 Subject: [PATCH] fix: missing region sided issues on url and overview page for self-hosted. --- src/lib/components/regionEndpoint.svelte | 50 ++++++++++--------- .../organization-[organization]/+page.ts | 20 +++++--- src/routes/(console)/regions.ts | 4 +- 3 files changed, 43 insertions(+), 31 deletions(-) diff --git a/src/lib/components/regionEndpoint.svelte b/src/lib/components/regionEndpoint.svelte index d85b3d215d..35c6b4962a 100644 --- a/src/lib/components/regionEndpoint.svelte +++ b/src/lib/components/regionEndpoint.svelte @@ -13,28 +13,30 @@ : ''; - -
- - {$projectRegion?.name} - +{#if $projectRegion} + +
+ + {$projectRegion?.name} + - {#if flagSrc} - {$projectRegion?.name} - {/if} -
-
+ {#if flagSrc} + {$projectRegion?.name} + {/if} +
+
+{/if} diff --git a/src/routes/(console)/organization-[organization]/+page.ts b/src/routes/(console)/organization-[organization]/+page.ts index 27056c2897..42b3763e60 100644 --- a/src/routes/(console)/organization-[organization]/+page.ts +++ b/src/routes/(console)/organization-[organization]/+page.ts @@ -15,14 +15,22 @@ export const load: PageLoad = async ({ params, url, route, depends, parent }) => return redirect(301, `/console/organization-${params.organization}/billing`); } + const projects = await sdk.forConsole.projects.list([ + Query.offset(offset), + Query.equal('teamId', params.organization), + Query.limit(limit), + Query.orderDesc('') + ]); + + // set `default` or something else, + // `undefined` in the url looks really off! + for (const project of projects.projects) { + project.region ??= 'default'; + } + return { offset, limit, - projects: await sdk.forConsole.projects.list([ - Query.offset(offset), - Query.equal('teamId', params.organization), - Query.limit(limit), - Query.orderDesc('') - ]) + projects }; }; diff --git a/src/routes/(console)/regions.ts b/src/routes/(console)/regions.ts index 3e7ef4c5a0..0ac4d4304c 100644 --- a/src/routes/(console)/regions.ts +++ b/src/routes/(console)/regions.ts @@ -1,5 +1,6 @@ import { get } from 'svelte/store'; import { sdk } from '$lib/stores/sdk'; +import { isCloud } from '$lib/system'; import { regions } from '$lib/stores/organization'; let lastLoadedOrganization = null; @@ -10,10 +11,11 @@ let lastLoadedOrganization = null; * Prevents unnecessary API calls if the regions are already loaded for the same organization. */ export async function loadAvailableRegions(orgId: string): Promise { + if (!isCloud) return; + try { const storedRegions = get(regions); - // note that regions can vary based on an organization's plan! if (storedRegions?.regions && lastLoadedOrganization === orgId) { // already loaded for this organization, fast path return. return;