tasks: inline flag (quick tasks stay in the modal) plumbed through parser + endpoints

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-23 14:33:08 +00:00
co-authored by Claude Opus 4.8
parent 46dc6ce507
commit ae361d2a2f
3 changed files with 15 additions and 1 deletions
+8 -1
View File
@@ -28,6 +28,11 @@ Favor power-user affordances over guardrails. See memory `sole-user-assume-compe
navigates there instead of mounting the modal. One code path, phone-friendly.
- **Deep-link:** query params, not hash — `/jobs/new?task=convert-video&root=home&path=<dir>&entry=<name>`.
- **Phone:** already has a file browser, so it can pick a target path and POST a job. No blocker.
- **`inline` tasks stay in the modal.** A top-level `inline: true` in `TASK.md` marks quick/interactive
tasks that run in the modal (ephemeral) instead of as a job. Default = job. Currently flagged:
`remove-jelly-meta`, `analyze-video`, `clean-playlist-files`. So the modal is **not** retired — it's
the inline path; the shared input form serves both the modal and `/jobs/new`. The flag is plumbed
through the parser + task list/detail endpoints (`task.inline`), so the FileBrowser menu can branch.
## Plan
@@ -76,6 +81,8 @@ Favor power-user affordances over guardrails. See memory `sole-user-assume-compe
`PipelineJobDetail`). Script jobs are now viewable at `/jobs/:id`.
- [ ] 3b `/jobs/new` page — extract the input UI (TaskInputForm + per-group config + folder probing)
from `TaskRunnerModal` into a shared component; Run/Queue → `POST /jobs` → navigate.
- [ ] 3c FileBrowser task action navigates to `/jobs/new?...`; retire modal/dialog/useTaskRunner.
- [x] `inline` flag plumbed (parser + list/detail endpoints); 3 quick tasks flagged.
- [ ] 3c FileBrowser task action: `task.inline ? openModal : navigate('/jobs/new?...')`. Modal stays
for inline tasks (not retired); shared input form used by both.
- [ ] 3d header running-jobs indicator (`GET /jobs?live=1`).
- [ ] 4 push notifications