Canvas: Filter out proxy and old nodes
Change-Id: Ibe04f36f1dd24ea87a0d41d60006a154ec5720b0
diff --git a/apps/canvas/config/src/types.ts b/apps/canvas/config/src/types.ts
index 4146f75..4242d97 100644
--- a/apps/canvas/config/src/types.ts
+++ b/apps/canvas/config/src/types.ts
@@ -152,6 +152,13 @@
export const MachineSchema = z.object({
name: z.string(),
+ given_name: z.string(),
+ last_seen: z
+ .object({
+ seconds: z.number(),
+ nanos: z.number(),
+ })
+ .optional(),
});
export const MachinesSchema = z.array(MachineSchema);
diff --git a/apps/canvas/front/src/components/node-app.tsx b/apps/canvas/front/src/components/node-app.tsx
index 317b7e0..e63c76a 100644
--- a/apps/canvas/front/src/components/node-app.tsx
+++ b/apps/canvas/front/src/components/node-app.tsx
@@ -1496,7 +1496,13 @@
const machinesData = MachinesSchema.safeParse(await response.json());
if (machinesData.success) {
- setMachines(machinesData.data);
+ setMachines(
+ machinesData.data
+ .filter((m) => !m.name.startsWith("proxy-dodo-app-"))
+ .filter(
+ (m) => m.last_seen && m.last_seen.seconds * 1000 >= Date.now() - 7 * 24 * 60 * 60 * 1000,
+ ),
+ );
} else {
throw new Error("Invalid machines data");
}