dsh-mcp-connector 0.2.38 → 0.2.39

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 CHANGED
@@ -4,6 +4,17 @@
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [0.2.39] - 2026-09-08
8
+
9
+ ### Fixed
10
+
11
+ - 从“设置 → 插件 → 插件配置”快捷打开 MCP连接器时,将连接器弹框 Portal 到页面根层并显示在设置弹框之上;关闭后仍返回原设置位置。
12
+ - MCP连接器位于设置弹框上方时会优先处理 Escape,只关闭最上层连接器弹框,不连带关闭底层设置弹框。
13
+
14
+ ### Verification
15
+
16
+ - 206 项自动测试、lint、版本/营销元数据/商店截图门禁和 npm 发布包白名单/敏感内容扫描全部通过;新增覆盖连接器弹框根层 Portal、层级与嵌套弹框 Escape 行为。
17
+
7
18
  ## [0.2.38] - 2026-09-08
8
19
 
9
20
  ### Added
@@ -596,7 +607,8 @@
596
607
  - 外部 URL 与导入 Header 执行安全校验。
597
608
  - iframe 消息校验同源和消息来源。
598
609
 
599
- [Unreleased]: https://github.com/duhu2000/dsh-mcp-connector/compare/v0.2.38...HEAD
610
+ [Unreleased]: https://github.com/duhu2000/dsh-mcp-connector/compare/v0.2.39...HEAD
611
+ [0.2.39]: https://github.com/duhu2000/dsh-mcp-connector/compare/v0.2.38...v0.2.39
600
612
  [0.2.38]: https://github.com/duhu2000/dsh-mcp-connector/compare/v0.2.37...v0.2.38
601
613
  [0.2.37]: https://github.com/duhu2000/dsh-mcp-connector/compare/v0.2.36...v0.2.37
602
614
  [0.2.36]: https://github.com/duhu2000/dsh-mcp-connector/compare/v0.2.35...v0.2.36
package/README.en.md CHANGED
@@ -175,7 +175,7 @@ npm run dev:ui
175
175
 
176
176
  Every Registry merge regenerates `catalog-stats.json`; an hourly workflow in this repository synchronizes the Chinese and English product copy plus a local stats snapshot. The static npm README updates with package releases, while the live badges above read the Registry directly and therefore stay current without another npm release.
177
177
 
178
- The current public version is [`dsh-mcp-connector@0.2.38`](https://www.npmjs.com/package/dsh-mcp-connector), with [GitHub Release v0.2.38](https://github.com/duhu2000/dsh-mcp-connector/releases/tag/v0.2.38).
178
+ The current public version is [`dsh-mcp-connector@0.2.39`](https://www.npmjs.com/package/dsh-mcp-connector), with [GitHub Release v0.2.39](https://github.com/duhu2000/dsh-mcp-connector/releases/tag/v0.2.39).
179
179
 
180
180
  See [CHANGELOG.md](CHANGELOG.md) for version history and [docs/DESKTOP-E2E.md](docs/DESKTOP-E2E.md) for the Desktop release checklist.
181
181
 
package/README.md CHANGED
@@ -171,7 +171,7 @@ npm run dev:ui
171
171
 
172
172
  公共 Registry 每次合并后会生成 `catalog-stats.json`;本仓库的定时工作流每小时同步中英文介绍和统计快照。npm 页面中的静态正文随版本发布更新,上方动态统计徽标则直接读取 Registry,可在不发布新 npm 版本时保持实时数量一致。
173
173
 
174
- 当前公开版本为 [`dsh-mcp-connector@0.2.38`](https://www.npmjs.com/package/dsh-mcp-connector),对应 [GitHub Release v0.2.38](https://github.com/duhu2000/dsh-mcp-connector/releases/tag/v0.2.38)。
174
+ 当前公开版本为 [`dsh-mcp-connector@0.2.39`](https://www.npmjs.com/package/dsh-mcp-connector),对应 [GitHub Release v0.2.39](https://github.com/duhu2000/dsh-mcp-connector/releases/tag/v0.2.39)。
175
175
 
176
176
  版本能力与变更记录见 [CHANGELOG.md](CHANGELOG.md)。
177
177
  Desktop 发版回归见 [docs/DESKTOP-E2E.md](docs/DESKTOP-E2E.md)。
package/lib/client.js CHANGED
@@ -25,6 +25,7 @@ window.__ModuleLoader__.load({
25
25
  const PLUGIN_PACKAGE_NAME = "dsh-mcp-connector";
26
26
  const CONNECTOR_SETTINGS_NAMESPACE = "mcp-connector";
27
27
  const SHOW_SIDEBAR_ENTRY_FIELD = "showSidebarEntry";
28
+ const CONNECTOR_MODAL_Z_INDEX = 1100;
28
29
  const UPDATE_PROVIDER_OPERATION_POLL_MS = 1e3;
29
30
  const UPDATE_PROVIDER_ADAPTERS = Object.freeze([
30
31
  createHttpUpdateProviderAdapter({
@@ -1204,10 +1205,17 @@ window.__ModuleLoader__.load({
1204
1205
  if (!open) return void 0;
1205
1206
  const opener = document.activeElement;
1206
1207
  closeRef.current?.focus?.();
1207
- const onKeyDown = (event) => { if (event.key === "Escape") actions.close(); };
1208
- window.addEventListener("keydown", onKeyDown);
1208
+ const onKeyDown = (event) => {
1209
+ if (event.key !== "Escape") return;
1210
+ event.preventDefault();
1211
+ event.stopPropagation();
1212
+ actions.close();
1213
+ };
1214
+ // Capture at window before the underlying Settings dialog receives
1215
+ // Escape on document; only the topmost connector dialog should close.
1216
+ window.addEventListener("keydown", onKeyDown, true);
1209
1217
  return () => {
1210
- window.removeEventListener("keydown", onKeyDown);
1218
+ window.removeEventListener("keydown", onKeyDown, true);
1211
1219
  if (opener?.isConnected !== false) opener?.focus?.();
1212
1220
  };
1213
1221
  }, [open, actions]);
@@ -1475,7 +1483,7 @@ window.__ModuleLoader__.load({
1475
1483
  });
1476
1484
  };
1477
1485
  const src = window.location.origin + "/mcp-connector/ui/";
1478
- return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1486
+ const modal = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1479
1487
  style: {
1480
1488
  position: "fixed",
1481
1489
  inset: 0,
@@ -1483,7 +1491,7 @@ window.__ModuleLoader__.load({
1483
1491
  display: "flex",
1484
1492
  alignItems: "center",
1485
1493
  justifyContent: "center",
1486
- zIndex: 1000
1494
+ zIndex: CONNECTOR_MODAL_Z_INDEX
1487
1495
  },
1488
1496
  onClick: (event) => { if (event.target === event.currentTarget) actions.close(); },
1489
1497
  children: [
@@ -1573,6 +1581,14 @@ window.__ModuleLoader__.load({
1573
1581
  })
1574
1582
  ]
1575
1583
  });
1584
+ // shell.overlay lives inside a z-index:20 stacking context, while DSH
1585
+ // Settings is a root-level z-index:1000 modal. Portal to body so the
1586
+ // quick-open action can reliably place this dialog above Settings.
1587
+ if (document.body !== null && document.body !== void 0
1588
+ && typeof react_dom.createPortal === "function") {
1589
+ return react_dom.createPortal(modal, document.body);
1590
+ }
1591
+ return modal;
1576
1592
  }
1577
1593
 
1578
1594
  /** 左栏入口按钮:使用 DSH Button 组件,与社区插件市场一致。 */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-mcp-connector",
3
- "version": "0.2.38",
3
+ "version": "0.2.39",
4
4
  "description": "DeepSeek Harness MCP Connector and MCP Server marketplace with over one hundred MCP connectors, continuously updated. Discover, authorize, and manage connections in one place; supports OAuth 2.0 PKCE, API keys, stdio/HTTP, mcpServers JSON import, and tool and prompt discovery. Maintained by Qichacha/QCC.",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",