Commit graph

20 commits

Author SHA1 Message Date
d1127dba88 Hide unclaimed cron jobs from non-admin viewers.
Unassigned jobs are visible only to super_admin / fallback_admin (canViewAll). Regular users still reclaim jobs proven by session owner or their user-workspaces cwd.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-08 17:03:56 +08:00
9a4662ca7c Define missing sessionIcon used by cron run rows.
Expanded job history called sessionIcon() which was never declared, crashing JobList whenever a run row rendered.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-08 16:49:06 +08:00
69d0d7124f Fix JobEditor crash: pass viewer into CwdField.
CwdField required viewer.canViewAll but JobEditor never received the prop, so opening cron mode threw ReferenceError and blanked the UI.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-08 16:45:47 +08:00
feae559fcf Restore cron sidebar UX: sync mode to editor and show orphan jobs.
DOM cron mode and React overlay could desync so the right pane stayed on the workspace chat; unassigned legacy jobs were also filtered out for normal users. Re-sync mode from the sidebar attribute and adopt/show reclaimable orphans again.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-08 16:39:21 +08:00
a0dc070372 Stamp and reclaim chat-created cron jobs for the current user.
Tool creates often left ownerEmpNo unassigned so the sidebar hid them while runs still fired; infer identity from session/cwd, claim legacy orphans on list, and keep cron rows visible without leaking run sessions into the workspace list.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-08 16:19:59 +08:00
d298c77f3f Fix scheduled-task rows hidden by uds-auth projectRow CSS.
Force-show .dsh-ct-project/.dsh-ct-group and always refresh viewer state when reloading the job list.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-08 16:03:41 +08:00
7d27179e51 Isolate scheduled tasks by empNo, aligned with uds-auth workspaces.
Super/fallback admins see all jobs grouped by user folder; admin/user only see their own. Stamp ownership on create, filter HTTP/tools, and prefer the owner's provisioned cwd on fire.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-08 15:49:54 +08:00
0ffc48b43a Recognize fallback_admin login for the scheduled-tasks panel.
UDS_FALLBACK_USER is HttpOnly so the client never saw it; also accept UDS_FALLBACK_UI and data-uds-logged-in.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-08 11:38:46 +08:00
a38f3dcec3 Require browser login for scheduled-task HTTP APIs.
List/run/pause/resume/delete now return 401 without UDS cookies; hide sidebar chrome when logged out. uds-auth still validates the session store on the same routes.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-08 08:06:54 +08:00
67238d746e Isolate IM cron tools and trust-gate read APIs.
Scope list/pause/delete to the calling chat, bind IM delivery to that peer, ignore client job ids, require trusted Host for GETs, and wrap mirrored summaries as system reminders.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 14:45:37 +08:00
29d946f3dd Mirror scheduled-run summaries into the origin effective session.
Pin origin at create time, keep isolated fire sessions for audit, and after IM/DSH delivery resume or open the origin chat to append the same summary for follow-ups.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 12:45:37 +08:00
2e690c30c8 Inherit agent presets and auto-bind IM delivery targets (0.1.7).
Cron jobs created from WhatsApp can omit bot/target ids and reuse chat overrides; sidebar/agent preset pins persist on fire.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 02:31:43 +08:00
2f08136adf Fork dsh-cron-tasks as dsh-ops-cron with DSH/IM delivery.
Agent cron_* jobs default to IM when created from a WhatsApp session with a matching delivery target; otherwise DSH sidebar sessions. Fire path soft-calls ctx.dshIm.send for summaries.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 21:48:17 +08:00
Whale-Zhang
4447404361 Keep the job list mounted across sidebar collapse so it does not flash.
Expanding used to replay a fade-in and sometimes remount CronApp onto an
empty state before /jobs returned. Reattach the existing root and skip
setState when the snapshot has not changed.
2026-08-24 21:06:37 +08:00
Whale-Zhang
d2a4b1b2fd Hide the scheduled-task list when the sidebar is the collapsed rail.
Official workspace rows unmount when !wide; the plugin list stayed flex
and leaked folder icons into the 56px rail.
2026-08-24 17:24:37 +08:00
Whale-Zhang
41a382c592 Lay the job editor in the center column so it tracks the sidebar grid.
The overlay used a measured left offset that sampled width in steps during
the frame's grid-template-columns transition, which stuttered and flashed
the chat behind it.
2026-08-24 17:13:59 +08:00
Whale-Zhang
f9b28f896f Hide the rail label and pin the clock icon to the button center.
Collapsed New Session renders only an 18px icon in a 36px control; the
plugin still laid out the title in the flex row, which shoved the glyph left.
2026-08-24 16:25:31 +08:00
Whale-Zhang
8e038700f2 Center the scheduled-tasks icon when the sidebar rail is collapsed.
The native New Session button hides its label and becomes a 36px square;
the plugin entry kept the label in flow, so the clock icon sat to the left.
2026-08-24 16:20:56 +08:00
Whale-Zhang
b0d0db1553 Allow each scheduled job to pin its provider and model.
New jobs snapshot the current New Session default so quota is predictable.
cron_create inherits the calling session model unless provider+model are set.
The editor lists configured models; the job row shows which model will run.
2026-08-24 14:31:52 +08:00
Whale-Zhang
ef8ff6e10d Initial commit: scheduled tasks plugin for DeepSeek Harness
Sidebar jobs under New Session, isolated run history, cron/at schedules, and model-facing cron_* tools.
2026-08-24 14:16:47 +08:00