summaryrefslogtreecommitdiff
path: root/makima/frontend/src/routes/mesh.tsx
diff options
context:
space:
mode:
authorsoryu <soryu@soryu.co>2026-03-02 15:18:31 +0000
committerGitHub <noreply@github.com>2026-03-02 15:18:31 +0000
commit78cb861412850889424ae7d5ae5cd952a2b90295 (patch)
tree7a6eb0693457886dbe0eea84c0c1489724791f79 /makima/frontend/src/routes/mesh.tsx
parent2bc1cd4717b587cd2b8ffccd723b62f888e61aa8 (diff)
downloadsoryu-78cb861412850889424ae7d5ae5cd952a2b90295.tar.gz
soryu-78cb861412850889424ae7d5ae5cd952a2b90295.zip
feat: move daemon reauth to daemons page, add contract-backed directive steps, rename Mesh to Exec (#84)
* feat: soryu-co/soryu - makima: Rename Mesh to Exec in navigation * WIP: heartbeat checkpoint * WIP: heartbeat checkpoint * WIP: heartbeat checkpoint * feat: soryu-co/soryu - makima: Add contract-backed steps to directive flow * WIP: heartbeat checkpoint
Diffstat (limited to 'makima/frontend/src/routes/mesh.tsx')
-rw-r--r--makima/frontend/src/routes/mesh.tsx22
1 files changed, 7 insertions, 15 deletions
diff --git a/makima/frontend/src/routes/mesh.tsx b/makima/frontend/src/routes/mesh.tsx
index 1d1db84..67129f9 100644
--- a/makima/frontend/src/routes/mesh.tsx
+++ b/makima/frontend/src/routes/mesh.tsx
@@ -191,14 +191,6 @@ export default function MeshPage() {
// Only process output for the task we're currently viewing
if (event.taskId === activeOutputTaskId) {
setTaskOutputEntries((prev) => {
- // For auth_required, only allow one per task (replace existing)
- if (event.messageType === "auth_required") {
- const hasExisting = prev.some(e => e.messageType === "auth_required");
- if (hasExisting) {
- return prev; // Skip duplicate auth_required
- }
- }
-
// Deduplicate by checking if last entry is identical
// This prevents duplicates from React StrictMode or WebSocket reconnects
const lastEntry = prev[prev.length - 1];
@@ -387,7 +379,7 @@ export default function MeshPage() {
const handleSelectTask = useCallback(
(taskId: string) => {
- navigate(`/mesh/${taskId}`);
+ navigate(`/exec/${taskId}`);
},
[navigate]
);
@@ -395,9 +387,9 @@ export default function MeshPage() {
const handleBack = useCallback(() => {
// If viewing a subtask, go back to parent
if (taskDetail?.parentTaskId) {
- navigate(`/mesh/${taskDetail.parentTaskId}`);
+ navigate(`/exec/${taskDetail.parentTaskId}`);
} else {
- navigate("/mesh");
+ navigate("/exec");
}
}, [navigate, taskDetail]);
@@ -408,9 +400,9 @@ export default function MeshPage() {
if (success && id === taskId) {
// If deleting current task, go back
if (taskDetail?.parentTaskId) {
- navigate(`/mesh/${taskDetail.parentTaskId}`);
+ navigate(`/exec/${taskDetail.parentTaskId}`);
} else {
- navigate("/mesh");
+ navigate("/exec");
}
}
}
@@ -523,7 +515,7 @@ export default function MeshPage() {
});
console.log(`[Mesh] Task branched, new task ID: ${result.task.id}`);
// Navigate to the new branched task
- navigate(`/mesh/${result.task.id}`);
+ navigate(`/exec/${result.task.id}`);
} catch (e) {
console.error("Failed to branch task:", e);
throw e; // Re-throw so the modal can display the error
@@ -617,7 +609,7 @@ export default function MeshPage() {
targetRepoPath: targetPath || undefined,
});
if (newTask) {
- navigate(`/mesh/${newTask.id}`);
+ navigate(`/exec/${newTask.id}`);
}
} finally {
setCreating(false);