From b961a54a91775b6d362efe6287c63ed1ee128cd1 Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Mon, 22 Sep 2025 12:24:23 +0530 Subject: [PATCH 01/12] fix: Add real-time duration updates for Executions and fix negative timer display --- src/lib/actions/timer.ts | 11 +++++++---- .../function-[function]/executions/sheet.svelte | 7 ++++++- .../function-[function]/executions/table.svelte | 7 ++++++- .../sites/site-[site]/logs/sheet.svelte | 8 +++++++- .../sites/site-[site]/logs/table.svelte | 7 ++++++- 5 files changed, 32 insertions(+), 8 deletions(-) diff --git a/src/lib/actions/timer.ts b/src/lib/actions/timer.ts index 1f6bff7e1..07d589a8b 100644 --- a/src/lib/actions/timer.ts +++ b/src/lib/actions/timer.ts @@ -21,13 +21,16 @@ export const timer: Action = (node, props) => { } function step() { - const diffInSeconds = Math.floor((new Date().getTime() - startDate.getTime()) / 1000); - const minutes = Math.floor(diffInSeconds / 60); + const elapsedSeconds = Math.max( + 0, + Math.floor((new Date().getTime() - startDate.getTime()) / 1000) + ); + const minutes = Math.floor(elapsedSeconds / 60); if (minutes > 0) { - const seconds = diffInSeconds % 60; + const seconds = elapsedSeconds % 60; node.textContent = `${minutes}m ${seconds}s`; } else { - node.textContent = calculateTime(diffInSeconds); + node.textContent = calculateTime(elapsedSeconds); } frame = window.requestAnimationFrame(step); } diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/executions/sheet.svelte b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/executions/sheet.svelte index af47ba07c..48a313d48 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/executions/sheet.svelte +++ b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/executions/sheet.svelte @@ -21,6 +21,7 @@ import { Copy } from '$lib/components'; import { logStatusConverter } from './store'; import { LogsRequest, LogsResponse } from '$lib/components/logs'; + import { timer } from '$lib/actions/timer'; export let selectedLogId: string; export let logs: Models.Execution[]; @@ -139,7 +140,11 @@ Duration - {calculateTime(selectedLog.duration)} + {#if ['processing', 'waiting'].includes(selectedLog.status)} + + {:else} + {calculateTime(selectedLog.duration)} + {/if} diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/executions/table.svelte b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/executions/table.svelte index bc4573006..b73c0a7f6 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/executions/table.svelte +++ b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/executions/table.svelte @@ -25,6 +25,7 @@ import { invalidate } from '$app/navigation'; import { Dependencies } from '$lib/constants'; import { Button } from '$lib/elements/forms'; + import { timer } from '$lib/actions/timer'; export let columns: Column[]; export let executions: Models.ExecutionList; @@ -121,7 +122,11 @@ {:else if column.id === 'duration'} - {calculateTime(log.duration)} + {#if ['processing', 'waiting'].includes(log.status)} + + {:else} + {calculateTime(log.duration)} + {/if} {/if} {/each} diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/logs/sheet.svelte b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/logs/sheet.svelte index a0c6f9b81..8adf821c3 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/logs/sheet.svelte +++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/logs/sheet.svelte @@ -19,6 +19,7 @@ import { Copy } from '$lib/components'; import { LogsRequest, LogsResponse } from '$lib/components/logs'; import { site } from '../store'; + import { timer } from '$lib/actions/timer'; export let open = false; export let selectedLogId: string; @@ -112,7 +113,12 @@ Duration - {calculateTime(selectedLog.duration)} + {#if ['processing', 'waiting'].includes(selectedLog.status)} + + {:else} + {calculateTime(selectedLog.duration)} + {/if} diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/logs/table.svelte b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/logs/table.svelte index 1d5011dd2..9d74a095d 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/logs/table.svelte +++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/logs/table.svelte @@ -14,6 +14,7 @@ import { calculateTime } from '$lib/helpers/timeConversion'; import { getBadgeTypeFromStatusCode } from '$lib/helpers/httpStatus'; import { Button } from '$lib/elements/forms'; + import { timer } from '$lib/actions/timer'; export let columns: Column[]; export let logs: Models.ExecutionList; @@ -83,7 +84,11 @@ {log.requestMethod} {:else if column.id === 'duration'} - {calculateTime(log.duration)} + {#if ['processing', 'waiting'].includes(log.status)} + + {:else} + {calculateTime(log.duration)} + {/if} {:else if column.id === 'responseStatusCode'}
Date: Mon, 22 Sep 2025 14:03:23 +0530 Subject: [PATCH 02/12] fix: correct spreadsheetRenderKey update in CSV import completion --- src/lib/components/csvImportBox.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/components/csvImportBox.svelte b/src/lib/components/csvImportBox.svelte index 8ff2838ab..9643afdb1 100644 --- a/src/lib/components/csvImportBox.svelte +++ b/src/lib/components/csvImportBox.svelte @@ -62,7 +62,7 @@ if (isSuccess) { await invalidate(Dependencies.ROWS); - $spreadsheetRenderKey = hash(Date.now().toString()); + spreadsheetRenderKey.set(hash(Date.now().toString())); } } From a4fa521fb20bce264a00d55e030ae60454c54e0e Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Mon, 22 Sep 2025 14:38:36 +0530 Subject: [PATCH 03/12] fix: drop stale items --- src/lib/components/csvImportBox.svelte | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/lib/components/csvImportBox.svelte b/src/lib/components/csvImportBox.svelte index 9643afdb1..0716e5990 100644 --- a/src/lib/components/csvImportBox.svelte +++ b/src/lib/components/csvImportBox.svelte @@ -75,6 +75,7 @@ const current = $importItems.get(importData.$id); let tableName = current?.table ?? null; + let resourceMissing = false; if (!tableName && tableId) { try { @@ -87,9 +88,19 @@ tableName = table.name; } catch { tableName = null; + resourceMissing = true; } } + if (resourceMissing) { + importItems.update((items) => { + const next = new Map(items); + next.delete(importData.$id); + return next; + }); + return; + } + importItems.update((items) => { const existing = items.get(importData.$id); From 8254191cc9161e1a151b5f18ab22f5f107badf6c Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Mon, 22 Sep 2025 15:46:02 +0530 Subject: [PATCH 04/12] remove resourcemissing and using tableName is null --- src/lib/components/csvImportBox.svelte | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/lib/components/csvImportBox.svelte b/src/lib/components/csvImportBox.svelte index 0716e5990..15b5b1e96 100644 --- a/src/lib/components/csvImportBox.svelte +++ b/src/lib/components/csvImportBox.svelte @@ -75,7 +75,6 @@ const current = $importItems.get(importData.$id); let tableName = current?.table ?? null; - let resourceMissing = false; if (!tableName && tableId) { try { @@ -88,11 +87,10 @@ tableName = table.name; } catch { tableName = null; - resourceMissing = true; } } - if (resourceMissing) { + if (tableName === null) { importItems.update((items) => { const next = new Map(items); next.delete(importData.$id); From 1d134715296d54fbda4e4a0195b5646b0ad070c4 Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Mon, 22 Sep 2025 15:49:02 +0530 Subject: [PATCH 05/12] used table id aswell as safe check --- src/lib/components/csvImportBox.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/components/csvImportBox.svelte b/src/lib/components/csvImportBox.svelte index 15b5b1e96..ec7a2c9a3 100644 --- a/src/lib/components/csvImportBox.svelte +++ b/src/lib/components/csvImportBox.svelte @@ -90,7 +90,7 @@ } } - if (tableName === null) { + if (tableId && tableName === null) { importItems.update((items) => { const next = new Map(items); next.delete(importData.$id); From 2ce54049d8ae7b0a605ae81384bb1aabbfc6aadb Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Mon, 22 Sep 2025 15:54:29 +0530 Subject: [PATCH 06/12] remove table id --- src/lib/components/csvImportBox.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/components/csvImportBox.svelte b/src/lib/components/csvImportBox.svelte index ec7a2c9a3..15b5b1e96 100644 --- a/src/lib/components/csvImportBox.svelte +++ b/src/lib/components/csvImportBox.svelte @@ -90,7 +90,7 @@ } } - if (tableId && tableName === null) { + if (tableName === null) { importItems.update((items) => { const next = new Map(items); next.delete(importData.$id); From e50ee41714e2f6807db888106496e0d505d0efa4 Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Mon, 22 Sep 2025 15:58:15 +0530 Subject: [PATCH 07/12] Update src/lib/components/csvImportBox.svelte Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- src/lib/components/csvImportBox.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/components/csvImportBox.svelte b/src/lib/components/csvImportBox.svelte index 15b5b1e96..ec7a2c9a3 100644 --- a/src/lib/components/csvImportBox.svelte +++ b/src/lib/components/csvImportBox.svelte @@ -90,7 +90,7 @@ } } - if (tableName === null) { + if (tableId && tableName === null) { importItems.update((items) => { const next = new Map(items); next.delete(importData.$id); From 6d1cb7d01fefa6b9a15a868bbb49e002062057b5 Mon Sep 17 00:00:00 2001 From: Chirag Aggarwal Date: Mon, 22 Sep 2025 18:51:17 +0530 Subject: [PATCH 08/12] feat: enable auto complete in name and address fields --- src/routes/(console)/account/payments/addressModal.svelte | 4 ++++ src/routes/(public)/(guest)/register/+page.svelte | 1 + 2 files changed, 5 insertions(+) diff --git a/src/routes/(console)/account/payments/addressModal.svelte b/src/routes/(console)/account/payments/addressModal.svelte index 9bdcc2784..53555b00b 100644 --- a/src/routes/(console)/account/payments/addressModal.svelte +++ b/src/routes/(console)/account/payments/addressModal.svelte @@ -89,23 +89,27 @@ id="address" label="Street address" placeholder="Enter street address" + autocomplete required /> diff --git a/src/routes/(public)/(guest)/register/+page.svelte b/src/routes/(public)/(guest)/register/+page.svelte index a1ca85c02..aafbbd2b6 100644 --- a/src/routes/(public)/(guest)/register/+page.svelte +++ b/src/routes/(public)/(guest)/register/+page.svelte @@ -130,6 +130,7 @@ placeholder="Your name" autofocus required + autocomplete bind:value={name} /> Date: Mon, 22 Sep 2025 18:52:26 +0530 Subject: [PATCH 09/12] add to pincode --- src/routes/(console)/account/payments/addressModal.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/(console)/account/payments/addressModal.svelte b/src/routes/(console)/account/payments/addressModal.svelte index 53555b00b..32583c1da 100644 --- a/src/routes/(console)/account/payments/addressModal.svelte +++ b/src/routes/(console)/account/payments/addressModal.svelte @@ -111,7 +111,7 @@ placeholder="Enter your state" autocomplete required /> - + From 12903d0125041776eb0b18cfcf9de625ac3245f6 Mon Sep 17 00:00:00 2001 From: Chirag Aggarwal Date: Mon, 22 Sep 2025 18:55:53 +0530 Subject: [PATCH 10/12] lint --- src/routes/(console)/account/payments/addressModal.svelte | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/routes/(console)/account/payments/addressModal.svelte b/src/routes/(console)/account/payments/addressModal.svelte index 32583c1da..5b058dbfb 100644 --- a/src/routes/(console)/account/payments/addressModal.svelte +++ b/src/routes/(console)/account/payments/addressModal.svelte @@ -111,7 +111,12 @@ placeholder="Enter your state" autocomplete required /> - + From 9a01605cbb0e4b4300df2b6c1068615ec47d68fc Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Tue, 23 Sep 2025 12:16:26 +0530 Subject: [PATCH 11/12] Update testimonial headline for Phil McCluskey --- src/lib/data/testimonials.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/data/testimonials.ts b/src/lib/data/testimonials.ts index 3a4181ead..ee0d81983 100644 --- a/src/lib/data/testimonials.ts +++ b/src/lib/data/testimonials.ts @@ -44,7 +44,7 @@ export const testimonials: Testimonial[] = [ { id: 'phil-majikkids', logo: Phil, - headline: 'Just like a Swiss Army Knife - choose and use the tools you need', + headline: 'With Appwrite they built an entire app with one developer.', blurb: 'Just like a Swiss Army Knife you can choose and use the tools that you need with Appwrite.', name: 'Phil McCluskey', title: 'App Manager, Majik Kids', From cdb259e53d5df21466000f8fee680af3863a8488 Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Tue, 23 Sep 2025 12:23:24 +0530 Subject: [PATCH 12/12] Fix headline punctuation in testimonial --- src/lib/data/testimonials.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/data/testimonials.ts b/src/lib/data/testimonials.ts index ee0d81983..47b0b8883 100644 --- a/src/lib/data/testimonials.ts +++ b/src/lib/data/testimonials.ts @@ -44,7 +44,7 @@ export const testimonials: Testimonial[] = [ { id: 'phil-majikkids', logo: Phil, - headline: 'With Appwrite they built an entire app with one developer.', + headline: 'With Appwrite, Majik Kids built an entire app with one developer.', blurb: 'Just like a Swiss Army Knife you can choose and use the tools that you need with Appwrite.', name: 'Phil McCluskey', title: 'App Manager, Majik Kids',