Canvas: Auto cleanup old workers

Change-Id: I046ce8dcbadd14b53e465fe0ffb60fae642c6951
diff --git a/apps/canvas/front/src/Monitoring.tsx b/apps/canvas/front/src/Monitoring.tsx
index 0d86432..46197ef 100644
--- a/apps/canvas/front/src/Monitoring.tsx
+++ b/apps/canvas/front/src/Monitoring.tsx
@@ -62,19 +62,31 @@
 		[env?.services],
 	);
 
+	const handleViewLogsClick = useCallback(
+		(serviceName: string, workerId: string) => {
+			setSelectedServiceForLogs(serviceName);
+			setSelectedWorkerIdForLogs(workerId);
+		},
+		[setSelectedServiceForLogs, setSelectedWorkerIdForLogs],
+	);
+
 	useEffect(() => {
 		if (sortedServices.length > 0 && sortedServices[0].workers && sortedServices[0].workers.length > 0) {
-			if (!selectedServiceForLogs && !selectedWorkerIdForLogs) {
+			if (!selectedServiceForLogs || !selectedWorkerIdForLogs) {
+				handleViewLogsClick(sortedServices[0].name, sortedServices[0].workers[0].id);
+				return;
+			}
+			const service = sortedServices.find((s) => s.name === selectedServiceForLogs);
+			if (service == null) {
+				handleViewLogsClick(sortedServices[0].name, sortedServices[0].workers[0].id);
+				return;
+			}
+			const worker = service.workers.find((w) => w.id === selectedWorkerIdForLogs);
+			if (worker == null) {
 				handleViewLogsClick(sortedServices[0].name, sortedServices[0].workers[0].id);
 			}
 		}
-		// eslint-disable-next-line react-hooks/exhaustive-deps
-	}, [sortedServices]);
-
-	const handleViewLogsClick = (serviceName: string, workerId: string) => {
-		setSelectedServiceForLogs(serviceName);
-		setSelectedWorkerIdForLogs(workerId);
-	};
+	}, [sortedServices, selectedServiceForLogs, selectedWorkerIdForLogs, handleViewLogsClick]);
 
 	const handleReloadWorkerClick = useCallback(
 		(serviceName: string, workerId: string) => {
@@ -302,7 +314,7 @@
 				<div className="flex flex-col h-full">
 					{selectedServiceForLogs && selectedWorkerIdForLogs ? (
 						<>
-							<div className="p-2 border-b text-sm text-muted-foreground">
+							<div className="p-2 border-b">
 								Logs for: {selectedServiceForLogs} / {selectedWorkerIdForLogs}
 							</div>
 							<div className="flex-1 h-full p-4 bg-muted overflow-auto">