Skip to content

fix: show local workbenches in sidebar and explain uninstall state - #635

Merged
yaojin3616 merged 1 commit into
dataelement:mainfrom
cinderzhan:codex/fix-local-workbench-navigation
Oct 1, 2026
Merged

yaojin3616 merged 1 commit into
dataelement:mainfrom
cinderzhan:codex/fix-local-workbench-navigation

Conversation

@cinderzhan

Copy link
Copy Markdown
Collaborator

问题

本地开发的工作台可以出现在“已安装”集合,但侧栏下拉栏只读取已添加且已置顶的导航状态。未经过市场安装的本地 provider 没有写入这两项状态,因此用户无法从侧栏打开。

本地工作台的卸载按钮只在卡片 hover 时显示,且不可卸载时只给出笼统提示。用户无法判断是否需要通过原安装方式移除插件。

修改

  • 本地 provider 注册、加载和市场目录刷新后,自动把首次发现的工作台添加并置顶到侧栏;已有但未置顶的本地工作台也会置顶。记住用户主动移除的记录,避免下次加载又自动加回。
  • 本地工作台在“已安装”卡片上始终显示“卸载”入口;根据原生插件清单判断能否在应用中卸载,并直接显示不可卸载的具体原因。
  • 原生卸载成功后清除本地引入标记,使后续重新安装能够重新发现工作台。

验证

  • vitest run test/workbench-client.test.mjs:139 项通过(基于 main 的临时导出目录)。
  • npm run build:通过(基于 main 的临时导出目录)。
  • npm run typecheck:通过(原始开发目录)。
  • git diff --check origin/main codex/fix-local-workbench-navigation:通过。

原生插件管理器只允许卸载可管理的用户安装包。不可管理的本地插件会显示原因,并提示通过原安装方式移除。

@yaojin3616
yaojin3616 merged commit 8828f51 into dataelement:main Oct 1, 2026
9 checks passed
scpli pushed a commit to scpli/dsh-desktop that referenced this pull request Oct 2, 2026
…#634/dataelement#635

- src/main/index.ts: keep both desktop-startup-install and
  workbench-market-recovery imports.
- workbenches client.js: keep sortMarketEntries (main) and FailureHint
  (dataelement#633); combine local removal status (dataelement#635) with stale-record removal
  (dataelement#633) so the uninstall button honours both.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants