summaryrefslogtreecommitdiff
path: root/makima/frontend/src
diff options
context:
space:
mode:
authorsoryu <soryu@soryu.co>2026-01-26 15:21:10 +0000
committersoryu <soryu@soryu.co>2026-01-26 15:21:10 +0000
commit1d83595f81fbfcc034c37c2260d695f094f5776e (patch)
tree571a89ab9bb0bb9f2eff8e1c6b098e6363f7151a /makima/frontend/src
parentd569985bbf8dbe07f05a76a198a6dd76ef3304e2 (diff)
downloadsoryu-1d83595f81fbfcc034c37c2260d695f094f5776e.tar.gz
soryu-1d83595f81fbfcc034c37c2260d695f094f5776e.zip
Update supervisor tasks page when supervisor spawns a new task
Diffstat (limited to 'makima/frontend/src')
-rw-r--r--makima/frontend/src/routes/mesh.tsx14
1 files changed, 12 insertions, 2 deletions
diff --git a/makima/frontend/src/routes/mesh.tsx b/makima/frontend/src/routes/mesh.tsx
index fb366a2..cb4a77c 100644
--- a/makima/frontend/src/routes/mesh.tsx
+++ b/makima/frontend/src/routes/mesh.tsx
@@ -148,9 +148,19 @@ export default function MeshPage() {
// Handle task update events from WebSocket
const handleTaskUpdate = useCallback(async (event: TaskUpdateEvent) => {
- // Refresh task list if we're viewing the list
- if (!id) {
+ // Always refresh task list when a new task is created (e.g., by supervisor)
+ // This ensures newly spawned tasks appear in the sidebar immediately
+ const isNewTask = event.updatedFields.includes("created");
+ if (isNewTask) {
fetchTasks();
+ }
+
+ // Refresh task list if we're viewing the list (no specific task selected)
+ if (!id) {
+ if (!isNewTask) {
+ // Only fetch if we didn't already fetch for new task creation
+ fetchTasks();
+ }
return;
}