From 0f39af39d719b2ab2a07821ff6cfd555731f64e5 Mon Sep 17 00:00:00 2001 From: Darshan Date: Sat, 24 May 2025 10:13:37 +0530 Subject: [PATCH 1/2] fix: hardcoded max file size values. --- .../create-function/manual/+page.svelte | 34 ++++++++++++++----- .../(modals)/createManual.svelte | 7 +++- .../providers/settingsFormInput.svelte | 1 + .../createManualDeploymentModal.svelte | 7 +++- 4 files changed, 38 insertions(+), 11 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/functions/create-function/manual/+page.svelte b/src/routes/(console)/project-[region]-[project]/functions/create-function/manual/+page.svelte index 54167235a8..0786684185 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/create-function/manual/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/functions/create-function/manual/+page.svelte @@ -8,7 +8,7 @@ import { addNotification } from '$lib/stores/notifications'; import { sdk } from '$lib/stores/sdk'; import { Icon, Layout, Tooltip, Typography, Upload } from '@appwrite.io/pink-svelte'; - import { writable } from 'svelte/store'; + import { get, writable } from 'svelte/store'; import { ID, Runtime } from '@appwrite.io/console'; import type { Models } from '@appwrite.io/console'; import { consoleVariables } from '$routes/(console)/store'; @@ -20,15 +20,22 @@ import Configuration from './configuration.svelte'; import { getIconFromRuntime } from '$lib/stores/runtimes'; import { InvalidFileType, removeFile } from '$lib/helpers/files'; + import { isCloud } from '$lib/system'; + import { humanFileSize } from '$lib/helpers/sizeConvertion'; + import { currentPlan } from '$lib/stores/organization'; export let data; + const iconFor = get(iconPath); + const runtimeOptions = data.runtimesList.runtimes.map((runtime) => { - return { - value: runtime.$id, - label: `${runtime.name} - ${runtime.version}`, - leadingHtml: `` - }; + const { $id: value, name, version, key } = runtime; + const label = `${name} - ${version}`; + const iconName = getIconFromRuntime(key); + const iconSrc = iconFor(iconName, 'color'); + const leadingHtml = `${iconName}`; + + return { value, label, leadingHtml }; }); const specificationOptions = data.specificationsList.specifications.map((size) => ({ @@ -153,6 +160,15 @@ }; }) : []; + + $: maxSize = + isCloud && $currentPlan + ? $currentPlan?.deploymentSize === 0 + ? 0 + : $currentPlan?.deploymentSize * 1000000 + : $consoleVariables._APP_COMPUTE_SIZE_LIMIT; // already in MB + + $: readableMaxSize = humanFileSize(maxSize); @@ -176,7 +192,7 @@ bind:files title="Upload function" extensions={['gz', 'tar']} - maxSize={10000000} + {maxSize} required on:invalid={handleInvalid}> @@ -201,12 +217,12 @@ Max file size 10MB + >Max file size: {readableMaxSize.value + + readableMaxSize.unit} {#if files?.length} - (files = removeFile(e.detail, files))} /> diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/(modals)/createManual.svelte b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/(modals)/createManual.svelte index 5c8056398f..830b51495c 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/(modals)/createManual.svelte +++ b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/(modals)/createManual.svelte @@ -14,6 +14,7 @@ import { consoleVariables } from '$routes/(console)/store'; import { currentPlan } from '$lib/stores/organization'; import { isCloud } from '$lib/system'; + import { humanFileSize } from '$lib/helpers/sizeConvertion'; export let show = false; @@ -27,6 +28,8 @@ : $currentPlan?.deploymentSize * 1000000 : $consoleVariables._APP_COMPUTE_SIZE_LIMIT; // already in MB + $: readableMaxSize = humanFileSize(maxSize); + async function create() { try { await sdk @@ -100,7 +103,9 @@ >Only .tar.gz files allowed - Max file size 10MB + Max file size: {readableMaxSize.value + + readableMaxSize.unit} diff --git a/src/routes/(console)/project-[region]-[project]/messaging/providers/settingsFormInput.svelte b/src/routes/(console)/project-[region]-[project]/messaging/providers/settingsFormInput.svelte index 4227724d27..35ba274bac 100644 --- a/src/routes/(console)/project-[region]-[project]/messaging/providers/settingsFormInput.svelte +++ b/src/routes/(console)/project-[region]-[project]/messaging/providers/settingsFormInput.svelte @@ -124,6 +124,7 @@ on:invalid={handleInvalid} extensions={['json']} bind:files={files[input.name]} + maxSize={10000000} required={!input.optional}> diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/deployments/createManualDeploymentModal.svelte b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/deployments/createManualDeploymentModal.svelte index cd4c9f4347..9e1d2eecb8 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/deployments/createManualDeploymentModal.svelte +++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/deployments/createManualDeploymentModal.svelte @@ -12,6 +12,7 @@ import { isCloud } from '$lib/system'; import { currentPlan } from '$lib/stores/organization'; import { consoleVariables } from '$routes/(console)/store'; + import { humanFileSize } from '$lib/helpers/sizeConvertion'; export let show = false; export let site: Models.Site; @@ -26,6 +27,8 @@ : $currentPlan?.deploymentSize * 1000000 : $consoleVariables._APP_COMPUTE_SIZE_LIMIT; // already in MB + $: readableMaxSize = humanFileSize(maxSize); + async function createDeployment() { try { uploader.uploadSiteDeployment(site.$id, files[0]); @@ -94,7 +97,9 @@ >Only .tar.gz files allowed - Max file size 10MB + Max file size: {readableMaxSize.value + + readableMaxSize.unit} From afc87af59077cca89ea353c4e0ae0b664fef0b86 Mon Sep 17 00:00:00 2001 From: Darshan Date: Sat, 24 May 2025 12:44:57 +0530 Subject: [PATCH 2/2] address comments. --- .../functions/create-function/manual/+page.svelte | 4 +--- .../function-[function]/(modals)/createManual.svelte | 4 +--- .../deployments/createManualDeploymentModal.svelte | 4 +--- 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/functions/create-function/manual/+page.svelte b/src/routes/(console)/project-[region]-[project]/functions/create-function/manual/+page.svelte index 0786684185..5c1622d82a 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/create-function/manual/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/functions/create-function/manual/+page.svelte @@ -163,9 +163,7 @@ $: maxSize = isCloud && $currentPlan - ? $currentPlan?.deploymentSize === 0 - ? 0 - : $currentPlan?.deploymentSize * 1000000 + ? $currentPlan.deploymentSize * 1000000 : $consoleVariables._APP_COMPUTE_SIZE_LIMIT; // already in MB $: readableMaxSize = humanFileSize(maxSize); diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/(modals)/createManual.svelte b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/(modals)/createManual.svelte index 830b51495c..4d6ae6e708 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/(modals)/createManual.svelte +++ b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/(modals)/createManual.svelte @@ -23,9 +23,7 @@ $: maxSize = isCloud && $currentPlan - ? $currentPlan?.deploymentSize === 0 - ? 0 - : $currentPlan?.deploymentSize * 1000000 + ? $currentPlan.deploymentSize * 1000000 : $consoleVariables._APP_COMPUTE_SIZE_LIMIT; // already in MB $: readableMaxSize = humanFileSize(maxSize); diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/deployments/createManualDeploymentModal.svelte b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/deployments/createManualDeploymentModal.svelte index 9e1d2eecb8..3930d56c7c 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/deployments/createManualDeploymentModal.svelte +++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/deployments/createManualDeploymentModal.svelte @@ -22,9 +22,7 @@ $: maxSize = isCloud && $currentPlan - ? $currentPlan?.deploymentSize === 0 - ? 0 - : $currentPlan?.deploymentSize * 1000000 + ? $currentPlan.deploymentSize * 1000000 : $consoleVariables._APP_COMPUTE_SIZE_LIMIT; // already in MB $: readableMaxSize = humanFileSize(maxSize);