Skip to content

Commit 71eea34

Browse files
committed
fix: use region-scoped console realtime for deployments; no manual reloads
1 parent daca681 commit 71eea34

File tree

2 files changed

+32
-34
lines changed
  • src/routes/(console)/project-[region]-[project]/sites

2 files changed

+32
-34
lines changed

src/routes/(console)/project-[region]-[project]/sites/create-site/deploying/+page.svelte

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import Aside from '../aside.svelte';
88
import Logs from '../../(components)/logs.svelte';
99
import { Copy, SvgIcon } from '$lib/components';
10-
import { realtime } from '$lib/stores/sdk';
10+
import { sdk } from '$lib/stores/sdk';
1111
import { goto } from '$app/navigation';
1212
import { onMount } from 'svelte';
1313
import { getFrameworkIcon } from '$lib/stores/sites';
@@ -18,26 +18,25 @@
1818
let deployment = $state(data.deployment);
1919
2020
onMount(() => {
21-
const unsubscribe = realtime
22-
.forProject(page.params.region, page.params.project)
23-
.subscribe('console', async (response: RealtimeResponseEvent<Models.Deployment>) => {
24-
if (
25-
response.events.includes(
26-
`sites.${data.site.$id}.deployments.${data.deployment.$id}.update`
27-
)
28-
) {
29-
deployment = response.payload;
30-
if (response.payload.status === 'ready') {
31-
goto(
32-
`${base}/project-${page.params.region}-${page.params.project}/sites/create-site/finish?site=${data.site.$id}`
33-
);
21+
return sdk
22+
.forConsoleIn(page.params.region)
23+
.client.subscribe(
24+
'console',
25+
async (response: RealtimeResponseEvent<Models.Deployment>) => {
26+
if (
27+
response.events.includes(
28+
`sites.${data.site.$id}.deployments.${data.deployment.$id}.update`
29+
)
30+
) {
31+
deployment = response.payload;
32+
if (response.payload.status === 'ready') {
33+
goto(
34+
`${base}/project-${page.params.region}-${page.params.project}/sites/create-site/finish?site=${data.site.$id}`
35+
);
36+
}
3437
}
3538
}
36-
});
37-
38-
return () => {
39-
unsubscribe();
40-
};
39+
);
4140
});
4241
</script>
4342

src/routes/(console)/project-[region]-[project]/sites/site-[site]/deployments/deployment-[deployment]/+page.svelte

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<script lang="ts">
22
import { Container } from '$lib/layout';
3-
import { realtime } from '$lib/stores/sdk';
3+
import { sdk } from '$lib/stores/sdk';
44
import { onMount } from 'svelte';
55
import type { Models, RealtimeResponseEvent } from '@appwrite.io/console';
66
import SiteCard from '../../../(components)/siteCard.svelte';
@@ -30,21 +30,20 @@
3030
let showCancel = $state(false);
3131
3232
onMount(() => {
33-
const unsubscribe = realtime
34-
.forProject(page.params.region, page.params.project)
35-
.subscribe('console', async (response: RealtimeResponseEvent<Models.Deployment>) => {
36-
if (
37-
response.events.includes(
38-
`sites.${page.params.site}.deployments.${page.params.deployment}.update`
39-
)
40-
) {
41-
await invalidate(Dependencies.DEPLOYMENT);
33+
return sdk
34+
.forConsoleIn(page.params.region)
35+
.client.subscribe(
36+
'console',
37+
async (response: RealtimeResponseEvent<Models.Deployment>) => {
38+
if (
39+
response.events.includes(
40+
`sites.${page.params.site}.deployments.${page.params.deployment}.update`
41+
)
42+
) {
43+
await invalidate(Dependencies.DEPLOYMENT);
44+
}
4245
}
43-
});
44-
45-
return () => {
46-
unsubscribe();
47-
};
46+
);
4847
});
4948
</script>
5049

0 commit comments

Comments
 (0)