Canvas: Fix webhook handler

Change-Id: I4515c0e9f0c00ee7fff69d3551e22d112e132633
diff --git a/apps/canvas/back/.env.dev b/apps/canvas/back/.env.dev
index e672e62..cd9e6f2 100644
--- a/apps/canvas/back/.env.dev
+++ b/apps/canvas/back/.env.dev
@@ -1,4 +1,5 @@
 DATABASE_URL=file:/home/gio/dodo.db
+PUBLIC_ADDR=https://dev.v1.dodo.cloud
 VPN_API_ADDR=http://headscale-api.hgrz-app-headscale.svc.cluster.local
-INTERNAL_API_ADDR=http://10.42.0.193:8081
+INTERNAL_API_ADDR=http://canvas.hgrz-app-vm-ejb.svc.cluster.local:8081
 
diff --git a/apps/canvas/back/src/index.ts b/apps/canvas/back/src/index.ts
index f00549f..d7e47ed 100644
--- a/apps/canvas/back/src/index.ts
+++ b/apps/canvas/back/src/index.ts
@@ -985,8 +985,8 @@
 	const results = await Promise.all(
 		projectWorkers.map(async (workerAddress: string) => {
 			try {
-				const { data } = await axios.get(`http://${workerAddress}/reload`);
-				return data.every((s: { status: string }) => s.status === "ok");
+				const resp = await axios.get(`${workerAddress}/update`);
+				return resp.status === 200;
 			} catch (error) {
 				console.error(`Failed to reload worker ${workerAddress}:`, error);
 				return false;
@@ -1172,7 +1172,6 @@
 				},
 			},
 		});
-		// TODO(gio): This should run in background
 		new Promise<boolean>((resolve, reject) => {
 			setTimeout(() => {
 				const projectsToReloadIds: number[] = [];
@@ -1192,10 +1191,13 @@
 					.catch((reason: any) => reject(reason));
 			}, 10);
 		});
+		resp.status(200);
 		// eslint-disable-next-line @typescript-eslint/no-explicit-any
 	} catch (error: any) {
 		console.error(error);
 		resp.status(500);
+	} finally {
+		resp.end();
 	}
 };