From 4af5e8334f38f225585dac66eee6f3612906bafc Mon Sep 17 00:00:00 2001 From: Darshan Date: Wed, 24 Dec 2025 12:50:09 +0530 Subject: [PATCH 1/3] fix: empty string key causing crashes, plus the key accessor was wrong. --- .../overview/onboard.svelte | 63 ++++++++++--------- .../overview/platforms/+page.svelte | 13 ++-- .../overview/platforms/wizard/store.ts | 2 - 3 files changed, 37 insertions(+), 41 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/overview/onboard.svelte b/src/routes/(console)/project-[region]-[project]/overview/onboard.svelte index 78757226d..40ddb34b9 100644 --- a/src/routes/(console)/project-[region]-[project]/overview/onboard.svelte +++ b/src/routes/(console)/project-[region]-[project]/overview/onboard.svelte @@ -28,48 +28,53 @@ import PlatformFlutterImgSourceDark from './assets/platform-flutter-dark.svg'; import PlatformSdkImgSource from './assets/platform-sdk.jpg'; import PlatformSdkImgSourceDark from './assets/platform-sdk-dark.png'; - import { base } from '$app/paths'; + import { resolve } from '$app/paths'; import { isSmallViewport } from '$lib/stores/viewport'; import type { Models } from '@appwrite.io/console'; import { getPlatformInfo } from '$lib/helpers/platform'; import { Click, trackEvent } from '$lib/actions/analytics'; import { goto } from '$app/navigation'; import { page } from '$app/state'; + import { onMount } from 'svelte'; - export let pingCount = 0; - export let platforms: Models.Platform[] = []; + let { + pingCount = 0, + platforms = [] + }: { + pingCount: number; + platforms: Array; + } = $props(); + + let platformMap = $state(new Map()); + + const projectRoute = $derived.by(() => { + return resolve('/(console)/project-[region]-[project]', { + region: page.params.region, + project: page.params.project + }); + }); + + onMount(() => { + platforms.forEach((platform) => { + const platformInfo = getPlatformInfo(platform.type); + platformMap.set(platformInfo.name, platform); + }); + }); function createKey() { - trackEvent(Click.KeyCreateClick, { - source: 'onboarding' - }); - goto( - `${base}/project-${page.params.region}-${page.params.project}/overview/api-keys/create`, - { - replaceState: true - } - ); + trackEvent(Click.KeyCreateClick, { source: 'onboarding' }); + + goto(`${projectRoute}/overview/api-keys/create`, { replaceState: true }); } function openPlatformWizard(type: number, platform?: Models.Platform) { if (platform) { - continuePlatform(type, platform.name, platform.key, platform.type); + continuePlatform(type, platform.name, platform.type); } else { trackEvent(Click.PlatformCreateClick, { source: 'onboarding' }); addPlatform(type); } } - - let platformMap = new Map(); - - $: { - let updatedMap = new Map(); - platforms.forEach((platform) => { - const platformInfo = getPlatformInfo(platform.type); - updatedMap.set(platformInfo.name, platform); - }); - platformMap = updatedMap; - }
@@ -410,9 +415,7 @@ { trackEvent(Click.OnboardingSetupDatabaseClick); - goto( - `${base}/project-${page.params.region}-${page.params.project}/databases` - ); + goto(`${projectRoute}/databases`); }} padding="s" > { trackEvent( Click.OnboardingAuthEmailPasswordClick @@ -517,7 +520,7 @@ { trackEvent( Click.OnboardingAuthOauth2Click @@ -525,7 +528,7 @@ }}>OAuth 2 { trackEvent( Click.OnboardingAuthAllMethodsClick diff --git a/src/routes/(console)/project-[region]-[project]/overview/platforms/+page.svelte b/src/routes/(console)/project-[region]-[project]/overview/platforms/+page.svelte index c86b1b50d..22d0bce77 100644 --- a/src/routes/(console)/project-[region]-[project]/overview/platforms/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/overview/platforms/+page.svelte @@ -27,25 +27,20 @@ }); } - export async function continuePlatform( - platform: Platform, - name: string, - key: string, - type: PlatformType - ) { + export async function continuePlatform(platform: Platform, name: string, type: PlatformType) { createPlatform.set({ name: name, - key: key, type: type }); + trackEvent(Click.PlatformCreateClick, { platform: platforms[platform], state: 'continue' }); + wizard.start(platforms[platform], null, 1, { isConnectPlatform: true, - platform: type, - key: key + platform: type }); } diff --git a/src/routes/(console)/project-[region]-[project]/overview/platforms/wizard/store.ts b/src/routes/(console)/project-[region]-[project]/overview/platforms/wizard/store.ts index e15dcfbf2..24f28def6 100644 --- a/src/routes/(console)/project-[region]-[project]/overview/platforms/wizard/store.ts +++ b/src/routes/(console)/project-[region]-[project]/overview/platforms/wizard/store.ts @@ -6,7 +6,6 @@ function createPlatformStore() { $id: null, name: null, hostname: null, - key: null, store: null, type: null }); @@ -20,7 +19,6 @@ function createPlatformStore() { $id: null, name: null, hostname: null, - key: null, store: null, type: null }); From 72ddec4493835dfbdd3d79100368f9e4b3b93f9c Mon Sep 17 00:00:00 2001 From: Darshan Date: Wed, 24 Dec 2025 12:59:55 +0530 Subject: [PATCH 2/3] use: derived. --- .../overview/onboard.svelte | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/overview/onboard.svelte b/src/routes/(console)/project-[region]-[project]/overview/onboard.svelte index 40ddb34b9..0ab32228f 100644 --- a/src/routes/(console)/project-[region]-[project]/overview/onboard.svelte +++ b/src/routes/(console)/project-[region]-[project]/overview/onboard.svelte @@ -45,7 +45,15 @@ platforms: Array; } = $props(); - let platformMap = $state(new Map()); + const platformMap = $derived.by(() => { + const map = new Map(); + platforms.forEach((platform) => { + const platformInfo = getPlatformInfo(platform.type); + map.set(platformInfo.name, platform); + }); + + return map; + }); const projectRoute = $derived.by(() => { return resolve('/(console)/project-[region]-[project]', { @@ -54,13 +62,6 @@ }); }); - onMount(() => { - platforms.forEach((platform) => { - const platformInfo = getPlatformInfo(platform.type); - platformMap.set(platformInfo.name, platform); - }); - }); - function createKey() { trackEvent(Click.KeyCreateClick, { source: 'onboarding' }); From c2c9a40791e9d01b6ffc04360b3edda2035a2760 Mon Sep 17 00:00:00 2001 From: Darshan Date: Wed, 24 Dec 2025 13:03:52 +0530 Subject: [PATCH 3/3] remove: onmount. --- .../(console)/project-[region]-[project]/overview/onboard.svelte | 1 - 1 file changed, 1 deletion(-) diff --git a/src/routes/(console)/project-[region]-[project]/overview/onboard.svelte b/src/routes/(console)/project-[region]-[project]/overview/onboard.svelte index 0ab32228f..8650aa498 100644 --- a/src/routes/(console)/project-[region]-[project]/overview/onboard.svelte +++ b/src/routes/(console)/project-[region]-[project]/overview/onboard.svelte @@ -35,7 +35,6 @@ import { Click, trackEvent } from '$lib/actions/analytics'; import { goto } from '$app/navigation'; import { page } from '$app/state'; - import { onMount } from 'svelte'; let { pingCount = 0,