Skip to content

Releases: Max-Null/dsh-capture

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 30 Oct 07:58

Fixed

  • 原图预览的编辑按钮位置错:.dsh-img-edit-btn 用的是 position:fixed; top:20px; right:64px,那是相对视口定位——按钮永远贴在窗口右上角、压在最小化/最大化/关闭按钮上,跟图片在哪无关。改为按图片矩形计算位置(图片右上角内侧内缩 8px),并随窗口 resize 重算。
  • 工具条改挂到 body(原先 append 进 dialog),预览关闭时由 MutationObserver 收走,不残留。

Added

  • 复制图片(⧉):原图预览里的第二个按钮,把图片写进系统剪贴板。非 PNG 先用 canvas 重编码——ClipboardItem 在各浏览器实现里只可靠支持 image/png。成功时按钮短暂显示 ✓,失败走原有错误提示。
  • 两个按钮合成一组工具条(.dsh-img-tools),替换原先单按钮的注入。

v0.3.1 - DSH 0.1.7+ 内核适配收尾 + README 核对 + L1 三绿

Choose a tag to compare

@Max-Null Max-Null released this 28 Sep 22:39

说明

本仓库此前没有任何 tag,v0.3.1 是首个——因此下面的内容不是「与上个 tag 的 diff」,而是从 0.3.0 的最后一个功能提交(938416f)之后、直到本 tag 的全部改动,由 git log --oneline 938416f..v0.3.1 提炼。

调整

  • 截图设置换了入口:从「设置——插件」页卡片迁到「插件」页里本插件详情页的配置卡(plugins.bundle.config,key = 包名)。DSH 0.1.7 移除了旧的 settings.plugin.item,继续挂在那里等于注册到未声明的槽——设置卡完全不渲染。
  • 设置卡默认展开:折叠态会让用户以为「设置不见了」。
  • 设置不再走 settings.installSection(该方法已不存在):插件的 Config schema 直接构成它自己的 settings section,可变字段标 .volatile()。
  • host 路由改走 ctx.connection.fetch 精确路由表:carrier-neutral,Web 载体与 Electron shell 载体分发同一个 handler(原 /api/ssid/screenshot/{get,set,trigger} 行为不变)。
  • 移除 @deepseek-ai/dsh-client-runtime 依赖:该包自 DSH 0.1.2-alpha.2 起已从内核移除。

修复

  • pnpm typecheck 由 7 条错误转为 0:补齐两个类型增强包 @deepseek-ai/dsh-client-connection(提供 ctx.connection)与 @deepseek-ai/dsh-client-ui-renderer(提供 ctx.slots 的 Context 合并)。两者此前都不在 devDependencies 里——dsh-client-connection 在 lock 中只是传递依赖,pnpm 不提升到顶层,于是 type-only import 解析不到。钉精确版本 0.2.0-rc.1,不写范围(pnpm 的 prerelease 选择规则挑不到该版本,写范围会装成旧版、让验证失真)。
  • README 与实现核对(逐条回源码取证后修正):设置入口 3 处、壳层实现路径(shell/main.mjs + shell/screenshot.html → ssid-desktop/apps/desktop/src/ssid/screenshot.ts + resources/screenshot.html)、家族清单里的包名、3 分钟闲置超时的归属。

兼容性

内核插件兼容判定(plugin-compatibility.ts)只读 peerDependencies,且只检查 @deepseek-ai/dsh / @deepseek-ai/dsh-* 前缀。本插件的 peerDependencies 里从未声明任何 @deepseek-ai/dsh-*(仅 cordis / react / react-dom),因此 peers 为空即判兼容——在 0.1.7-rc.2 与 0.2.0-rc.1 两版内核下都不会被静默跳过(已用真实 evaluatePluginCompatibility 实测,并带合成负样本对照)。

构建

pnpm typecheck && pnpm test && pnpm build 三者全绿。

文档与截图

  • docs/shots/settings-1.png 已重截为「插件」页 → 本插件详情页的配置卡片(隐藏窗口开关 + 全局快捷键)。摄于隔离的 dev 实例(内核 0.2.0-rc.1),图内显示的 v0.3.1 即该构建产物的版本。
  • README 该段表头同步改为「「插件」页 → dsh-capture 详情页的配置卡片」——原表头写「设置页」,与图不符。
  • 两处源码注释对齐实现:ScreenshotSettings.tsx 的文件头与 client/index.ts 的 apply 注释仍描述着旧的 settings.general.item 通用设置行。