Redesign automation task execution - #41
Merged
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
This PR redesigns the Automation dashboard to better support parallel task execution, staged workflow sections, and inline log navigation, while extending the desktop automation API/model to support batch starts and improved logging behavior.
Changes:
- Redesign
AutomationDashboardUI into staged, collapsible sections with an inline log panel and active-task jump icons (plus refreshed credentials/history modals). - Add batch execution support (
runMany) and server-side helpers for concurrency limiting and batched log flushing. - Extend the automation page model with
parallelRunnableTaskIdsand add new localized UI copy for the redesigned flows.
Reviewed changes
Copilot reviewed 26 out of 28 changed files in this pull request and generated 9 comments.
Show a summary per file
| File | Description |
|---|---|
| src/lib/i18n/i18n.ts | Adds new Automation/credential/history strings for the redesigned UI. |
| src/lib/desktop/api.ts | Extends the desktop API type + channel list with automation:runMany. |
| src/lib/desktop/api.check.ts | Updates channel assertions to include automation:runMany. |
| src/lib/automation/types.ts | Extends AutomationPageModel with parallelRunnableTaskIds. |
| src/lib/automation/server/runner.ts | Adds concurrency + output buffering utilities and batch task start support. |
| src/lib/automation/server/runner.check.ts | Adds tests for CDP patch prep, output batching, concurrency limits, queued cancel. |
| src/lib/automation/server/page-model.ts | Refactors model building and introduces parallelRunnableTaskIds. |
| src/lib/automation/server/page-model.check.ts | Adds assertions for parallelRunnableTaskIds and waiting-for-human action changes. |
| src/lib/automation/server/desktop-api.ts | Adds automationRunMany and task-start assertions for multiple tasks. |
| src/lib/automation/server/desktop-api.check.ts | Adds coverage for multi-task start assertions. |
| src/lib/automation/AutomationDashboard.svelte | Major UI redesign: stage disclosures, inline logs, batch sync sheet, new modals/filters. |
| src/lib/automation/AutomationDashboard.check.ts | Adds source-level regression checks for the redesigned dashboard UI/behavior. |
| scripts/spending-chart-alternatives.check.mjs | Updates expected rendered months/buckets assertions. |
| package.json | Adds @lucide/svelte for the new icon-based UI elements. |
| package-lock.json | Locks @lucide/svelte dependency. |
| electron/preload.ts | Exposes runMany via preload bridge. |
| electron/preload.check.ts | Checks the new IPC channel is present. |
| electron/main.ts | Prepares the Libretto CDP patch at startup. |
| electron/ipc.ts | Registers the automation:runMany IPC handler. |
| docs/superpowers/specs/2026-07-19-automation-log-redesign-options-design.md | Adds design spec for log redesign options. |
| docs/superpowers/specs/2026-07-19-automation-disclosure-motion-design.md | Adds design spec for disclosure animations. |
| docs/superpowers/specs/2026-07-19-automation-active-task-jump-design.md | Adds design spec for active-task jump behavior. |
| docs/superpowers/specs/2026-07-18-automation-logging-variants-design.md | Adds design spec for logging variants prototype. |
| docs/superpowers/plans/2026-07-19-automation-log-redesign-options.md | Adds implementation plan for log redesign options. |
| docs/superpowers/plans/2026-07-19-automation-disclosure-motion.md | Adds implementation plan for disclosure motion. |
| docs/superpowers/plans/2026-07-19-automation-active-task-jump.md | Adds implementation plan for active-task jump prototype. |
| docs/superpowers/plans/2026-07-18-automation-logging-variants.md | Adds implementation plan for logging variants prototype. |
| .gitignore | Ignores local prototype/QA artifacts directories and design QA file. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
WangWilly
marked this pull request as ready for review
July 20, 2026 02:38
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Why
The previous dashboard made it hard to quickly launch independent tasks together and inspect active or failed work. The new flow emphasizes parallel execution while keeping dependencies and human-assisted steps clear.
Fix details
Icon-to-log navigation previously scrolled to the inline-log row, which could hide the selected task behind the persistent top bar. The task row is now the scroll anchor with the existing top-bar offset, while focus remains on the inline log.
Validation
node --no-warnings --experimental-strip-types --test src/lib/automation/AutomationDashboard.check.tsnode --no-warnings --experimental-strip-types --test src/lib/automation/server/page-model.check.tsnpm run typechecknpm run buildPrototype and QA artifacts are intentionally excluded from this PR.