From c566f89976e37fb536799e0b4d072ae2c897678f Mon Sep 17 00:00:00 2001 From: mawkone Date: Tue, 19 May 2026 16:24:15 -0700 Subject: [PATCH] fix(ui): remove over-polling from plan view to prevent infinite loops --- .../project/[projectId]/(home)/plan/page.tsx | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/vibn-frontend/app/[workspace]/project/[projectId]/(home)/plan/page.tsx b/vibn-frontend/app/[workspace]/project/[projectId]/(home)/plan/page.tsx index b6f42ec..d54fa05 100644 --- a/vibn-frontend/app/[workspace]/project/[projectId]/(home)/plan/page.tsx +++ b/vibn-frontend/app/[workspace]/project/[projectId]/(home)/plan/page.tsx @@ -104,9 +104,9 @@ const SECTIONS: SectionDef[] = [ }, { key: "tasks", - label: "Tasks", + label: "Features", icon: ListTodo, - blurb: "What needs to happen next.", + blurb: "High-level capabilities to be delegated to the AI.", }, { key: "decisions", @@ -155,7 +155,9 @@ export default function PlanTab() { useEffect(() => { load(); - const intervalId = setInterval(load, 5000); + // Only poll the plan API periodically if we aren't currently editing or saving + // something, otherwise we risk overwriting user input or causing layout thrashing. + const intervalId = setInterval(load, 15000); // Backed off from 5s to 15s to reduce API spam return () => clearInterval(intervalId); }, [load]); @@ -1205,7 +1207,7 @@ function TasksPanel({ return (
-

Tasks

+

Features

@@ -1241,7 +1243,7 @@ function TasksPanel({
{tasks.length === 0 ? ( <> - No tasks yet. + No features defined yet. - Ask the AI to break down your first feature — it will create - scoped tasks automatically. + Ask the AI to break down your objective — it will create + scoped features automatically. - Try: "Add user authentication to my app" + Try: "Draft the features for this app" ) : ( @@ -1465,7 +1467,7 @@ function TaskDetail({ onClick={async () => { if ( !confirm( - `Delegate "${task.title}" to an autonomous agent? It will execute this task in the background and commit the results.`, + `Delegate feature "${task.title}" to an autonomous agent? It will execute this in the background, test it, and deploy.`, ) ) return;