dsh-ide-git 0.5.1 → 0.5.2

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/dsh.plugin.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "id": "dsh-external/dsh-ide-git",
3
- "version": "0.5.1",
3
+ "version": "0.5.2",
4
4
  "main": "./src/index.js",
5
5
  "description": "IDE 级 Git 操作面板:分支树 + 提交图谱 + 变更/暂存/提交 + 提交详情。装了 dsh-better-sidebar 时挂成它的原生 tab(右侧栏 + 底部工作台);没装时直接挂 DSH 原生右侧栏,单独安装即可用。JetBrains 风格 Git 工具窗口 for DeepSeek Harness.",
6
6
  "engines": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-ide-git",
3
- "version": "0.5.1",
3
+ "version": "0.5.2",
4
4
  "description": "DSH plugin: an IDE-grade Git tool window as a native dsh-better-sidebar tab — branch tree, commit graph, changes, commit details, JetBrains-style actions, in the right sidebar and the bottom panel. | DSH 插件:IDE 级 Git 工具窗口,以 dsh-better-sidebar 原生 Tab 挂载——分支树 / 提交图谱 / 变更与提交详情 / JetBrains 风格操作,右侧栏与底部面板双布局自适应。",
5
5
  "type": "module",
6
6
  "repository": {
package/src/client.js CHANGED
@@ -5604,20 +5604,33 @@ window.__ModuleLoader__.load({
5604
5604
  if (betterSidebar === undefined || typeof betterSidebar.registerTab !== 'function') return
5605
5605
  hostedByBetterSidebar = true
5606
5606
  if (disposeNative !== null) { disposeNative(); disposeNative = null }
5607
- tabCtx.effect(() => betterSidebar.registerTab({
5608
- id: TAB_ID,
5609
- title: () => t('title'),
5610
- description: () => t('description'),
5611
- icon: (size) => E(Icon, { name: 'commit', size: size === undefined ? 16 : size }),
5612
- order: 21,
5613
- single: true,
5614
- component: (tabProps) => E(LocaleLive, {
5615
- ctx: ctx,
5616
- scope: tabProps.scope,
5617
- t: t,
5618
- visible: tabProps.visible,
5619
- }),
5620
- }), 'dsh-ide-git: Git tab')
5607
+ tabCtx.effect(() => {
5608
+ const offTab = betterSidebar.registerTab({
5609
+ id: TAB_ID,
5610
+ title: () => t('title'),
5611
+ description: () => t('description'),
5612
+ icon: (size) => E(Icon, { name: 'commit', size: size === undefined ? 16 : size }),
5613
+ order: 21,
5614
+ single: true,
5615
+ component: (tabProps) => E(LocaleLive, {
5616
+ ctx: ctx,
5617
+ scope: tabProps.scope,
5618
+ t: t,
5619
+ visible: tabProps.visible,
5620
+ }),
5621
+ })
5622
+ /* The base can go away at RUNTIME (disabled in the plugin panel, or
5623
+ uninstalled): cordis unloads this effect when the service
5624
+ disappears, and the panel must fall back to the native
5625
+ right-sidebar seats instead of vanishing with the base. The
5626
+ same inject re-fires when the service returns, and the
5627
+ callback above takes the native seats down again. */
5628
+ return () => {
5629
+ try { offTab() } catch (error) { void error }
5630
+ hostedByBetterSidebar = false
5631
+ hostNatively()
5632
+ }
5633
+ }, 'dsh-ide-git: Git tab')
5621
5634
  })
5622
5635
 
5623
5636
  /* ctx.inject runs its callback straight away when the service is already