diff --git a/web/src/components/projects/project-general-form.tsx b/web/src/components/projects/project-general-form.tsx index 1af60993..7cb3b704 100644 --- a/web/src/components/projects/project-general-form.tsx +++ b/web/src/components/projects/project-general-form.tsx @@ -35,7 +35,6 @@ interface Project { maxIterations: number | null; watchdogTimeoutMs: number | null; progressModel: string | null; - progressIntervalMinutes: string | null; workItemBudgetUsd: string | null; agentEngine: string | null; engineSettings: Record> | null; @@ -60,13 +59,6 @@ function minutesToMs(minutes: string): number | null { return Number.isNaN(parsed) ? null : parsed * 60000; } -/** Convert a DB interval value (may be "5.0") to integer string for display */ -function intervalToInteger(value: string | null | undefined): string { - if (!value) return ''; - const n = Math.round(Number(value)); - return Number.isNaN(n) ? '' : String(n); -} - export function ProjectGeneralForm({ project }: { project: Project }) { const navigate = useNavigate(); const queryClient = useQueryClient(); @@ -96,9 +88,6 @@ export function ProjectGeneralForm({ project }: { project: Project }) { const [name, setName] = useState(project.name); const [watchdogMinutes, setWatchdogMinutes] = useState(msToMinutes(project.watchdogTimeoutMs)); const [progressModel, setProgressModel] = useState(project.progressModel ?? ''); - const [progressIntervalMinutes, setProgressIntervalMinutes] = useState( - intervalToInteger(project.progressIntervalMinutes), - ); const [workItemBudgetUsd, setWorkItemBudgetUsd] = useState(project.workItemBudgetUsd ?? ''); const [maxInFlightItems, setMaxInFlightItems] = useState( numericFieldDefault(project.maxInFlightItems), @@ -111,7 +100,6 @@ export function ProjectGeneralForm({ project }: { project: Project }) { name !== project.name || watchdogMinutes !== msToMinutes(project.watchdogTimeoutMs) || progressModel !== (project.progressModel ?? '') || - progressIntervalMinutes !== intervalToInteger(project.progressIntervalMinutes) || workItemBudgetUsd !== (project.workItemBudgetUsd ?? '') || maxInFlightItems !== numericFieldDefault(project.maxInFlightItems) || runLinksEnabled !== (project.runLinksEnabled ?? false) @@ -120,7 +108,6 @@ export function ProjectGeneralForm({ project }: { project: Project }) { name, watchdogMinutes, progressModel, - progressIntervalMinutes, workItemBudgetUsd, maxInFlightItems, runLinksEnabled, @@ -131,7 +118,6 @@ export function ProjectGeneralForm({ project }: { project: Project }) { setName(project.name); setWatchdogMinutes(msToMinutes(project.watchdogTimeoutMs)); setProgressModel(project.progressModel ?? ''); - setProgressIntervalMinutes(intervalToInteger(project.progressIntervalMinutes)); setWorkItemBudgetUsd(project.workItemBudgetUsd ?? ''); setMaxInFlightItems(numericFieldDefault(project.maxInFlightItems)); setRunLinksEnabled(project.runLinksEnabled ?? false); @@ -144,7 +130,6 @@ export function ProjectGeneralForm({ project }: { project: Project }) { name, watchdogTimeoutMs: minutesToMs(watchdogMinutes), progressModel: progressModel || null, - progressIntervalMinutes: progressIntervalMinutes || null, workItemBudgetUsd: workItemBudgetUsd || null, maxInFlightItems: maxInFlightItems ? Number.parseInt(maxInFlightItems, 10) : null, runLinksEnabled, @@ -173,9 +158,6 @@ export function ProjectGeneralForm({ project }: { project: Project }) { const watchdogDescription = watchdogDefaultMinutes != null ? `Default: ${watchdogDefaultMinutes} min` : '…'; const progressModelPlaceholder = defaults ? defaults.progressModel : 'e.g. gemini-flash'; - const progressIntervalPlaceholder = defaults - ? `${defaults.progressIntervalMinutes} (default)` - : 'e.g. 5'; return ( @@ -288,34 +270,16 @@ export function ProjectGeneralForm({ project }: { project: Project }) { -
-
- - -

LLM model for progress summaries.

-
-
- - setProgressIntervalMinutes(e.target.value)} - placeholder={progressIntervalPlaceholder} - /> -

- How often the agent posts a progress update. -

-
+
+ + +

LLM model for progress summaries.

- +
{effectiveEngine && (