diff --git a/src/lib/components/domains/cnameTable.svelte b/src/lib/components/domains/cnameTable.svelte
index ed7c8bd5e..fd90536aa 100644
--- a/src/lib/components/domains/cnameTable.svelte
+++ b/src/lib/components/domains/cnameTable.svelte
@@ -12,7 +12,7 @@
import { regionalConsoleVariables } from '$routes/(console)/project-[region]-[project]/store';
export let domain: string;
- export let verified = false;
+ export let verified = undefined;
let subdomain = domain.split('.').slice(0, -2).join('.');
@@ -23,16 +23,10 @@
{domain}
- {#if verified}
-
+ {#if verified === true}
+
{:else if verified === false}
-
- {:else}
-
+
{/if}
diff --git a/src/lib/components/domains/nameserverTable.svelte b/src/lib/components/domains/nameserverTable.svelte
index 9a9d17f15..55414d839 100644
--- a/src/lib/components/domains/nameserverTable.svelte
+++ b/src/lib/components/domains/nameserverTable.svelte
@@ -4,7 +4,7 @@
import { Badge, Layout, Typography, Table, InteractiveText } from '@appwrite.io/pink-svelte';
export let domain: string;
- export let verified = false;
+ export let verified = undefined;
const nameserverList = $regionalConsoleVariables?._APP_DOMAINS_NAMESERVERS
? $regionalConsoleVariables?._APP_DOMAINS_NAMESERVERS?.split(',')
@@ -16,10 +16,10 @@
{domain}
- {#if verified}
+ {#if verified === true}
{:else if verified === false}
-
+
{/if}
diff --git a/src/lib/components/domains/recordTable.svelte b/src/lib/components/domains/recordTable.svelte
index bf7fa7abf..1b58b1aa6 100644
--- a/src/lib/components/domains/recordTable.svelte
+++ b/src/lib/components/domains/recordTable.svelte
@@ -11,7 +11,7 @@
import { regionalConsoleVariables } from '$routes/(console)/project-[region]-[project]/store';
export let domain: string;
- export let verified = false;
+ export let verified = undefined;
export let variant: 'cname' | 'a' | 'aaaa';
export let service: 'sites' | 'general' = 'general';
@@ -37,16 +37,10 @@
{domain}
- {#if verified}
+ {#if verified === true}
{:else if verified === false}
- {:else}
-
{/if}
diff --git a/src/lib/components/usageCard.svelte b/src/lib/components/usageCard.svelte
index bebb1e131..86d853f9f 100644
--- a/src/lib/components/usageCard.svelte
+++ b/src/lib/components/usageCard.svelte
@@ -13,8 +13,9 @@
{#if value !== null && value !== undefined}
- {value}
+
+ {value}
+
{:else}
{/if}
diff --git a/src/routes/(console)/organization-[organization]/domains/+page.svelte b/src/routes/(console)/organization-[organization]/domains/+page.svelte
index e970be7f6..b2726e561 100644
--- a/src/routes/(console)/organization-[organization]/domains/+page.svelte
+++ b/src/routes/(console)/organization-[organization]/domains/+page.svelte
@@ -41,7 +41,7 @@
let selectedDomain: Models.Domain = null;
const isDomainVerified = (domain: Models.Domain) => {
- return domain.nameservers.toLocaleLowerCase() === 'appwrite';
+ return domain.nameservers.toLowerCase() === 'appwrite';
};
diff --git a/src/routes/(console)/organization-[organization]/domains/domain-[domain]/+page.ts b/src/routes/(console)/organization-[organization]/domains/domain-[domain]/+page.ts
index 6c3990efa..f7f1c8caf 100644
--- a/src/routes/(console)/organization-[organization]/domains/domain-[domain]/+page.ts
+++ b/src/routes/(console)/organization-[organization]/domains/domain-[domain]/+page.ts
@@ -4,6 +4,7 @@ import { pageToOffset } from '$lib/helpers/load';
import { getLimit } from '$lib/helpers/load';
import { getPage } from '$lib/helpers/load';
import { sdk } from '$lib/stores/sdk.js';
+import { Query } from '@appwrite.io/console';
export const load = async ({ parent, depends, url, route }) => {
depends(Dependencies.DOMAIN);
@@ -15,7 +16,10 @@ export const load = async ({ parent, depends, url, route }) => {
return {
domain,
- recordList: await sdk.forConsole.domains.listRecords(domain.$id),
+ recordList: await sdk.forConsole.domains.listRecords(domain.$id, [
+ Query.offset(offset),
+ Query.limit(limit)
+ ]),
offset,
limit
};
diff --git a/src/routes/(console)/organization-[organization]/domains/domain-[domain]/domainMetrics.svelte b/src/routes/(console)/organization-[organization]/domains/domain-[domain]/domainMetrics.svelte
index 7d4a152a5..4b45f7261 100644
--- a/src/routes/(console)/organization-[organization]/domains/domain-[domain]/domainMetrics.svelte
+++ b/src/routes/(console)/organization-[organization]/domains/domain-[domain]/domainMetrics.svelte
@@ -8,7 +8,7 @@
let { domain, retryVerification }: { domain: Models.Domain; retryVerification: () => void } =
$props();
- const isDomainVerified = domain.nameservers.toLocaleLowerCase() === 'appwrite';
+ const isDomainVerified = domain.nameservers.toLowerCase() === 'appwrite';
const metrics = [
{
@@ -29,7 +29,7 @@
},
{
value:
- domain?.registrar?.toLocaleLowerCase() === 'appwrite'
+ domain?.registrar?.toLowerCase() === 'appwrite'
? domain?.autoRenewal
? 'On'
: 'Off'
@@ -43,29 +43,26 @@
];
-
-
- {#each metrics.slice(0, 3) as metric}
- {#if metric.description === 'Status'}
-
-
-
+
+ {#each metrics.slice(0, 3) as metric}
+ {#if metric.description === 'Status'}
+
+
+
- {#if !isDomainVerified}
- Retry
- {/if}
-
-
- {:else}
-
- {/if}
- {/each}
-
-
- {#each metrics.slice(3) as metric}
+ {#if !isDomainVerified}
+ Retry
+ {/if}
+
+
+ {:else}
- {/each}
-
+ {/if}
+ {/each}
+ {#each metrics.slice(3) as metric}
+
+ {/each}
diff --git a/src/routes/(console)/organization-[organization]/domains/recordsCard.svelte b/src/routes/(console)/organization-[organization]/domains/recordsCard.svelte
index 0b6f45a31..a131eb5b2 100644
--- a/src/routes/(console)/organization-[organization]/domains/recordsCard.svelte
+++ b/src/routes/(console)/organization-[organization]/domains/recordsCard.svelte
@@ -35,7 +35,7 @@
async function verifyStatus() {
try {
domain = await sdk.forConsole.domains.updateNameservers(domain.$id);
- verified = domain.nameservers === 'Appwrite';
+ verified = domain.nameservers.toLowerCase() === 'appwrite';
if (verified) {
addNotification({
type: 'success',
@@ -46,7 +46,8 @@
} else {
addNotification({
type: 'error',
- message: 'Domain not verified'
+ message:
+ 'Domain verification failed. Please check your domain settings or try again later'
});
}
} catch (error) {
@@ -68,8 +69,9 @@
- {domain.domain}
+
+ {domain.domain}
+
{#if verified === false}
- {:else}
-
+ {:else if verified === true}
+
{/if}
diff --git a/src/routes/(console)/organization-[organization]/domains/retryDomainModal.svelte b/src/routes/(console)/organization-[organization]/domains/retryDomainModal.svelte
index 7d059b277..453cc79e0 100644
--- a/src/routes/(console)/organization-[organization]/domains/retryDomainModal.svelte
+++ b/src/routes/(console)/organization-[organization]/domains/retryDomainModal.svelte
@@ -23,7 +23,7 @@
try {
const domain = await sdk.forConsole.domains.updateNameservers(selectedDomain.$id);
show = false;
- if (domain.nameservers === 'Appwrite') {
+ if (domain.nameservers.toLowerCase() === 'appwrite') {
addNotification({
type: 'success',
message: `${selectedDomain.domain} has been verified`
@@ -31,13 +31,14 @@
} else {
addNotification({
type: 'error',
- message: `Domain verification failed. Please check your domain settings or try again later`
+ message:
+ 'Domain verification failed. Please check your domain settings or try again later'
});
}
await invalidate(Dependencies.DOMAINS);
trackEvent(Submit.DomainUpdateVerification);
} catch (e) {
- error = e;
+ error = e.message;
trackError(e, Submit.DomainUpdateVerification);
}
}
diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/domains/add-domain/+page.svelte b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/domains/add-domain/+page.svelte
index c35e92fc0..2c931b0a9 100644
--- a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/domains/add-domain/+page.svelte
+++ b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/domains/add-domain/+page.svelte
@@ -82,7 +82,9 @@
await goto(routeBase);
await invalidate(Dependencies.FUNCTION_DOMAINS);
} else {
- await goto(`${routeBase}/add-domain/verify-${domainName}?rule=${rule.$id}`);
+ await goto(
+ `${routeBase}/add-domain/verify-${domainName}?rule=${rule.$id}&domain=${domain.$id}`
+ );
await invalidate(Dependencies.FUNCTION_DOMAINS);
}
} catch (error) {
diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/domains/add-domain/verify-[domain]/+page.svelte b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/domains/add-domain/verify-[domain]/+page.svelte
index c99378209..d8d044ef1 100644
--- a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/domains/add-domain/verify-[domain]/+page.svelte
+++ b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/domains/add-domain/verify-[domain]/+page.svelte
@@ -28,6 +28,7 @@
let { data } = $props();
const ruleId = page.url.searchParams.get('rule');
+ const domainId = page.url.searchParams.get('domain');
const isSubDomain = $derived.by(() => isASubdomain(page.params.domain));
let selectedTab = $state<'cname' | 'nameserver' | 'a' | 'aaaa'>('nameserver');
@@ -42,14 +43,15 @@
selectedTab = 'nameserver';
}
});
- let verified = $state(false);
+ let verified: boolean | undefined = $state(undefined);
let routeBase = `${base}/project-${page.params.region}-${page.params.project}/functions/function-${page.params.function}/domains`;
let isSubmitting = $state(writable(false));
async function verify() {
const isNewDomain =
- data.domainsList.domains.findIndex((rule) => rule.domain === page.params.domain) === -1;
+ data.domainsList.domains.find((rule) => rule.domain === page.params.domain) ===
+ undefined;
try {
if (selectedTab !== 'nameserver') {
const ruleData = await sdk
@@ -61,7 +63,14 @@
$organization.$id,
page.params.domain
);
- verified = domainData.nameservers.toLocaleLowerCase() === 'appwrite';
+ verified = domainData.nameservers.toLowerCase() === 'appwrite';
+ } else if (!isNewDomain && isCloud) {
+ const domain = await sdk.forConsole.domains.updateNameservers(domainId);
+ verified = domain.nameservers.toLowerCase() === 'appwrite';
+ if (!verified)
+ throw new Error(
+ 'Domain verification failed. Please check your domain settings or try again later'
+ );
}
addNotification({
diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/domains/retryDomainModal.svelte b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/domains/retryDomainModal.svelte
index 008c36553..5a4722e6a 100644
--- a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/domains/retryDomainModal.svelte
+++ b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/domains/retryDomainModal.svelte
@@ -27,7 +27,7 @@
});
trackEvent(Submit.DomainUpdateVerification);
} catch (e) {
- error = e;
+ error = e.message;
trackError(e, Submit.DomainUpdateVerification);
}
}
diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/domains/table.svelte b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/domains/table.svelte
index 1dcb2baee..2bd90d1e0 100644
--- a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/domains/table.svelte
+++ b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/domains/table.svelte
@@ -94,7 +94,7 @@
- {#if proxyRule.status !== 'verified'}
+ {#if proxyRule.status !== 'verified' && proxyRule.status !== 'verifying'}
{
diff --git a/src/routes/(console)/project-[region]-[project]/settings/domains/add-domain/+page.svelte b/src/routes/(console)/project-[region]-[project]/settings/domains/add-domain/+page.svelte
index 781c68bb2..b9e50a3e8 100644
--- a/src/routes/(console)/project-[region]-[project]/settings/domains/add-domain/+page.svelte
+++ b/src/routes/(console)/project-[region]-[project]/settings/domains/add-domain/+page.svelte
@@ -52,7 +52,9 @@
await goto(routeBase);
await invalidate(Dependencies.DOMAINS);
} else {
- await goto(`${routeBase}/add-domain/verify-${domainName}?rule=${rule.$id}`);
+ await goto(
+ `${routeBase}/add-domain/verify-${domainName}?rule=${rule.$id}&domain=${domain.$id}`
+ );
await invalidate(Dependencies.DOMAINS);
}
} catch (error) {
diff --git a/src/routes/(console)/project-[region]-[project]/settings/domains/add-domain/verify-[domain]/+page.svelte b/src/routes/(console)/project-[region]-[project]/settings/domains/add-domain/verify-[domain]/+page.svelte
index f5793b327..594c4f4e2 100644
--- a/src/routes/(console)/project-[region]-[project]/settings/domains/add-domain/verify-[domain]/+page.svelte
+++ b/src/routes/(console)/project-[region]-[project]/settings/domains/add-domain/verify-[domain]/+page.svelte
@@ -28,6 +28,7 @@
let { data } = $props();
const ruleId = page.url.searchParams.get('rule');
+ const domainId = page.url.searchParams.get('domain');
const isSubDomain = $derived.by(() => isASubdomain(page.params.domain));
let selectedTab = $state<'cname' | 'nameserver' | 'a' | 'aaaa'>('nameserver');
@@ -50,7 +51,8 @@
async function verify() {
const isNewDomain =
- data.domainsList.domains.findIndex((rule) => rule.domain === page.params.domain) === -1;
+ data.domainsList.domains.find((rule) => rule.domain === page.params.domain) ===
+ undefined;
try {
if (selectedTab !== 'nameserver') {
const ruleData = await sdk
@@ -62,7 +64,14 @@
$organization.$id,
page.params.domain
);
- verified = domainData.nameservers.toLocaleLowerCase() === 'appwrite';
+ verified = domainData.nameservers.toLowerCase() === 'appwrite';
+ } else if (!isNewDomain && isCloud) {
+ const domain = await sdk.forConsole.domains.updateNameservers(domainId);
+ verified = domain.nameservers.toLowerCase() === 'appwrite';
+ if (!verified)
+ throw new Error(
+ 'Domain verification failed. Please check your domain settings or try again later'
+ );
}
addNotification({
diff --git a/src/routes/(console)/project-[region]-[project]/settings/domains/retryDomainModal.svelte b/src/routes/(console)/project-[region]-[project]/settings/domains/retryDomainModal.svelte
index d0bf3861b..2cd8c7a51 100644
--- a/src/routes/(console)/project-[region]-[project]/settings/domains/retryDomainModal.svelte
+++ b/src/routes/(console)/project-[region]-[project]/settings/domains/retryDomainModal.svelte
@@ -32,7 +32,7 @@
});
trackEvent(Submit.DomainUpdateVerification);
} catch (e) {
- error = e;
+ error = e.message;
trackError(e, Submit.DomainUpdateVerification);
}
}
diff --git a/src/routes/(console)/project-[region]-[project]/settings/domains/table.svelte b/src/routes/(console)/project-[region]-[project]/settings/domains/table.svelte
index 0584a1961..70b5b62bf 100644
--- a/src/routes/(console)/project-[region]-[project]/settings/domains/table.svelte
+++ b/src/routes/(console)/project-[region]-[project]/settings/domains/table.svelte
@@ -84,7 +84,7 @@
- {#if domain.status !== 'verified'}
+ {#if domain.status !== 'verified' && domain.status !== 'verifiying'}
{
diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/add-domain/verify-[domain]/+page.svelte b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/add-domain/verify-[domain]/+page.svelte
index b79ba129c..51ebc1552 100644
--- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/add-domain/verify-[domain]/+page.svelte
+++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/add-domain/verify-[domain]/+page.svelte
@@ -58,12 +58,18 @@
.forProject(page.params.region, page.params.project)
.proxy.updateRuleVerification(ruleId);
verified = ruleData.status === 'verified';
+ throw new Error(
+ 'Domain verification failed. Please check your domain settings or try again later'
+ );
} else if (isNewDomain && isCloud) {
const domainData = await sdk.forConsole.domains.create(
$organization.$id,
page.params.domain
);
- verified = domainData.nameservers.toLocaleLowerCase() === 'appwrite';
+ verified = domainData.nameservers.toLowerCase() === 'appwrite';
+ throw new Error(
+ 'Domain verification failed. Please check your domain settings or try again later'
+ );
}
addNotification({
diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/createPreviewDomainModal.svelte b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/createPreviewDomainModal.svelte
index 33db2ccee..fa23726b0 100644
--- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/createPreviewDomainModal.svelte
+++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/createPreviewDomainModal.svelte
@@ -36,7 +36,7 @@
});
trackEvent(Submit.DomainCreate);
} catch (e) {
- error = e;
+ error = e.message;
trackError(e, Submit.DomainCreate);
}
}
diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/retryDomainModal.svelte b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/retryDomainModal.svelte
index 352109247..37089a4da 100644
--- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/retryDomainModal.svelte
+++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/retryDomainModal.svelte
@@ -56,7 +56,7 @@
});
trackEvent(Submit.DomainUpdateVerification);
} catch (e) {
- error = e;
+ error = e.message;
trackError(e, Submit.DomainUpdateVerification);
}
}
diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/table.svelte b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/table.svelte
index b98cf258c..8d118feb6 100644
--- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/table.svelte
+++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/table.svelte
@@ -95,7 +95,7 @@
- {#if rule.status !== 'verified'}
+ {#if rule.status !== 'verified' && rule.status !== 'verifying'}
{