mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-09-07 08:27:12 +00:00
Make the Automations area in the web UI functional end-to-end against the real Automation API, and fix the backend so runs created by an automation's API trigger actually start instead of sitting in Submitted forever. Web: - Reveal the Automations nav tab outside demo mode; drop the now-empty demoOnly mechanism. - List page: render via listAutomations (was workflows mock data); wire ellipsis menu to Edit and Delete, with ConfirmDialog + If-Match revision. Move Create Automation into the toolbar, switch the trigger select to a shared FilterButton, hide the redundant page-header title via a new hideTitle handle flag. - Play button on each card fires createAutomationRun with spinner + toast and navigates to the new run. - New automation form: drop the dead Goal panel and hardcoded repository list, post to createAutomation with real triggers. - Edit automation: new /automations/:id/edit route reusing a shared AutomationFormFields component, PUT via replaceAutomation with If-Match. - Show page: rebuild like a run detail page — breadcrumb, title, chips (enabled status, repo+ref, workflow, schedule), Edit + Run actions (Run hits createAutomationRun), and a Runs panel using RunsListView with URL-driven search/sort/pagination/column-picker like the Children sub-tab. Drop the obsolete Definition/Diagram/Runs child routes. Backend (fabro-server): - create_automation_run now calls lifecycle::queue_run_start after the run is persisted, so the run transitions Submitted → Runnable and the scheduler picks it up. Logs a warn and returns the created response if start fails (no worse than the prior always-stuck behavior). - queue_run_start in lifecycle.rs is promoted to pub(super) so sibling handlers can reuse it. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| api-client.test.ts | ||
| api-client.ts | ||
| ask-fabro-runtime.test.ts | ||
| ask-fabro-runtime.ts | ||
| board-cache.ts | ||
| board-events.test.tsx | ||
| board-events.ts | ||
| chats-runtime.test.ts | ||
| chats-runtime.ts | ||
| chats-script.ts | ||
| chats-store.test.tsx | ||
| chats-store.tsx | ||
| chats-types.ts | ||
| cross-tab-sse.test.ts | ||
| cross-tab-sse.ts | ||
| demo-mode.test.tsx | ||
| demo-mode.tsx | ||
| format.ts | ||
| graph-theme.ts | ||
| live-events.test.tsx | ||
| live-events.ts | ||
| mutations.test.ts | ||
| mutations.ts | ||
| pierre-diffs-worker.ts | ||
| plural.ts | ||
| principal-display.tsx | ||
| queries.ts | ||
| query-keys.test.ts | ||
| query-keys.ts | ||
| run-actions.test.ts | ||
| run-actions.ts | ||
| run-events.test.tsx | ||
| run-events.ts | ||
| run-phases.test.ts | ||
| run-phases.ts | ||
| run-sandbox-lifecycle.ts | ||
| run-settings-snapshot.ts | ||
| sandbox-state.ts | ||
| session-stream.test.ts | ||
| session-stream.ts | ||
| sse.ts | ||
| stage-sidebar.test.ts | ||
| stage-sidebar.ts | ||
| test-utils.tsx | ||
| time.ts | ||
| unknown.ts | ||