Skip to content

Commit 37437e0

Browse files
authored
Merge pull request #2773 from appwrite/fix-domains-sync
2 parents e5074cd + e12bfdd commit 37437e0

7 files changed

Lines changed: 36 additions & 14 deletions

File tree

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
"devDependencies": {
5757
"@eslint/compat": "^1.4.0",
5858
"@eslint/js": "^9.37.0",
59-
"@imagine.dev/web-components": "https://pkg.vc/-/@appwrite/@imagine.dev/web-components@ad8767ea",
59+
"@imagine.dev/web-components": "https://pkg.vc/-/@appwrite/@imagine.dev/web-components@4db67892",
6060
"@melt-ui/pp": "^0.3.2",
6161
"@melt-ui/svelte": "^0.86.6",
6262
"@playwright/test": "^1.56.0",

pnpm-lock.yaml

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/lib/studio/domains/manage/table.svelte

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,14 @@
3131
siteId,
3232
region,
3333
projectId,
34-
onAddNewDomain = null
34+
onAddNewDomain,
35+
onDomainsChanged
3536
}: {
3637
siteId: string;
3738
region: string;
3839
projectId: string;
3940
onAddNewDomain?: () => void;
41+
onDomainsChanged?: () => void;
4042
} = $props();
4143
4244
let loading = $state(true);
@@ -76,6 +78,7 @@
7678
7779
if (wasDeleteOpen || wasRetryOpen) {
7880
loadDomains();
81+
onDomainsChanged?.();
7982
}
8083
8184
previousDeleteState = showDelete;
@@ -166,7 +169,7 @@
166169
<RetryDomainModal bind:show={showRetry} {selectedProxyRule} />
167170
{/if}
168171

169-
{#snippet domainActions(rule: Models.ProxyRule, toggle: () => void)}
172+
{#snippet domainActions(rule, toggle)}
170173
<ActionMenu.Root>
171174
<ActionMenu.Item.Anchor href={`${$regionalProtocol}${rule.domain}`} external>
172175
Open domain

src/lib/studio/domains/manage/view.svelte

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,16 @@
1111
siteId,
1212
region,
1313
projectId,
14-
onAddNewDomain = null
14+
onAddNewDomain,
15+
onDomainsChanged
1516
}: {
1617
show: boolean;
1718
domain: string;
1819
siteId: string;
1920
region: string;
2021
projectId: string;
2122
onAddNewDomain?: () => void;
23+
onDomainsChanged?: () => void;
2224
} = $props();
2325
</script>
2426

@@ -42,6 +44,6 @@
4244
</Typography.Text>
4345
</Layout.Stack>
4446

45-
<DomainsTable {siteId} {region} {projectId} {onAddNewDomain} />
47+
<DomainsTable {siteId} {region} {projectId} {onAddNewDomain} {onDomainsChanged} />
4648
</Layout.Stack>
4749
</SideSheet>

src/lib/studio/domains/verify/view.svelte

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,14 @@
2828
rule,
2929
domain,
3030
onChangeDomain,
31+
onVerified,
3132
show = $bindable(false)
3233
}: {
3334
show: boolean;
3435
rule: string;
3536
domain: Models.Domain;
3637
onChangeDomain: () => void;
38+
onVerified?: () => void;
3739
} = $props();
3840
3941
const isSubDomain = $derived.by(() => isASubdomain(domain?.domain));
@@ -50,15 +52,15 @@
5052
.proxy.updateRuleVerification({ ruleId: rule });
5153
5254
verified = ruleData.status === 'verified';
53-
throw new Error(
54-
'Domain verification failed. Please check your domain settings or try again later'
55-
);
5655
} else if (isCloud) {
5756
const domainData = await sdk.forConsole.domains.get({
5857
domainId: domain.$id
5958
});
6059
6160
verified = domainData.nameservers.toLowerCase() === 'appwrite';
61+
}
62+
63+
if (!verified) {
6264
throw new Error(
6365
'Domain verification failed. Please check your domain settings or try again later'
6466
);
@@ -70,6 +72,7 @@
7072
});
7173
7274
show = false;
75+
onVerified?.();
7376
await invalidate(Dependencies.DOMAINS);
7477
await invalidate(Dependencies.SITES_DOMAINS);
7578
} catch (error) {

src/lib/studio/studio-widget.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,12 @@ export function hideStudio() {
280280
component.style.width = '';
281281
restoreBodyScroll();
282282
}
283+
284+
export async function invalidateSiteInfo(): Promise<void> {
285+
const webComponents = await getWebComponents();
286+
webComponents.invalidateSiteInfo?.();
287+
}
288+
283289
export type ErrorParams = {
284290
traceId?: string;
285291
message: string;

src/lib/studio/studio.svelte

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,12 @@
88
import { app } from '$lib/stores/app';
99
import { Dependencies } from '$lib/constants';
1010
import { goto, invalidate } from '$app/navigation';
11-
import { ensureStudioComponent, initImagine, getWebComponents } from './studio-widget';
11+
import {
12+
ensureStudioComponent,
13+
initImagine,
14+
getWebComponents,
15+
invalidateSiteInfo
16+
} from './studio-widget';
1217
import AddDomains from './domains/add/view.svelte';
1318
import VerifyDomain from './domains/verify/view.svelte';
1419
import ManageDomains from './domains/manage/view.svelte';
@@ -88,6 +93,7 @@
8893
{siteId}
8994
bind:show={showAddDomainsWizard}
9095
onDomainAdded={(rule, domain, verified) => {
96+
invalidateSiteInfo();
9197
if (!verified) {
9298
ruleIdForVerification = rule;
9399
domainForVerification = domain;
@@ -98,6 +104,7 @@
98104
<VerifyDomain
99105
rule={ruleIdForVerification}
100106
domain={domainForVerification}
107+
onVerified={invalidateSiteInfo}
101108
bind:show={showVerifyDomainsWizard}
102109
onChangeDomain={() => {
103110
ruleIdForVerification = null;
@@ -111,6 +118,7 @@
111118
{projectId}
112119
domain={primaryDomainForSite}
113120
bind:show={showManageDomainsSheet}
121+
onDomainsChanged={invalidateSiteInfo}
114122
onAddNewDomain={() => {
115123
showAddDomainsWizard = true;
116124
showManageDomainsSheet = false;

0 commit comments

Comments
 (0)