feat(tasks): unify saved tasks on ssh_tasks services
- Add shared task_runner.run_saved_task helper used by routers/tasks.py and widgets/sources.py SshTaskWidgetSource. - Saved tasks now target ssh_tasks service instances via default_service_id; the legacy default_machine_id and saved_task_runs are removed. - Actions page lists ssh_tasks services for default and run-time selection. - Update types, API client, hooks, tests, docs, and changelog. Backend tests: 222 passed. Frontend lint/build/test: clean (71 passed).
This commit is contained in:
@@ -23,3 +23,26 @@ globalThis.ResizeObserver =
|
||||
// Radix popper also probes `requestAnimationFrame`; jsdom provides it, but some
|
||||
// primitives defer layout reads through rAF that never flush in jsdom. Keep the
|
||||
// default rAF; this guard is intentionally minimal.
|
||||
|
||||
// Radix Select uses pointer capture APIs that jsdom does not implement.
|
||||
// Stub them on HTMLElement so opening/closing selects in tests does not throw.
|
||||
if (typeof window !== "undefined" && window.HTMLElement) {
|
||||
const proto = window.HTMLElement.prototype;
|
||||
if (!proto.hasPointerCapture) {
|
||||
proto.hasPointerCapture = () => false;
|
||||
}
|
||||
if (!proto.setPointerCapture) {
|
||||
proto.setPointerCapture = () => {};
|
||||
}
|
||||
if (!proto.releasePointerCapture) {
|
||||
proto.releasePointerCapture = () => {};
|
||||
}
|
||||
}
|
||||
|
||||
// Radix Select also calls scrollIntoView on items when opening; jsdom lacks it.
|
||||
if (typeof window !== "undefined" && window.Element) {
|
||||
const proto = window.Element.prototype;
|
||||
if (!proto.scrollIntoView) {
|
||||
proto.scrollIntoView = () => {};
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user