From 593827fbde6f0da5cb5cb672a8303d00ee25ad86 Mon Sep 17 00:00:00 2001 From: Harsh Mahajan Date: Mon, 9 Feb 2026 12:15:41 +0530 Subject: [PATCH 1/4] fix: prevent invalid min/max params for integer attributes --- .../table-[table]/columns/float.svelte | 12 ++++++------ .../table-[table]/columns/integer.svelte | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/float.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/float.svelte index 3badf6d94c..e45544e945 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/float.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/float.svelte @@ -14,9 +14,9 @@ tableId, key, required: data.required, - min: data.min, - max: data.max, - xdefault: data.default, + min: data.min !== null ? Number(data.min) : data.min, + max: data.max !== null ? Number(data.max) : data.max, + xdefault: data.default !== null ? Number(data.default) : data.default, array: data.array }); } @@ -32,9 +32,9 @@ tableId, key: originalKey, required: data.required, - xdefault: data.default, - min: data.min, - max: data.max, + xdefault: data.default !== null ? Number(data.default) : data.default, + min: data.min !== null ? Number(data.min) : data.min, + max: data.max !== null ? Number(data.max) : data.max, newKey: data.key !== originalKey ? data.key : undefined }); } diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/integer.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/integer.svelte index 3367a3af9c..da32953cad 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/integer.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/integer.svelte @@ -14,9 +14,9 @@ tableId, key, required: data.required, - min: data.min, - max: data.max, - xdefault: data.default, + min: data.min !== null ? Number(data.min) : data.min, + max: data.max !== null ? Number(data.max) : data.max, + xdefault: data.default !== null ? Number(data.default) : data.default, array: data.array }); } @@ -32,9 +32,9 @@ tableId, key: originalKey, required: data.required, - xdefault: data.default, - min: data.min, - max: data.max, + xdefault: data.default !== null ? Number(data.default) : data.default, + min: data.min !== null ? Number(data.min) : data.min, + max: data.max !== null ? Number(data.max) : data.max, newKey: data.key !== originalKey ? data.key : undefined }); } From a2f630630ac85c88d36b9a5d3b4bcfef5a97829b Mon Sep 17 00:00:00 2001 From: Harsh Mahajan Date: Mon, 9 Feb 2026 12:28:48 +0530 Subject: [PATCH 2/4] use a helper --- src/lib/helpers/numbers.ts | 14 ++++++++++++++ .../table-[table]/columns/float.svelte | 13 +++++++------ .../table-[table]/columns/integer.svelte | 13 +++++++------ 3 files changed, 28 insertions(+), 12 deletions(-) diff --git a/src/lib/helpers/numbers.ts b/src/lib/helpers/numbers.ts index 0a0657436a..fa5cd243af 100644 --- a/src/lib/helpers/numbers.ts +++ b/src/lib/helpers/numbers.ts @@ -95,3 +95,17 @@ export function toExponential(value: number | bigint, fractionDigits: number = 2 export function clampMin(value: number, min: number = 0): number { return Math.max(min, value || 0); } + +export function toNumberOrNull(value: unknown): number | null { + if (value === null || value === undefined) { + return null; + } + + if (typeof value === 'string' && value.trim() === '') { + return null; + } + + const num = Number(value); + + return Number.isNaN(num) ? null : num; +} diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/float.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/float.svelte index e45544e945..077023a99f 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/float.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/float.svelte @@ -2,6 +2,7 @@ import { page } from '$app/state'; import { sdk } from '$lib/stores/sdk'; import type { Models } from '@appwrite.io/console'; + import { toNumberOrNull } from '$lib/helpers/numbers'; export async function submitFloat( databaseId: string, @@ -14,9 +15,9 @@ tableId, key, required: data.required, - min: data.min !== null ? Number(data.min) : data.min, - max: data.max !== null ? Number(data.max) : data.max, - xdefault: data.default !== null ? Number(data.default) : data.default, + min: toNumberOrNull(data.min), + max: toNumberOrNull(data.max), + xdefault: toNumberOrNull(data.default), array: data.array }); } @@ -32,9 +33,9 @@ tableId, key: originalKey, required: data.required, - xdefault: data.default !== null ? Number(data.default) : data.default, - min: data.min !== null ? Number(data.min) : data.min, - max: data.max !== null ? Number(data.max) : data.max, + xdefault: toNumberOrNull(data.default), + min: toNumberOrNull(data.min), + max: toNumberOrNull(data.max), newKey: data.key !== originalKey ? data.key : undefined }); } diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/integer.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/integer.svelte index da32953cad..9291a9a94a 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/integer.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/integer.svelte @@ -2,6 +2,7 @@ import { page } from '$app/state'; import { sdk } from '$lib/stores/sdk'; import type { Models } from '@appwrite.io/console'; + import { toNumberOrNull } from '$lib/helpers/numbers'; export async function submitInteger( databaseId: string, @@ -14,9 +15,9 @@ tableId, key, required: data.required, - min: data.min !== null ? Number(data.min) : data.min, - max: data.max !== null ? Number(data.max) : data.max, - xdefault: data.default !== null ? Number(data.default) : data.default, + min: toNumberOrNull(data.min), + max: toNumberOrNull(data.max), + xdefault: toNumberOrNull(data.default), array: data.array }); } @@ -32,9 +33,9 @@ tableId, key: originalKey, required: data.required, - xdefault: data.default !== null ? Number(data.default) : data.default, - min: data.min !== null ? Number(data.min) : data.min, - max: data.max !== null ? Number(data.max) : data.max, + xdefault: toNumberOrNull(data.default), + min: toNumberOrNull(data.min), + max: toNumberOrNull(data.max), newKey: data.key !== originalKey ? data.key : undefined }); } From 7ee9960e1d8b7928f5ff13bcaf630e9d8409f12d Mon Sep 17 00:00:00 2001 From: Harsh Mahajan Date: Tue, 10 Feb 2026 17:42:02 +0530 Subject: [PATCH 3/4] upgrade packages --- bun.lock | 8 ++++---- package.json | 4 ++-- src/lib/helpers/numbers.ts | 14 -------------- .../table-[table]/columns/float.svelte | 13 ++++++------- .../table-[table]/columns/integer.svelte | 13 ++++++------- 5 files changed, 18 insertions(+), 34 deletions(-) diff --git a/bun.lock b/bun.lock index b5ebfac76d..47ef097003 100644 --- a/bun.lock +++ b/bun.lock @@ -8,9 +8,9 @@ "@ai-sdk/svelte": "^1.1.24", "@appwrite.io/console": "https://pkg.vc/-/@appwrite/@appwrite.io/console@bb72008", "@appwrite.io/pink-icons": "0.25.0", - "@appwrite.io/pink-icons-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@c1feb89", + "@appwrite.io/pink-icons-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@df765cc", "@appwrite.io/pink-legacy": "^1.0.3", - "@appwrite.io/pink-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@dd7e01c", + "@appwrite.io/pink-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@df765cc", "@faker-js/faker": "^9.9.0", "@plausible-analytics/tracker": "^0.4.4", "@popperjs/core": "^2.11.8", @@ -111,11 +111,11 @@ "@appwrite.io/pink-icons": ["@appwrite.io/pink-icons@0.25.0", "", {}, "sha512-0O3i2oEuh5mWvjO80i+X6rbzrWLJ1m5wmv2/M3a1p2PyBJsFxN8xQMTEmTn3Wl/D26SsM7SpzbdW6gmfgoVU9Q=="], - "@appwrite.io/pink-icons-svelte": ["@appwrite.io/pink-icons-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@c1feb89", { "peerDependencies": { "svelte": "^4.0.0" } }], + "@appwrite.io/pink-icons-svelte": ["@appwrite.io/pink-icons-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@df765cc", { "peerDependencies": { "svelte": "^4.0.0" } }], "@appwrite.io/pink-legacy": ["@appwrite.io/pink-legacy@1.0.3", "", { "dependencies": { "@appwrite.io/pink-icons": "1.0.0", "the-new-css-reset": "^1.11.2" } }, "sha512-GGde5fmPhs+s6/3aFeMPc/kKADG/gTFkYQSy6oBN8pK0y0XNCLrZZgBv+EBbdhwdtqVEWXa0X85Mv9w7jcIlwQ=="], - "@appwrite.io/pink-svelte": ["@appwrite.io/pink-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@dd7e01c", { "dependencies": { "@appwrite.io/pink-icons-svelte": "2.0.0-RC.1", "@floating-ui/dom": "^1.6.13", "@melt-ui/pp": "^0.3.2", "@melt-ui/svelte": "^0.86.6", "@tanstack/svelte-virtual": "^3.13.10", "ansicolor": "^2.0.3", "d3": "^7.9.0", "fuse.js": "^7.1.0", "pretty-bytes": "^6.1.1", "shiki": "^1.18.0", "svelte-motion": "^0.12.2", "svelte-sonner": "^0.3.28" }, "peerDependencies": { "svelte": "^4.0.0" } }], + "@appwrite.io/pink-svelte": ["@appwrite.io/pink-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@df765cc", { "dependencies": { "@appwrite.io/pink-icons-svelte": "2.0.0-RC.1", "@floating-ui/dom": "^1.6.13", "@melt-ui/pp": "^0.3.2", "@melt-ui/svelte": "^0.86.6", "@tanstack/svelte-virtual": "^3.13.10", "ansicolor": "^2.0.3", "d3": "^7.9.0", "fuse.js": "^7.1.0", "pretty-bytes": "^6.1.1", "shiki": "^1.18.0", "svelte-motion": "^0.12.2", "svelte-sonner": "^0.3.28" }, "peerDependencies": { "svelte": "^4.0.0" } }], "@asamuzakjp/css-color": ["@asamuzakjp/css-color@3.2.0", "", { "dependencies": { "@csstools/css-calc": "^2.1.3", "@csstools/css-color-parser": "^3.0.9", "@csstools/css-parser-algorithms": "^3.0.4", "@csstools/css-tokenizer": "^3.0.3", "lru-cache": "^10.4.3" } }, "sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw=="], diff --git a/package.json b/package.json index fb534d3990..3ef986a9b8 100644 --- a/package.json +++ b/package.json @@ -22,9 +22,9 @@ "@ai-sdk/svelte": "^1.1.24", "@appwrite.io/console": "https://pkg.vc/-/@appwrite/@appwrite.io/console@bb72008", "@appwrite.io/pink-icons": "0.25.0", - "@appwrite.io/pink-icons-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@c1feb89", + "@appwrite.io/pink-icons-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@df765cc", "@appwrite.io/pink-legacy": "^1.0.3", - "@appwrite.io/pink-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@dd7e01c", + "@appwrite.io/pink-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@df765cc", "@faker-js/faker": "^9.9.0", "@plausible-analytics/tracker": "^0.4.4", "@popperjs/core": "^2.11.8", diff --git a/src/lib/helpers/numbers.ts b/src/lib/helpers/numbers.ts index fa5cd243af..0a0657436a 100644 --- a/src/lib/helpers/numbers.ts +++ b/src/lib/helpers/numbers.ts @@ -95,17 +95,3 @@ export function toExponential(value: number | bigint, fractionDigits: number = 2 export function clampMin(value: number, min: number = 0): number { return Math.max(min, value || 0); } - -export function toNumberOrNull(value: unknown): number | null { - if (value === null || value === undefined) { - return null; - } - - if (typeof value === 'string' && value.trim() === '') { - return null; - } - - const num = Number(value); - - return Number.isNaN(num) ? null : num; -} diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/float.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/float.svelte index 077023a99f..bc64c121e4 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/float.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/float.svelte @@ -2,7 +2,6 @@ import { page } from '$app/state'; import { sdk } from '$lib/stores/sdk'; import type { Models } from '@appwrite.io/console'; - import { toNumberOrNull } from '$lib/helpers/numbers'; export async function submitFloat( databaseId: string, @@ -15,9 +14,9 @@ tableId, key, required: data.required, - min: toNumberOrNull(data.min), - max: toNumberOrNull(data.max), - xdefault: toNumberOrNull(data.default), + min: data.min, + max: data.max, + xdefault: data.default, array: data.array }); } @@ -33,9 +32,9 @@ tableId, key: originalKey, required: data.required, - xdefault: toNumberOrNull(data.default), - min: toNumberOrNull(data.min), - max: toNumberOrNull(data.max), + min: data.min, + max: data.max, + xdefault: data.default, newKey: data.key !== originalKey ? data.key : undefined }); } diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/integer.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/integer.svelte index 9291a9a94a..3367a3af9c 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/integer.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/integer.svelte @@ -2,7 +2,6 @@ import { page } from '$app/state'; import { sdk } from '$lib/stores/sdk'; import type { Models } from '@appwrite.io/console'; - import { toNumberOrNull } from '$lib/helpers/numbers'; export async function submitInteger( databaseId: string, @@ -15,9 +14,9 @@ tableId, key, required: data.required, - min: toNumberOrNull(data.min), - max: toNumberOrNull(data.max), - xdefault: toNumberOrNull(data.default), + min: data.min, + max: data.max, + xdefault: data.default, array: data.array }); } @@ -33,9 +32,9 @@ tableId, key: originalKey, required: data.required, - xdefault: toNumberOrNull(data.default), - min: toNumberOrNull(data.min), - max: toNumberOrNull(data.max), + xdefault: data.default, + min: data.min, + max: data.max, newKey: data.key !== originalKey ? data.key : undefined }); } From 00b390c24d7c27ae7fdff5d94e50ab9061980eaa Mon Sep 17 00:00:00 2001 From: Harsh Mahajan Date: Tue, 10 Feb 2026 17:53:46 +0530 Subject: [PATCH 4/4] svelte check error due to new chnages --- src/lib/components/git/selectRootModal.svelte | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/lib/components/git/selectRootModal.svelte b/src/lib/components/git/selectRootModal.svelte index bc817623e6..fed59657ce 100644 --- a/src/lib/components/git/selectRootModal.svelte +++ b/src/lib/components/git/selectRootModal.svelte @@ -152,7 +152,13 @@ Select the directory where your site code is located using the menu below. - +