dshmarket 1.66.27 → 1.66.29
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/client/client.js
CHANGED
|
@@ -193,7 +193,7 @@ window.__ModuleLoader__.load({ id: "dshmarket", factory: (require) => {
|
|
|
193
193
|
const IconRefreshOutline14 = pickIcon("IconRefreshOutlineRegular", "IconRefreshOutline14");
|
|
194
194
|
const IconSearchOutline16 = pickIcon("IconSearchOutlineRegular", "IconSearchOutline16");
|
|
195
195
|
const IconSparkle16 = pickIcon("IconSparkleRegular", "IconSparkle16");
|
|
196
|
-
const IconWarningOutline16
|
|
196
|
+
const IconWarningOutline16 = pickIcon("IconWarningOutlineRegular", "IconWarningOutline16");
|
|
197
197
|
//#endregion
|
|
198
198
|
//#region src/client/locales.ts
|
|
199
199
|
/** zh/en dictionaries for the Market settings section and install toast. */
|
|
@@ -4192,7 +4192,7 @@ window.__ModuleLoader__.load({ id: "dshmarket", factory: (require) => {
|
|
|
4192
4192
|
size: 13,
|
|
4193
4193
|
className: Market_module_css_default.reassureOk
|
|
4194
4194
|
});
|
|
4195
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16
|
|
4195
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16, {
|
|
4196
4196
|
size: 14,
|
|
4197
4197
|
className: Market_module_css_default.conflictIcon
|
|
4198
4198
|
});
|
|
@@ -4574,14 +4574,14 @@ window.__ModuleLoader__.load({ id: "dshmarket", factory: (require) => {
|
|
|
4574
4574
|
children: [
|
|
4575
4575
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
4576
4576
|
className: Market_module_css_default.recoverySummary,
|
|
4577
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16
|
|
4577
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16, {
|
|
4578
4578
|
size: 14,
|
|
4579
4579
|
className: Market_module_css_default.bannerIcon
|
|
4580
4580
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: view.failure.summary || t("recoveryNoSummary") })]
|
|
4581
4581
|
}),
|
|
4582
4582
|
view.lastErrors.length > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
4583
4583
|
className: Market_module_css_default.recoverySummary,
|
|
4584
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16
|
|
4584
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16, {
|
|
4585
4585
|
size: 14,
|
|
4586
4586
|
className: Market_module_css_default.bannerIcon
|
|
4587
4587
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", { children: [t("recoveryWriteFailed"), view.lastErrors.join("; ")] })]
|
|
@@ -4759,7 +4759,7 @@ window.__ModuleLoader__.load({ id: "dshmarket", factory: (require) => {
|
|
|
4759
4759
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
4760
4760
|
className: Market_module_css_default.banner,
|
|
4761
4761
|
children: [
|
|
4762
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
4762
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16, {
|
|
4763
4763
|
size: 14,
|
|
4764
4764
|
className: Market_module_css_default.bannerIcon
|
|
4765
4765
|
}),
|
|
@@ -6679,7 +6679,7 @@ window.__ModuleLoader__.load({ id: "dshmarket", factory: (require) => {
|
|
|
6679
6679
|
const remaining = findings.length - preview.length;
|
|
6680
6680
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
6681
6681
|
className: Market_module_css_default.banner,
|
|
6682
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16
|
|
6682
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16, {
|
|
6683
6683
|
size: 14,
|
|
6684
6684
|
className: Market_module_css_default.bannerIcon
|
|
6685
6685
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
@@ -9199,6 +9199,10 @@ window.__ModuleLoader__.load({ id: "dshmarket", factory: (require) => {
|
|
|
9199
9199
|
(0, react.useEffect)(() => {
|
|
9200
9200
|
if (busyUrl === null && updatingName === null) {
|
|
9201
9201
|
setHostBusy(false);
|
|
9202
|
+
statusRef.current = {
|
|
9203
|
+
...statusRef.current,
|
|
9204
|
+
busy: false
|
|
9205
|
+
};
|
|
9202
9206
|
setProgressLine(null);
|
|
9203
9207
|
setProgressPhase(null);
|
|
9204
9208
|
setProgressCurrent(null);
|
|
@@ -11473,7 +11477,7 @@ window.__ModuleLoader__.load({ id: "dshmarket", factory: (require) => {
|
|
|
11473
11477
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
|
|
11474
11478
|
redLines.filter(redLineIsUrgent).map((line) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("p", {
|
|
11475
11479
|
className: Market_module_css_default.warnLine,
|
|
11476
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16
|
|
11480
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16, {
|
|
11477
11481
|
size: 14,
|
|
11478
11482
|
className: Market_module_css_default.bannerIcon
|
|
11479
11483
|
}), " " + redLineLabel(line)]
|
|
@@ -11672,12 +11676,12 @@ window.__ModuleLoader__.load({ id: "dshmarket", factory: (require) => {
|
|
|
11672
11676
|
type: "button",
|
|
11673
11677
|
className: Market_module_css_default.cardBlockedMark,
|
|
11674
11678
|
onClick: openOperations,
|
|
11675
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16
|
|
11679
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16, { size: 13 }), t("queuedBadge")]
|
|
11676
11680
|
}) : blocked ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
|
|
11677
11681
|
type: "button",
|
|
11678
11682
|
className: Market_module_css_default.cardBlockedMark,
|
|
11679
11683
|
onClick: openOperations,
|
|
11680
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16
|
|
11684
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16, { size: 13 }), t("opBlockedCard")]
|
|
11681
11685
|
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
11682
11686
|
variant: "primary",
|
|
11683
11687
|
size: "sm",
|
|
@@ -11894,12 +11898,12 @@ window.__ModuleLoader__.load({ id: "dshmarket", factory: (require) => {
|
|
|
11894
11898
|
type: "button",
|
|
11895
11899
|
className: Market_module_css_default.cardBlockedMark,
|
|
11896
11900
|
onClick: openOperations,
|
|
11897
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16
|
|
11901
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16, { size: 13 }), t("queuedBadge")]
|
|
11898
11902
|
}) : blocked ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
|
|
11899
11903
|
type: "button",
|
|
11900
11904
|
className: Market_module_css_default.cardBlockedMark,
|
|
11901
11905
|
onClick: openOperations,
|
|
11902
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16
|
|
11906
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16, { size: 13 }), t("opBlockedCard")]
|
|
11903
11907
|
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
11904
11908
|
variant: "primary",
|
|
11905
11909
|
size: "sm",
|
|
@@ -12349,7 +12353,7 @@ window.__ModuleLoader__.load({ id: "dshmarket", factory: (require) => {
|
|
|
12349
12353
|
}),
|
|
12350
12354
|
restoreErrors.length > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
12351
12355
|
className: Market_module_css_default.banner,
|
|
12352
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16
|
|
12356
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16, {
|
|
12353
12357
|
size: 14,
|
|
12354
12358
|
className: Market_module_css_default.bannerIcon
|
|
12355
12359
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
@@ -12461,7 +12465,7 @@ window.__ModuleLoader__.load({ id: "dshmarket", factory: (require) => {
|
|
|
12461
12465
|
}),
|
|
12462
12466
|
activationWarnings.length > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
12463
12467
|
className: Market_module_css_default.banner,
|
|
12464
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16
|
|
12468
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16, {
|
|
12465
12469
|
size: 14,
|
|
12466
12470
|
className: Market_module_css_default.bannerIcon
|
|
12467
12471
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
@@ -12483,7 +12487,7 @@ window.__ModuleLoader__.load({ id: "dshmarket", factory: (require) => {
|
|
|
12483
12487
|
}),
|
|
12484
12488
|
tab === "installed" && configNamespaceIssues.length > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
12485
12489
|
className: Market_module_css_default.banner,
|
|
12486
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16
|
|
12490
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16, {
|
|
12487
12491
|
size: 14,
|
|
12488
12492
|
className: Market_module_css_default.bannerIcon
|
|
12489
12493
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
@@ -12536,7 +12540,7 @@ window.__ModuleLoader__.load({ id: "dshmarket", factory: (require) => {
|
|
|
12536
12540
|
buildsSkipped !== null && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
12537
12541
|
className: Market_module_css_default.banner,
|
|
12538
12542
|
children: [
|
|
12539
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16
|
|
12543
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16, {
|
|
12540
12544
|
size: 14,
|
|
12541
12545
|
className: Market_module_css_default.bannerIcon
|
|
12542
12546
|
}),
|
|
@@ -14361,7 +14365,7 @@ window.__ModuleLoader__.load({ id: "dshmarket", factory: (require) => {
|
|
|
14361
14365
|
]
|
|
14362
14366
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("p", {
|
|
14363
14367
|
className: Market_module_css_default.migrationWarning,
|
|
14364
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16
|
|
14368
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16, { size: 14 }), t("migrateWarning")]
|
|
14365
14369
|
})]
|
|
14366
14370
|
}),
|
|
14367
14371
|
agentsConfirm !== null && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Modal, {
|
|
@@ -14702,17 +14706,17 @@ window.__ModuleLoader__.load({ id: "dshmarket", factory: (require) => {
|
|
|
14702
14706
|
}),
|
|
14703
14707
|
exportState === "fail" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Toast, {
|
|
14704
14708
|
text: t("exportLogFail"),
|
|
14705
|
-
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16
|
|
14709
|
+
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16, { size: 14 }),
|
|
14706
14710
|
onDone: exportToastDone
|
|
14707
14711
|
}),
|
|
14708
14712
|
favoriteError !== null && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Toast, {
|
|
14709
14713
|
text: localizeBilingual(favoriteError, lang),
|
|
14710
|
-
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16
|
|
14714
|
+
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16, { size: 14 }),
|
|
14711
14715
|
onDone: favoriteErrorDone
|
|
14712
14716
|
}),
|
|
14713
14717
|
blockError !== null && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Toast, {
|
|
14714
14718
|
text: localizeBilingual(blockError, lang),
|
|
14715
|
-
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16
|
|
14719
|
+
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16, { size: 14 }),
|
|
14716
14720
|
onDone: blockErrorDone
|
|
14717
14721
|
}),
|
|
14718
14722
|
blockNotice !== null && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Toast, {
|
|
@@ -14721,7 +14725,7 @@ window.__ModuleLoader__.load({ id: "dshmarket", factory: (require) => {
|
|
|
14721
14725
|
}),
|
|
14722
14726
|
updateExemptError !== null && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Toast, {
|
|
14723
14727
|
text: localizeBilingual(updateExemptError, lang),
|
|
14724
|
-
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16
|
|
14728
|
+
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16, { size: 14 }),
|
|
14725
14729
|
onDone: updateExemptErrorDone
|
|
14726
14730
|
}),
|
|
14727
14731
|
updateExemptNotice !== null && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Toast, {
|
|
@@ -14730,7 +14734,7 @@ window.__ModuleLoader__.load({ id: "dshmarket", factory: (require) => {
|
|
|
14730
14734
|
}),
|
|
14731
14735
|
toggled !== null && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Toast, {
|
|
14732
14736
|
text: toggled.name + " " + t(toggled.enabled ? "toastToggledOn" : "toastToggledOff"),
|
|
14733
|
-
icon: toggled.enabled ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconCheckOutline16, { size: 14 }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16
|
|
14737
|
+
icon: toggled.enabled ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconCheckOutline16, { size: 14 }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarningOutline16, { size: 14 }),
|
|
14734
14738
|
onDone: toggledDone
|
|
14735
14739
|
})
|
|
14736
14740
|
]
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dshmarket",
|
|
3
3
|
"description": "Visual plugin market inside DeepSeek Harness — browse, search, and one-click install community plugins. · DSH 可视化插件市场:逛一逛,点一下,装好。",
|
|
4
|
-
"version": "1.66.
|
|
4
|
+
"version": "1.66.29",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
7
|
"types": "lib/types/index.d.ts",
|
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
* see — the two patches side by side.
|
|
16
16
|
*/
|
|
17
17
|
import { useCallback, useEffect, useState, type ReactElement } from 'react'
|
|
18
|
-
import { Button
|
|
18
|
+
import { Button } from '@deepseek-ai/dsh-client-ui-primitives'
|
|
19
|
+
import { IconWarningOutline16 } from './icons.ts'
|
|
19
20
|
import css from './Market.module.css'
|
|
20
21
|
import { api } from './market-data.ts'
|
|
21
22
|
import type { Translate } from './market-data.ts'
|
|
@@ -2727,6 +2727,12 @@ export function MarketSection(props: MarketSectionProps) {
|
|
|
2727
2727
|
// that stale sample; the guarded restart route still handles the small
|
|
2728
2728
|
// post-response lock-release window with its existing 409 retry.
|
|
2729
2729
|
setHostBusy(false)
|
|
2730
|
+
// The same sample is what `runQueuedNow` reads to decide whether the
|
|
2731
|
+
// host is free (#845 review). Left in place it answered 「另一个安装、
|
|
2732
|
+
// 更新或卸载还在进行」 about an idle host, for the up to 2 s until the
|
|
2733
|
+
// drain's next tick — and the idle poll that used to correct it is
|
|
2734
|
+
// exactly what #845 removed, so with no queued row it never came back.
|
|
2735
|
+
statusRef.current = { ...statusRef.current, busy: false }
|
|
2730
2736
|
setProgressLine(null)
|
|
2731
2737
|
setProgressPhase(null)
|
|
2732
2738
|
setProgressCurrent(null)
|