@sparkelf/dsh-plus 0.2.2-alpha.2.35 → 0.2.2-alpha.2.37

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sparkelf/dsh-plus",
3
3
  "description": "DeepSeek Harness Plus official-base Web distribution profile and ranged compatibility patchset",
4
- "version": "0.2.2-alpha.2.35",
4
+ "version": "0.2.2-alpha.2.37",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -575,6 +575,21 @@
575
575
  },
576
576
  "file": "./patches/wsl-native-open.patch",
577
577
  "retireWhen": "官方 open-in-app 为 Windows 解释器翻译 POSIX 路径后退役"
578
+ },
579
+ {
580
+ "id": "ui-sidebar-right-global-panel",
581
+ "dsh": ">=0.2.2-alpha.2",
582
+ "target": {
583
+ "kind": "dsh-source",
584
+ "paths": [
585
+ "packages/client/ui-sidebar-right/"
586
+ ],
587
+ "packages": [
588
+ "@deepseek-ai/dsh-client-ui-sidebar-right"
589
+ ]
590
+ },
591
+ "file": "./patches/ui-sidebar-right-global-panel.patch",
592
+ "retireWhen": "官方 ui-sidebar-right 的 RightbarRoot 在 global panel(activePanelId !== null)下渲染 rightbar.session 后退役"
578
593
  }
579
594
  ]
580
595
  },
@@ -641,9 +656,9 @@
641
656
  ],
642
657
  "packages": {
643
658
  "@sparkelf/dsh-api-client": "0.5.3",
644
- "@sparkelf/dsh-dataops-managed": "0.3.23",
659
+ "@sparkelf/dsh-dataops-managed": "0.3.26",
645
660
  "@sparkelf/dsh-genui": "0.15.0-sparkelf.1",
646
- "@sparkelf/dsh-knowledge-base": "0.1.25",
661
+ "@sparkelf/dsh-knowledge-base": "0.1.26",
647
662
  "@sparkelf/dsh-mineru": "0.1.4",
648
663
  "@sparkelf/dsh-office-viewer-fonts": "0.1.6",
649
664
  "@sparkelf/dsh-officecli": "0.1.4",
@@ -0,0 +1,36 @@
1
+ diff --git a/packages/client/ui-sidebar-right/src/client/index.ts b/packages/client/ui-sidebar-right/src/client/index.ts
2
+ index 99b800b6c8..9b317464e1 100644
3
+ --- a/packages/client/ui-sidebar-right/src/client/index.ts
4
+ +++ b/packages/client/ui-sidebar-right/src/client/index.ts
5
+ @@ -138,7 +138,10 @@ export function apply(ctx: ClientContext): void {
6
+ ctx.effect(() => {
7
+ const sync = (): void => {
8
+ const selected = views.source.getSnapshot().find(view => view.selected)
9
+ - show(layout.panelInfo.getSnapshot().activePanelId === null ? selected?.sessionId : undefined)
10
+ + // The right column stays addressable from a global main panel; the layout
11
+ + // still decides the track's width, so a session tab is named whenever a
12
+ + // Session is selected rather than only while the Conversation is focused.
13
+ + show(selected?.sessionId)
14
+ }
15
+ const unsubscribeViews = views.source.subscribe(sync)
16
+ const unsubscribePanel = layout.panelInfo.subscribe(sync)
17
+ diff --git a/packages/client/ui-sidebar-right/src/client/shell/RightbarRoot.tsx b/packages/client/ui-sidebar-right/src/client/shell/RightbarRoot.tsx
18
+ index 26bedb1d18..bebc73706d 100644
19
+ --- a/packages/client/ui-sidebar-right/src/client/shell/RightbarRoot.tsx
20
+ +++ b/packages/client/ui-sidebar-right/src/client/shell/RightbarRoot.tsx
21
+ @@ -31,8 +31,12 @@ function SessionView({ view, visible, SessionProvider, renderSlot, mountView, wi
22
+ * @param props - frame geometry, view targets and the authorized Session renderer.
23
+ * @returns the foreground and retained background Sidebars.
24
+ */
25
+ -export function RightbarRoot({ usePanelInfo, useViews, ...props }: RootProps) {
26
+ - const visible = usePanelInfo(info => info.activePanelId === null)
27
+ +export function RightbarRoot({ useViews, ...props }: RootProps) {
28
+ + // A global main panel (the knowledge base) keeps the right column usable: the
29
+ + // layout already owns whether the track takes width, so gating the Session
30
+ + // content on `activePanelId === null` only made the column render empty there.
31
+ + // Retained views still hide themselves through `view.selected`, so conversation
32
+ + // behaviour is unchanged.
33
+ const views = useViews(value => value)
34
+ - return <>{views.map(view => <SessionView key={view.sessionId} {...props} view={view} visible={visible} />)}</>
35
+ + return <>{views.map(view => <SessionView key={view.sessionId} {...props} view={view} visible />)}</>
36
+ }