Repository navigation
feat(web,mobile): one scheduled-task list and editor for agents and threads - #226
Conversation
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
jayleaton
left a comment
There was a problem hiding this comment.
VERDICT #226: CHANGES
Confirmed the inline finding with a deterministic service test. Reviewed head 35158bb.
Repository checks against #224 passed apart from the missing local Chromium executable; the 2 browser files subsequently passed (11 tests). The other 6 test files passed (87 tests). Format, lint, knip, typecheck and React compiler checks passed. Real web create/list verified at 390px; native mobile could not be exercised because no simulator/emulator host is available. The budget failure is inherited from #224; the fingerprint check now passes.
a8bd85b to
e7d0f17
Compare
35158bb to
6d40a19
Compare
jayleaton
left a comment
There was a problem hiding this comment.
VERDICT #226: MERGE
Reviewed 6d40a19 against e7d0f17. check:changed passes: formatting, lint, both knip passes, GraphQL, 41-package typecheck, 14 focused test files (196 tests), and React compiler checks.
The server clears the old binding only when profileId and threadId are explicitly null while leaving an existing agent. Omitted fields retain legacy behavior, and the same path handles Continue and Fresh session. The extended profile-service regression fails before the fix (the old agent thread is retained) and passes afterward, including a fresh non-agent launch instead of sending to the old conversation.
This layer passes review independently. The stack remains blocked by the new cleanup-reservation finding on #222.
e7d0f17 to
b4cce2f
Compare
6d40a19 to
8a47c72
Compare
b4cce2f to
e3fbc4e
Compare
8a47c72 to
d3303ea
Compare
…hreads Settings and Agents → Scheduled now share one list with an All / Agents / Threads / New thread / Archived filter and one editor that can pick an agent and edit cron schedules. Mobile gets the same filter, agent destination and cron editing. The thread Automations section can start a task bound to that thread. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…task Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Moving an agent task to Continue or Fresh session with no thread chosen sent profileId: null and threadId: null, and the save coalesced the null back to the agent's thread. Later runs then went into that conversation with its model and modes. Leaving an agent with an explicit null thread now clears the binding; an omitted threadId still keeps it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
d3303ea to
5c42bc7
Compare
Stacked on #224, which is stacked on #222.
Scheduled tasks had two web UIs. Settings → Scheduled tasks listed every task, but editing an agent task hid the agent and showed its cron as read-only ("Edit it from the Agents board"). Agents → Scheduled had a second list and editor that only knew about agent tasks. Mobile had no way to pick an agent or edit a cron. At phone width, #222's Active/Archived toggle also overlapped the heading.
This PR makes one list and one editor, per the design's UI unification section:
ScheduledTaskEditor.tsxandScheduledTasksPanel.tsxare deleted.scheduledTaskMatchesFilterinclient-runtime/scheduled-task-archive, built on the new contracts helperscheduledTaskTarget, and web and mobile share it. Archived keeps its reason, its "Deletes on" date and Restore. At 390px the filter wraps onto its own row.permissionAtom, because it now uses the Settings list.client-runtime/scheduled-task-cronso both clients can use them, andisoToLocalInputandlocalInputToIsoare removed as unused.Captures (web dev client, real seeded data)
The red "Doug can't run here" line in the agent-picker capture is real: that agent's profile doesn't list this dev environment. The old editor showed the same thing.
Mobile has no captures yet. Its simulator pass is still to come. It typechecks and its tests pass.
Verification
vp test runon the touched files gives 87 passed across 6 files. These includeScheduledTasksSettings.browser.test.tsxandThreadAutomationsPanel.permissions.browser.test.tsx, plus the logic tests in client-runtime, web settings and mobile.vp run typecheckinapps/mobilereports 0 errors.vp run check:changed: all pass (format, lint, knip ×2, typecheck of 41 packages, 30 test files, React compiler).Implemented by Claude Opus 5.5 in Claude Code (T3 Code).
🤖 Generated with Claude Code