-
-
- {#if browser}
-
.toString()})
- {:else}
-
-
- {/if}
-
-
- {session.clientName}
- {session.clientVersion} on {session.osName}
- {session.osVersion}
-
- {#if session.current}
-
+
+
+ Client
+ Location
+ IP
+
+
+ {#each data.sessions.sessions as session}
+ {@const browser = getBrowser(session.clientCode)}
+
+
+
+
+ {#if browser}
+
.toString()})
+ {:else}
+
+
{/if}
-
-
- {session.clientType}
- {session.countryName}
- {session.ip}
-
-
-
-
- {/each}
-
-
+
+ {session.clientName}
+ {session.clientVersion} on {session.osName}
+ {session.osVersion}
+
+ {#if session.current}
+
+ {/if}
+
+
+
+ {#if session.countryCode !== '--'}
+ {session.countryName}
+ {:else}
+ Unknown
+ {/if}
+
+
+ {session.ip}
+
+
+
+
+
+ {/each}
+
{:else}
From 258cee9b2168dbb9c0a792f489ec0182d9dcb1fd Mon Sep 17 00:00:00 2001
From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com>
Date: Mon, 18 Aug 2025 16:23:18 +0530
Subject: [PATCH 2/8] refactor: chnaged dimensions
---
src/routes/(console)/account/sessions/+page.svelte | 6 +++---
.../auth/user-[user]/sessions/+page.svelte | 6 +++---
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/routes/(console)/account/sessions/+page.svelte b/src/routes/(console)/account/sessions/+page.svelte
index ed52cef08..ca3aeb170 100644
--- a/src/routes/(console)/account/sessions/+page.svelte
+++ b/src/routes/(console)/account/sessions/+page.svelte
@@ -90,9 +90,9 @@
let:root
columns={[
{ id: 'client' },
- { id: 'location', width: 120 },
- { id: 'ip', width: 120 },
- { id: 'actions', width: 70 }
+ { id: 'location', width: 200 },
+ { id: 'ip', width: 200 },
+ { id: 'actions', width: 100 }
]}>
Client
diff --git a/src/routes/(console)/project-[region]-[project]/auth/user-[user]/sessions/+page.svelte b/src/routes/(console)/project-[region]-[project]/auth/user-[user]/sessions/+page.svelte
index 46566cc75..2af333951 100644
--- a/src/routes/(console)/project-[region]-[project]/auth/user-[user]/sessions/+page.svelte
+++ b/src/routes/(console)/project-[region]-[project]/auth/user-[user]/sessions/+page.svelte
@@ -36,9 +36,9 @@
let:root
columns={[
{ id: 'client' },
- { id: 'location', width: 120 },
- { id: 'ip', width: 120 },
- { id: 'actions', width: 70 }
+ { id: 'location', width: 200 },
+ { id: 'ip', width: 200 },
+ { id: 'actions', width: 100 }
]}>
Client
From 46c80e44fe95f67340ae26659470b2cd34fad008 Mon Sep 17 00:00:00 2001
From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com>
Date: Wed, 20 Aug 2025 01:02:55 +0530
Subject: [PATCH 3/8] feat:add warning for one free organization limitation
---
.../components/billing/planSelection.svelte | 7 ++----
.../change-plan/+page.svelte | 23 +++++++++++++++----
2 files changed, 21 insertions(+), 9 deletions(-)
diff --git a/src/lib/components/billing/planSelection.svelte b/src/lib/components/billing/planSelection.svelte
index 6c2103187..2dea57521 100644
--- a/src/lib/components/billing/planSelection.svelte
+++ b/src/lib/components/billing/planSelection.svelte
@@ -22,12 +22,9 @@
+ title={tierFree.name}>
{#if $organization?.billingPlan === BillingPlan.FREE && !isNewOrg}
diff --git a/src/routes/(console)/organization-[organization]/change-plan/+page.svelte b/src/routes/(console)/organization-[organization]/change-plan/+page.svelte
index e0bc8eb0c..fe97896b1 100644
--- a/src/routes/(console)/organization-[organization]/change-plan/+page.svelte
+++ b/src/routes/(console)/organization-[organization]/change-plan/+page.svelte
@@ -264,7 +264,9 @@
$: isUpgrade = $plansInfo.get(selectedPlan).order > $currentPlan?.order;
$: isDowngrade = $plansInfo.get(selectedPlan).order < $currentPlan?.order;
- $: isButtonDisabled = $organization?.billingPlan === selectedPlan;
+ $: isButtonDisabled =
+ $organization?.billingPlan === selectedPlan ||
+ (isDowngrade && selectedPlan === BillingPlan.FREE && data.hasFreeOrgs);
@@ -297,8 +299,21 @@
selfService={data.selfService}
anyOrgFree={data.hasFreeOrgs} />
+ {#if isDowngrade && selectedPlan === BillingPlan.FREE && data.hasFreeOrgs}
+
+ To downgrade this organization, first migrate or delete one of your
+ existing paid organizations.
+
+
+ {/if}
+
{#if isDowngrade}
- {#if selectedPlan === BillingPlan.FREE}
+ {#if selectedPlan === BillingPlan.FREE && !data.hasFreeOrgs}
{:else if selectedPlan === BillingPlan.PRO && data.organization.billingPlan === BillingPlan.SCALE && collaborators?.length > 0}
{@const extraMembers = collaborators?.length ?? 0}
@@ -364,7 +379,7 @@
id="members" />
{/if}
- {#if isDowngrade && selectedPlan === BillingPlan.FREE}
+ {#if isDowngrade && selectedPlan === BillingPlan.FREE && !data.hasFreeOrgs}
From a5d079795971bc2a570882d39677ade3371f765c Mon Sep 17 00:00:00 2001
From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com>
Date: Wed, 20 Aug 2025 01:18:13 +0530
Subject: [PATCH 4/8] fix: notification btag not rendering
---
.../organization-[organization]/change-plan/+page.svelte | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/routes/(console)/organization-[organization]/change-plan/+page.svelte b/src/routes/(console)/organization-[organization]/change-plan/+page.svelte
index fe97896b1..682bf7bd8 100644
--- a/src/routes/(console)/organization-[organization]/change-plan/+page.svelte
+++ b/src/routes/(console)/organization-[organization]/change-plan/+page.svelte
@@ -150,8 +150,7 @@
await goto(previousPage);
addNotification({
type: 'success',
- isHtml: true,
- message: `${$organization.name} plan has been successfully updated.`
+ message: `${$organization.name} plan has been successfully updated.`
});
trackEvent(Submit.OrganizationDowngrade, {
From cd92a91207f868ba55c0b9a0c5d144b83dda5b50 Mon Sep 17 00:00:00 2001
From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com>
Date: Sun, 24 Aug 2025 15:52:54 +0530
Subject: [PATCH 5/8] fix: removed unused anyOrgFree
---
src/lib/components/billing/planSelection.svelte | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/lib/components/billing/planSelection.svelte b/src/lib/components/billing/planSelection.svelte
index 2dea57521..381832bfe 100644
--- a/src/lib/components/billing/planSelection.svelte
+++ b/src/lib/components/billing/planSelection.svelte
@@ -7,7 +7,6 @@
import { LabelCard } from '..';
export let billingPlan: Tier;
- export let anyOrgFree = false;
export let isNewOrg = false;
export let selfService = true;
From 2b923df4164bd6ae860f4f5e04ec70db45162d6f Mon Sep 17 00:00:00 2001
From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com>
Date: Sun, 24 Aug 2025 16:01:18 +0530
Subject: [PATCH 6/8] remove unnecessary --p-text-size styling from image and
icon elements
---
src/routes/(console)/account/sessions/+page.svelte | 6 +-----
.../auth/user-[user]/sessions/+page.svelte | 7 +------
2 files changed, 2 insertions(+), 11 deletions(-)
diff --git a/src/routes/(console)/account/sessions/+page.svelte b/src/routes/(console)/account/sessions/+page.svelte
index ca3aeb170..c4f4cfeeb 100644
--- a/src/routes/(console)/account/sessions/+page.svelte
+++ b/src/routes/(console)/account/sessions/+page.svelte
@@ -112,13 +112,9 @@
height="20"
width="20"
src={getBrowser(session.clientCode).toString()}
- style="--p-text-size: 1.25rem"
alt={session.clientName} />
{:else}
-
+
{/if}
diff --git a/src/routes/(console)/project-[region]-[project]/auth/user-[user]/sessions/+page.svelte b/src/routes/(console)/project-[region]-[project]/auth/user-[user]/sessions/+page.svelte
index 2af333951..15bc234a3 100644
--- a/src/routes/(console)/project-[region]-[project]/auth/user-[user]/sessions/+page.svelte
+++ b/src/routes/(console)/project-[region]-[project]/auth/user-[user]/sessions/+page.svelte
@@ -57,14 +57,9 @@
height="20"
width="20"
src={getBrowser(session.clientCode).toString()}
- style="--p-text-size: 1.25rem"
alt={session.clientName} />
{:else}
-
-
+
{/if}
From 899bdbfe6f73a20ebe982d6acf2f25c32275109e Mon Sep 17 00:00:00 2001
From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com>
Date: Sun, 24 Aug 2025 16:05:49 +0530
Subject: [PATCH 7/8] Add anyOrgFree prop to planSelection component
---
src/lib/components/billing/planSelection.svelte | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/lib/components/billing/planSelection.svelte b/src/lib/components/billing/planSelection.svelte
index 381832bfe..a4a290367 100644
--- a/src/lib/components/billing/planSelection.svelte
+++ b/src/lib/components/billing/planSelection.svelte
@@ -8,6 +8,7 @@
export let billingPlan: Tier;
export let isNewOrg = false;
+ export let anyOrgFree = false;
export let selfService = true;
$: freePlan = $plansInfo.get(BillingPlan.FREE);
From 22b729d1020e95261faf789bd7948b2a822166bf Mon Sep 17 00:00:00 2001
From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com>
Date: Sun, 24 Aug 2025 16:48:11 +0530
Subject: [PATCH 8/8] used Icon Component in both tables
---
src/routes/(console)/account/sessions/+page.svelte | 5 +++--
.../auth/user-[user]/sessions/+page.svelte | 11 ++++++-----
2 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/src/routes/(console)/account/sessions/+page.svelte b/src/routes/(console)/account/sessions/+page.svelte
index c4f4cfeeb..1b8ce206d 100644
--- a/src/routes/(console)/account/sessions/+page.svelte
+++ b/src/routes/(console)/account/sessions/+page.svelte
@@ -13,7 +13,8 @@
import type { PageData } from './$types';
import { addNotification } from '$lib/stores/notifications';
import { onMount } from 'svelte';
- import { Badge, Layout, Table, Typography } from '@appwrite.io/pink-svelte';
+ import { Badge, Layout, Table, Typography, Icon } from '@appwrite.io/pink-svelte';
+ import { IconGlobeAlt } from '@appwrite.io/pink-icons-svelte';
export let data: PageData;
@@ -114,7 +115,7 @@
src={getBrowser(session.clientCode).toString()}
alt={session.clientName} />
{:else}
-
+
{/if}
diff --git a/src/routes/(console)/project-[region]-[project]/auth/user-[user]/sessions/+page.svelte b/src/routes/(console)/project-[region]-[project]/auth/user-[user]/sessions/+page.svelte
index 15bc234a3..dbea6505e 100644
--- a/src/routes/(console)/project-[region]-[project]/auth/user-[user]/sessions/+page.svelte
+++ b/src/routes/(console)/project-[region]-[project]/auth/user-[user]/sessions/+page.svelte
@@ -1,6 +1,7 @@