@michengai/dsh-automation 1.0.4 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +32 -0
- package/CHANGELOG.zh-CN.md +32 -0
- package/README.md +1 -1
- package/README.zh-CN.md +1 -1
- package/lib/client.js +38 -60
- package/lib/client.js.map +3 -3
- package/lib/index.js +1 -2
- package/lib/types/client/ScheduleRail.d.ts +12 -9
- package/lib/types/client/create-task-request.d.ts +9 -0
- package/lib/types/client/helpers.d.ts +1 -10
- package/lib/types/client/host-icon-markup.d.ts +3 -0
- package/lib/types/client/host-icon-resolve.d.ts +2 -4
- package/lib/types/client/host-icons.d.ts +19 -26
- package/lib/types/client/icons.d.ts +0 -18
- package/lib/types/client/locales.d.ts +4 -90
- package/lib/types/client/native-tabs.d.ts +24 -0
- package/lib/types/client/protocol.d.ts +0 -3
- package/lib/types/client/records-view-store.d.ts +32 -0
- package/lib/types/client/schedule-overview.d.ts +2 -1
- package/lib/types/client/schedule-rail-model.d.ts +54 -52
- package/lib/types/client/settings-nav-icon.d.ts +3 -3
- package/lib/types/client/workspace-menu.d.ts +38 -0
- package/lib/types/domain.d.ts +0 -1
- package/lib/types/executor.d.ts +7 -6
- package/package.json +2 -1
- package/lib/types/client/native-group-actions.d.ts +0 -30
- package/lib/types/client/native-session-list.d.ts +0 -31
- package/lib/types/client/native-session-menu.d.ts +0 -49
- package/lib/types/client/workspace-toolbar-metrics.d.ts +0 -2
- package/lib/types/client/workspace-toolbar.d.ts +0 -15
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,38 @@
|
|
|
4
4
|
|
|
5
5
|
Upcoming changes and recent published versions are listed below. Git tags and GitHub Releases now mirror these entries; historical sections retain links to their original release commits.
|
|
6
6
|
|
|
7
|
+
## 1.0.5 - 2026-10-20
|
|
8
|
+
|
|
9
|
+
- Share the sidebar tab selection with IM while migrating both legacy keys; preserve selection on initial load and shell takeover, exclude session rows from new-chat detection, and verify both real shells' state effects in the composition regression. The stored key is migrated to `dsh-native-sidebar.tab` on read; only this plugin's own legacy key is removed, because older IM builds still read theirs.
|
|
10
|
+
|
|
11
|
+
- Scheduled sessions are no longer hidden from the official task tree; idle scheduled sessions show the official clock icon before the row status.
|
|
12
|
+
- Channel sessions now appear in the official task tree; opening one no longer forces the sidebar to switch to the Channels tab.
|
|
13
|
+
- Records groups are synthesized with the automation definition's own `createdAt` (falling back to its earliest run only when the definition is gone), so the official group hover card no longer shows 1970.
|
|
14
|
+
- Cancel a pending "new scheduled task" or "task settings" request when the settings surface never opens, so a later manual visit does not replay it.
|
|
15
|
+
- Fix dropdown chevrons not flipping when a menu opens: host icon components only destructure `size`/`className`/`strokeWidth`, so the rotation now lives in the stylesheet under `.is-open` instead of a dropped `style` prop.
|
|
16
|
+
- The Records view now renders the official workspace tree. It offers no add-workspace, rename, or group deletion; groups only expand and collapse.
|
|
17
|
+
- The task group's `…` menu offers only Task settings; unrelated third-party menu items are preserved, while the host's own rename/delete rows are hidden because synthetic groups cannot be renamed or deleted. Group archiving is not offered.
|
|
18
|
+
- Scope session-filter cache hits to their registry as well as revision, so replacing a sidebar registry cannot reuse another registry's filtered snapshot.
|
|
19
|
+
- The Records view adds a By task grouping selected by default and can switch to By workspace, Workspace tree, or Flat. Grouping and ordering use an independent view state and no longer affect the main task tree. By workspace keeps every workspace and filters only sessions to scheduled runs.
|
|
20
|
+
- Fix the Records view's reuse of the official WorkspaceBrowser missing the `retainAccountKeys` view action, which crashed the error boundary and removed the whole workspace header, search, and sort controls.
|
|
21
|
+
- Restore the Records view header's create button in the old add-workspace position; it now opens the New scheduled task dialog instead of the add-workspace flow, and the incorrect add-workspace shortcut hint is removed.
|
|
22
|
+
- Fix the Records view being 12px narrower than the Tasks tree: the official WorkspaceBrowser already reserves right padding, and the records container added it a second time, pulling the header, search, sort and group rows inward.
|
|
23
|
+
- The Scheduled → Tasks overview now has search, sort, and create buttons; the search icon uses the same 14px size as Records, sort uses the same official sliders icon, search filters by task name, and create opens the scheduled-task dialog.
|
|
24
|
+
- Align the Records / Tasks view switcher with the Archive Manager tabs: 32px container, 28px tabs, 6–12px adaptive horizontal padding, 13/20 typography, 6px icon gap, and matching selected states; tabs no longer wrap when the Mica skin narrows the sidebar.
|
|
25
|
+
- The top-level Tasks / Channels / Scheduled tabs now use the same format; the indicator width follows the actual tab count and labels stay on one line.
|
|
26
|
+
- Settings toolbar buttons, dropdown chevrons, icons injected into official workspace/view menus, task schedule rows, channel tabs, and the settings-nav icon now use host icons; only the GitHub brand mark remains custom-drawn.
|
|
27
|
+
- Delete the self-drawn Tasks/Records fallback lists and the legacy `sidebar.schedule` slot; show an unavailable message when the official tree is missing.
|
|
28
|
+
- Delete the empty-icon renderer, `pickHostExport`, and legacy `events` reader fallbacks that supported hosts cannot reach; a missing host icon now throws.
|
|
29
|
+
- Fix the Tasks / Channels / Scheduled tabs disappearing after collapsing and expanding the sidebar: move the `wide === false` return in `NativeScheduleShell` below every hook to keep hook order stable (Issue #18).
|
|
30
|
+
- Unify the sidebar wrapper protocol with `__dshNativeTabWrapped`, `__dshNativeTabOriginal`, and `__dshNativeTabOwner` while keeping legacy flags readable; name both wrappers `DshNativeTabWorkspaceShell`.
|
|
31
|
+
- Stop filtering `im:` sessions from the official task tree; Channels and Tasks now share the same sessions. Remove `filterTaskSessionState`, `filterWorkspaceListState`, their caches, and related tests.
|
|
32
|
+
- Unify official task-tree session filters: both automation and IM apply filters through `NativeTabRegistry.sessionFilters`, with a new `getRevision()` so adding or removing a filter recomputes immediately regardless of which plugin wrapped the sidebar first.
|
|
33
|
+
- Unify official task-tree session opening: add `NativeTabRegistry.sessionOpeners` to match scheduled/channel openers in order and fall back to the host; scheduled sessions still adopt/refresh and channel sessions still resolve/ensure regardless of which plugin wrapped first.
|
|
34
|
+
- Delete the custom session list, search toolbar, row menus, and hover cards; session management now reuses the official components.
|
|
35
|
+
- Fix the Scheduled tab disappearing when a foreign sidebar host changes: distinguish automation and IM wrappers with the shared display name, and reattach the tab/opener when the foreign host changes.
|
|
36
|
+
- Preserve the stored sidebar tab on first load; match new-session controls by their own label instead of session titles.
|
|
37
|
+
- Reduce per-row automation subscriptions and guard menu injection and foreign opener matchers.
|
|
38
|
+
|
|
7
39
|
## 1.0.4 - 2026-10-19
|
|
8
40
|
|
|
9
41
|
- Let the settings page fill the host content column by removing the 1080px cap.
|
package/CHANGELOG.zh-CN.md
CHANGED
|
@@ -4,6 +4,38 @@
|
|
|
4
4
|
|
|
5
5
|
以下记录待发布变更及近期已发布版本。Git 标签与 GitHub Release 现已和这些条目同步;历史条目继续保留原始发布提交链接。
|
|
6
6
|
|
|
7
|
+
## 1.0.5 - 2026-10-20
|
|
8
|
+
|
|
9
|
+
- 与 IM 统一使用共享侧栏页签存储,兼容两边旧键;初次加载和换壳保留用户选择,会话行标题不再触发新建识别。组合回归新增双方真实外壳的状态交互验证。读取时把旧键迁移到 `dsh-native-sidebar.tab`;只清理本插件自己的旧键,旧版 IM 仍在读它自己的键。
|
|
10
|
+
|
|
11
|
+
- 定时会话不再从官方任务树隐藏;空闲的定时会话在会话行前显示官方时钟图标。
|
|
12
|
+
- 频道会话现在也出现在官方任务树里,点开时不再强制切到「频道」页签。
|
|
13
|
+
- 合成分组改用任务定义自身的 `createdAt`(只有任务已删除时才退回最早执行时间),官方分组悬停卡片不再显示 1970。
|
|
14
|
+
- 设置页始终没打开时撤销挂起的「新建定时任务」「任务设置」请求,避免之后手动进入设置被旧请求弹窗。
|
|
15
|
+
- 修复菜单展开时下拉箭头不翻转:宿主图标组件只解构 `size`/`className`/`strokeWidth`,被丢弃的 `style` 改为 `.is-open` 下的样式表规则。
|
|
16
|
+
- 「定时 → 记录」改用官方任务树渲染;记录视图不提供新增工作区、重命名或删除分组,分组只能展开/收起。
|
|
17
|
+
- 记录视图的任务分组 `…` 菜单只提供「任务设置」;保留其它第三方菜单项,隐藏宿主自带的重命名/删除工作区(合成分组不可重命名或删除)。不提供整组归档入口。
|
|
18
|
+
- 会话过滤缓存同时校验注册表身份和 revision,避免侧栏换壳后串用其它注册表的过滤结果。
|
|
19
|
+
- 记录视图新增「按任务」分组并默认选中,可切换按工作区、工作区树或平铺。分组和排序使用独立视图状态,不再影响顶部任务树;按工作区模式保留全部工作区,只把会话过滤为定时会话。
|
|
20
|
+
- 修复记录视图复用官方工作区浏览器时缺少 `retainAccountKeys` 视图操作,导致错误边界回退、工作区标题、搜索和排序按钮整块消失。
|
|
21
|
+
- 记录视图头部恢复「新建」按钮(原添加工作区位置),点击直接打开「新建定时任务」弹窗,不再进入添加工作区流程;同时移除错误的「添加工作区」快捷键提示。
|
|
22
|
+
- 修复记录视图工作区比任务树窄 12px:官方工作区浏览器自身已有右内边距,记录容器重复留白,导致标题、搜索、排序和分组行右缘内缩。
|
|
23
|
+
- 「定时 → 任务」总览补齐搜索、排序、新建三个按钮;搜索图标改为 14px、排序沿用与记录视图相同的官方滑块图标,搜索按任务名称过滤,新建直接打开定时任务弹窗。
|
|
24
|
+
- 「记录 / 任务」视图切换页签对齐归档管理页签:32px 容器、28px 页签、6–12px 自适应横向内边距、13/20 字体、6px 图标间距和相同选中态样式;云母皮肤压缩侧栏时不再换行。
|
|
25
|
+
- 顶部「任务 / 频道 / 定时」页签同步为同一格式;页签数量变化时滑块宽度按实际数量计算,页签标签保持单行。
|
|
26
|
+
- 设置页工具按钮、菜单下拉箭头、注入官方工作区/视图菜单的图标、任务时间、频道页签和设置导航图标改用宿主图标;仅保留 GitHub 品牌图标自绘。
|
|
27
|
+
- 删除官方树缺失或报错时回退的自绘任务/记录列表,以及旧 `sidebar.schedule` 槽位;缺少官方树时改为显示不可用提示。
|
|
28
|
+
- 删除受支持宿主不会触发的空图标渲染、`pickHostExport` 和旧 `events` 读取回退;缺失宿主图标改为直接报错。
|
|
29
|
+
- 修复侧边栏折叠后展开或移动端抽屉打开时报错 React #300/#310 导致会话列表消失:`NativeScheduleShell` 的 `wide === false` 提前返回移到所有 Hook 之后,避免 React Hook 顺序错误(Issue #18)。
|
|
30
|
+
- 统一侧栏包裹协议:新增 `__dshNativeTabWrapped`、`__dshNativeTabOriginal`、`__dshNativeTabOwner`,保留旧标记兼容;包裹组件统一命名 `DshNativeTabWorkspaceShell`。
|
|
31
|
+
- 官方任务树不再过滤 `im:` 会话,频道与任务共享同一批会话;删除 `filterTaskSessionState`、`filterWorkspaceListState` 及相关缓存和测试。
|
|
32
|
+
- 统一官方任务树的会话过滤器:automation 与 IM 插件都通过 `NativeTabRegistry.sessionFilters` 应用过滤,并新增 `getRevision()`,过滤器增删后立即重新计算,不再取决于哪个插件先包裹侧栏。
|
|
33
|
+
- 统一官方任务树的会话打开:新增 `NativeTabRegistry.sessionOpeners`,按时序匹配定时/频道 opener,未匹配时回退宿主;无论谁先包裹,定时会话都会 adopt/refresh,频道会话都会 resolve/ensure。
|
|
34
|
+
- 删除自绘会话列表、搜索工具栏、行菜单和悬停卡,会话管理统一复用官方组件。
|
|
35
|
+
- 修复外部侧栏换壳后「定时」页签可能丢失:正确区分 automation 与 IM 的共享包裹名,并在 foreign host 变化时重新挂载页签和 opener。
|
|
36
|
+
- 修复已保存侧栏页签在首次加载被普通会话覆盖;新建会话点击只匹配控件标签,不再误命中会话标题。
|
|
37
|
+
- 降低每个会话行对自动化状态的订阅开销,并为菜单注入和第三方 opener 增加边界保护。
|
|
38
|
+
|
|
7
39
|
## 1.0.4 - 2026-10-19
|
|
8
40
|
|
|
9
41
|
- 设置页占满宿主内容区,移除 1080px 宽度上限。
|
package/README.md
CHANGED
|
@@ -31,7 +31,7 @@ Let DSH handle work on a schedule. Set up tasks in Settings or describe the timi
|
|
|
31
31
|
|
|
32
32
|
## Interface
|
|
33
33
|
|
|
34
|
-
Scheduled
|
|
34
|
+
Scheduled sessions appear in both the official **Tasks** tree and the **Scheduled** tab. Idle scheduled sessions show the official clock icon in **Tasks**. **Scheduled → Records** groups by task by default and can switch to By workspace, Workspace tree, or Flat. By workspace keeps workspaces visible and only filters sessions to scheduled runs; the header + opens New scheduled task directly. Those groups cannot be added, renamed, or deleted:
|
|
35
35
|
|
|
36
36
|

|
|
37
37
|
|
package/README.zh-CN.md
CHANGED
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
|
|
32
32
|
## 界面预览
|
|
33
33
|
|
|
34
|
-
工作区左侧「任务 / 频道 /
|
|
34
|
+
工作区左侧「任务 / 频道 / 定时」分列。定时会话会同时出现在「任务」的官方工作区树和「定时」页签;空闲的定时会话在「任务」里带官方时钟图标。「定时 → 记录」默认按任务分组,可切换按工作区、工作区树或平铺;按工作区模式保留工作区,只把会话过滤为定时会话;头部「+」直接打开新建定时任务。分组不可新增、重命名或删除:
|
|
35
35
|
|
|
36
36
|

|
|
37
37
|
|