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 +13 -1
- package/README.en.md +1 -1
- package/README.md +1 -1
- package/lib/client.js +21 -5
- package/package.json +1 -1
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.
|
|
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.
|
|
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.
|
|
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) => {
|
|
1208
|
-
|
|
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
|
-
|
|
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:
|
|
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.
|
|
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",
|