dsh-plugin 1.4.5 → 1.4.7
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 +331 -302
- package/client/client.js.map +1 -1
- package/lib/http/routes.js +30 -8
- package/lib/services/probe.js +92 -63
- package/lib/types/services/probe.d.ts +25 -2
- package/package.json +1 -1
- package/src/client/components/modals/NotificationsModal.tsx +5 -0
- package/src/client/components/modals/modals.tsx +4 -0
- package/src/client/components/views/DiagnosticsView.tsx +11 -4
- package/src/client/components/views/SettingsView.tsx +14 -5
- package/src/client/locales.ts +12 -0
- package/src/client/logic/failures.ts +14 -1
- package/src/client/logic/urls.ts +4 -1
- package/src/server/http/routes.ts +29 -8
- package/src/server/services/probe.ts +113 -63
package/client/client.js
CHANGED
|
@@ -114,6 +114,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
114
114
|
proxyCheckChecking: "正在测试该代理地址…",
|
|
115
115
|
proxyCheckOk: "测试可达,安装与目录请求将统一走该代理",
|
|
116
116
|
proxyCheckFail: "此地址测试不通,仍可保存;请确认代理已开启、地址与端口无误",
|
|
117
|
+
proxyCheckRevocation: "证书吊销检查受阻(Windows Schannel 取不到 CRL/OCSP),握手被中断;属本机 TLS 环境问题,非代理地址不通",
|
|
117
118
|
settingsMirror: "npm 镜像源",
|
|
118
119
|
settingsMirrorDesc: "默认跟随本机 npm 配置;官方源慢可换国内镜像",
|
|
119
120
|
mirrorNone: "未配置(跟随本机 npm 配置)",
|
|
@@ -198,6 +199,8 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
198
199
|
diagSummaryRunning: "正在检测通道…",
|
|
199
200
|
diagSummaryOk: "全部通道正常",
|
|
200
201
|
diagSummaryFail: "存在不可达通道,点击对应行可重测",
|
|
202
|
+
diagFailRevocation: "证书校验受阻",
|
|
203
|
+
diagFailRevocationHint: "系统 curl 取不到证书吊销信息(Windows Schannel 必需 CRL/OCSP),TLS 握手被中断 —— 这不是网络不通,npm/git 可能照常可用。升级 curl 到 7.70+ 可自动按「尽力而为」处理,或换一个能访问吊销服务的网络。",
|
|
201
204
|
settingsEnvSnapshot: "系统版本",
|
|
202
205
|
settingsEnvSnapshotDesc: "复制宿主版本与系统信息,提交 Issue 时粘贴到正文便于复现",
|
|
203
206
|
settingsEnvCopy: "复制",
|
|
@@ -299,6 +302,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
299
302
|
failPnpmUnusedPatchHint: "安装器调用 pnpm 时报「有些补丁没有被使用」(ERR_PNPM_UNUSED_PATCH):你的 profile 里留着一条指向旧版本 dsh-plugin 的补丁声明(例如 dsh-plugin@1.4.2),而本次安装解析到的版本已经不是它,pnpm 出于安全直接中止整次安装,因此任何插件都装不进来。这不是插件本身的问题——请在 profile 目录(~/.dsh/profiles/<profile>)的 pnpm-workspace.yaml(pnpm 11 及以上)或 package.json 的 pnpm.patchedDependencies(pnpm 10)里删除该 dsh-plugin 补丁条目后重试。",
|
|
300
303
|
failFileLockedHint: "安装过程中 pnpm 无法替换 profile 里的文件:有程序正占用着它(Windows 常见报错 os error 32「另一个程序正在使用此文件」)。通常是 DeepSeek Harness 自身或杀毒软件的实时扫描持有文件句柄。这不是插件本身的问题——请完全退出 DeepSeek Harness(Windows 可在任务管理器确认进程已结束,必要时临时关闭杀毒软件实时防护)后重试。",
|
|
301
304
|
failAccessDeniedHint: "安装过程中 pnpm 写入 profile 里的文件被系统拒绝访问(Windows 常见报错 os error 5「拒绝访问」,英文为 Access is denied;Node 下的 EPERM / EACCES 同理)。常见原因是该文件或目录正被其他进程占用、文件带只读属性、目录权限受限,或杀毒软件实时防护拦截了写入——这与「文件正被占用」(os error 32)同属本机文件系统问题,任何插件装进该目录都会一样失败,不是插件本身的问题。请完全退出 DeepSeek Harness(Windows 可在任务管理器确认进程已结束,必要时临时关闭杀毒软件实时防护)后重试;若仍然失败,请检查 profile 目录及其文件是否被设为只读,并以管理员身份重新运行。",
|
|
305
|
+
failFsUnavailableHint: "安装过程中 pnpm 无法把文件写进本机磁盘(这类报错与装哪个插件无关,任何插件装在同一目录都会失败,不是插件本身的问题)。请按报错对号入座:① 磁盘空间不足(ENOSPC / no space left on device,Windows 为 os error 112)——请清理 profile 所在磁盘的剩余空间后重试;② 磁盘或挂载点只读、带写保护(EROFS / read-only file system,Windows 为 os error 19)——请确认 profile 目录所在磁盘可写(外接盘/U 盘、带写保护的移动盘或只读挂载的分区都会触发),必要时把插件目录换到系统盘的可写位置;③ 进程可用的文件句柄被耗尽(EMFILE / ENFILE / too many open files)——请关闭占用大量文件的程序并重启 DeepSeek Harness 后重试。",
|
|
302
306
|
failPnpmWorkspaceHint: "安装器调用 pnpm 时报「不能把依赖装到 workspace 根目录」(ERR_PNPM_ADDING_TO_ROOT):你的 profile 目录被 pnpm 视为 workspace 根目录,而本次安装命令没有声明在根目录操作,pnpm 直接拒绝执行,因此任何插件装进来都会失败。这不是插件本身的问题——可在 profile 目录(~/.dsh/profiles/<profile>)的 .npmrc 里加一行 ignore-workspace-root-check=true 后重试,或把 DeepSeek Harness 升级到最新版再试。",
|
|
303
307
|
failPnpmPolicyHint: "安装器调用 pnpm 时被其供应链安全策略拦截——装任何插件都会撞墙,不是插件本身的问题。分两种情况处理:① 提示「Minimum release age」(ERR_PNPM_MINIMUM_RELEASE_AGE_VIOLATION):包发布还不满 24 小时,pnpm 11 出于安全会拒收这种刚发布的新包。可在 pnpm 配置(pnpm-workspace.yaml)里加 minimumReleaseAge: 0 豁免,或等满 24 小时后重试。② 提示「untrusted origin」(ERR_PNPM_UNTRUSTED_ORIGIN):依赖来源不被本机 pnpm 信任,通常是该 profile 里之前用 github: 或非官方 npm 源装过插件,锁文件记录了不受信任的来源。请删除该 profile 目录下的 node_modules 与 pnpm-lock.yaml 后重新安装(可先到「系统日志」或 ~/.dsh/profiles/<profile>/hub.log 查看完整报错)。",
|
|
304
308
|
installChannelNpm: "NPM 包",
|
|
@@ -444,6 +448,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
444
448
|
proxyCheckChecking: "Testing this proxy address…",
|
|
445
449
|
proxyCheckOk: "Reachable — installs and catalog requests will route through it",
|
|
446
450
|
proxyCheckFail: "Unreachable, but you can still save it; make sure the proxy is running and the address and port are correct",
|
|
451
|
+
proxyCheckRevocation: "Certificate revocation check blocked (Windows Schannel could not fetch CRL/OCSP), so the handshake was aborted — a local TLS issue, not a bad proxy address",
|
|
447
452
|
settingsMirror: "npm mirror",
|
|
448
453
|
settingsMirrorDesc: "Unset by default — follows local npm config; pick a domestic mirror if slow",
|
|
449
454
|
mirrorNone: "Unset (follow local npm config)",
|
|
@@ -528,6 +533,8 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
528
533
|
diagSummaryRunning: "Checking channels…",
|
|
529
534
|
diagSummaryOk: "All channels reachable",
|
|
530
535
|
diagSummaryFail: "Unreachable channel(s) — click a row to re-check",
|
|
536
|
+
diagFailRevocation: "Cert check blocked",
|
|
537
|
+
diagFailRevocationHint: "The system curl cannot fetch certificate revocation info (CRL/OCSP, required by Windows Schannel), so the TLS handshake is aborted — this is not a network outage, and npm/git may still work. curl 7.70+ downgrades the check to best-effort, or switch to a network that can reach the revocation service.",
|
|
531
538
|
settingsEnvSnapshot: "System version",
|
|
532
539
|
settingsEnvSnapshotDesc: "Copy host version and system info for pasting into issue reports",
|
|
533
540
|
settingsEnvCopy: "Copy",
|
|
@@ -630,6 +637,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
630
637
|
failPnpmUnusedPatchHint: "pnpm reported that some patches were not used (ERR_PNPM_UNUSED_PATCH): your profile still holds a patch entry for an older dsh-plugin version (for example dsh-plugin@1.4.2), while this install resolved a different version, so pnpm aborts the whole install for safety — no plugin can be installed into that profile. This is not a problem with the plugin itself. Remove that dsh-plugin patch entry from pnpm-workspace.yaml (pnpm 11+) or from pnpm.patchedDependencies in package.json (pnpm 10) inside the profile directory (~/.dsh/profiles/<profile>), then retry.",
|
|
631
638
|
failFileLockedHint: "During install, pnpm could not replace a file inside the profile because another program is holding it (on Windows this shows as os error 32, \"the process cannot access the file because it is being used by another process\"). Usually DeepSeek Harness itself or a real-time antivirus scan holds the handle. This is not a problem with the plugin itself — fully quit DeepSeek Harness (on Windows, confirm in Task Manager that the process has ended, and temporarily disable real-time antivirus protection if needed), then retry.",
|
|
632
639
|
failAccessDeniedHint: "During install, Windows denied pnpm access to a file inside the profile (this shows as os error 5, \"Access is denied\"; on Node the equivalent codes are EPERM / EACCES). Typical causes: the file or directory is held by another process, the file is marked read-only, the directory permissions are restricted, or a real-time antivirus scan blocked the write. This is the same class of local file-system problem as a locked file (os error 32) — no plugin can be installed into that directory, so it is not a problem with the plugin itself. Fully quit DeepSeek Harness (on Windows, confirm in Task Manager that the process has ended, and temporarily disable real-time antivirus protection if needed), then retry. If it still fails, check whether the profile directory or its files are read-only and run as administrator.",
|
|
640
|
+
failFsUnavailableHint: "During install, pnpm could not write files to the local disk — this has nothing to do with which plugin you are installing: any plugin installed into the same directory would fail the same way, so it is not a problem with the plugin itself. Match the error you see: ① Out of space (ENOSPC / no space left on device, os error 112 on Windows) — free up space on the drive that holds the profile and retry. ② Read-only or write-protected volume (EROFS / read-only file system, os error 19 on Windows) — make sure the drive holding the profile directory is writable (external or USB drives, write-protected media, and read-only mounts all trigger this); move the plugin directory to a writable location on the system drive if needed. ③ File handles exhausted (EMFILE / ENFILE / too many open files) — close programs that hold many files open, restart DeepSeek Harness, then retry.",
|
|
633
641
|
failPnpmWorkspaceHint: "pnpm refused to add the dependency to the workspace root (ERR_PNPM_ADDING_TO_ROOT): the profile directory is treated as a pnpm workspace root, and this install command did not declare that it operates at the root, so pnpm rejected it outright — no plugin can be installed into that profile. This is not a problem with the plugin itself. Add `ignore-workspace-root-check=true` to the `.npmrc` inside the profile directory (~/.dsh/profiles/<profile>) and retry, or upgrade DeepSeek Harness and try again.",
|
|
634
642
|
failPnpmPolicyHint: "The installer was blocked by pnpm supply-chain security policy — every plugin install would hit the same wall, so this is not a problem with the plugin itself. Two cases: ① \"Minimum release age\" (ERR_PNPM_MINIMUM_RELEASE_AGE_VIOLATION): the package was published less than 24 hours ago, and pnpm 11 refuses freshly-published packages for safety. Add minimumReleaseAge: 0 to your pnpm config (pnpm-workspace.yaml) to opt out, or wait until the 24 hours have passed and retry. ② \"untrusted origin\" (ERR_PNPM_UNTRUSTED_ORIGIN): a dependency source is not trusted by this machine, usually because plugins were previously installed via github: or a non-official npm registry, so the lockfile records an untrusted source. Delete node_modules and pnpm-lock.yaml under the profile directory (see System Logs or ~/.dsh/profiles/<profile>/hub.log for the full output), then reinstall.",
|
|
635
643
|
installChannelNpm: "NPM package",
|
|
@@ -688,42 +696,42 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
688
696
|
css: css$11
|
|
689
697
|
});
|
|
690
698
|
var Header_module_css_default = {
|
|
691
|
-
"githubIcon": "qikqja_githubIcon",
|
|
692
|
-
"brandTitle": "qikqja_brandTitle",
|
|
693
|
-
"sortGroup": "qikqja_sortGroup",
|
|
694
|
-
"adText": "qikqja_adText",
|
|
695
|
-
"root": "qikqja_root",
|
|
696
|
-
"segBtnActive": "qikqja_segBtnActive",
|
|
697
699
|
"langBtn": "qikqja_langBtn",
|
|
698
|
-
"
|
|
699
|
-
"
|
|
700
|
-
"
|
|
701
|
-
"
|
|
702
|
-
"
|
|
703
|
-
"logoIcon": "qikqja_logoIcon",
|
|
700
|
+
"tabs": "qikqja_tabs",
|
|
701
|
+
"segGroup": "qikqja_segGroup",
|
|
702
|
+
"githubLink": "qikqja_githubLink",
|
|
703
|
+
"segBtn": "qikqja_segBtn",
|
|
704
|
+
"taglineLink": "qikqja_taglineLink",
|
|
704
705
|
"adBanner": "qikqja_adBanner",
|
|
705
|
-
"
|
|
706
|
-
"
|
|
706
|
+
"copyIcon": "qikqja_copyIcon",
|
|
707
|
+
"hubUpdateBadge": "qikqja_hubUpdateBadge",
|
|
708
|
+
"aboutBtn": "qikqja_aboutBtn",
|
|
709
|
+
"githubIcon": "qikqja_githubIcon",
|
|
707
710
|
"headerTitleRow": "qikqja_headerTitleRow",
|
|
708
|
-
"
|
|
709
|
-
"
|
|
711
|
+
"segBtnActive": "qikqja_segBtnActive",
|
|
712
|
+
"tagline": "qikqja_tagline",
|
|
713
|
+
"root": "qikqja_root",
|
|
714
|
+
"resultCount": "qikqja_resultCount",
|
|
715
|
+
"adText": "qikqja_adText",
|
|
716
|
+
"title": "qikqja_title",
|
|
717
|
+
"tab": "qikqja_tab",
|
|
718
|
+
"adBadge": "qikqja_adBadge",
|
|
719
|
+
"brandTitle": "qikqja_brandTitle",
|
|
720
|
+
"headerRight": "qikqja_headerRight",
|
|
710
721
|
"tabsRow": "qikqja_tabsRow",
|
|
711
|
-
"githubLink": "qikqja_githubLink",
|
|
712
|
-
"aboutBtn": "qikqja_aboutBtn",
|
|
713
722
|
"resultSeg": "qikqja_resultSeg",
|
|
714
723
|
"segLabel": "qikqja_segLabel",
|
|
724
|
+
"search": "qikqja_search",
|
|
725
|
+
"version": "qikqja_version",
|
|
726
|
+
"header": "qikqja_header",
|
|
715
727
|
"versionBtn": "qikqja_versionBtn",
|
|
716
|
-
"
|
|
717
|
-
"
|
|
718
|
-
"
|
|
719
|
-
"
|
|
720
|
-
"segGroup": "qikqja_segGroup",
|
|
721
|
-
"tabs": "qikqja_tabs",
|
|
728
|
+
"sortGroup": "qikqja_sortGroup",
|
|
729
|
+
"searchRow": "qikqja_searchRow",
|
|
730
|
+
"logoIcon": "qikqja_logoIcon",
|
|
731
|
+
"controls": "qikqja_controls",
|
|
722
732
|
"tabCount": "qikqja_tabCount",
|
|
723
|
-
"
|
|
724
|
-
"
|
|
725
|
-
"hubUpdateBadge": "qikqja_hubUpdateBadge",
|
|
726
|
-
"copyIcon": "qikqja_copyIcon"
|
|
733
|
+
"adArrow": "qikqja_adArrow",
|
|
734
|
+
"tabActive": "qikqja_tabActive"
|
|
727
735
|
};
|
|
728
736
|
//#endregion
|
|
729
737
|
//#region \0dsh-css:src/client/styles/Modal.module.css.mjs
|
|
@@ -742,136 +750,136 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
742
750
|
css: css$10
|
|
743
751
|
});
|
|
744
752
|
var Modal_module_css_default = {
|
|
745
|
-
"progressHead": "BiQ1zG_progressHead",
|
|
746
|
-
"modalInstall": "BiQ1zG_modalInstall",
|
|
747
|
-
"resultCheck": "BiQ1zG_resultCheck",
|
|
748
|
-
"resultTitle": "BiQ1zG_resultTitle",
|
|
749
|
-
"noticeIgnore": "BiQ1zG_noticeIgnore",
|
|
750
|
-
"failClear": "BiQ1zG_failClear",
|
|
751
|
-
"noticeUpdateGo": "BiQ1zG_noticeUpdateGo",
|
|
752
|
-
"noticeFoot": "BiQ1zG_noticeFoot",
|
|
753
|
-
"failKindInstall": "BiQ1zG_failKindInstall",
|
|
754
753
|
"noticeBadgeOk": "BiQ1zG_noticeBadgeOk",
|
|
755
|
-
"trustHint": "BiQ1zG_trustHint",
|
|
756
|
-
"noticeRowMain": "BiQ1zG_noticeRowMain",
|
|
757
|
-
"failKindUninstall": "BiQ1zG_failKindUninstall",
|
|
758
754
|
"modalBody": "BiQ1zG_modalBody",
|
|
759
|
-
"
|
|
760
|
-
"
|
|
755
|
+
"queueRowBody": "BiQ1zG_queueRowBody",
|
|
756
|
+
"detailGrid": "BiQ1zG_detailGrid",
|
|
757
|
+
"queueRowTarget": "BiQ1zG_queueRowTarget",
|
|
761
758
|
"errorHint": "BiQ1zG_errorHint",
|
|
762
|
-
"
|
|
759
|
+
"modalTitle": "BiQ1zG_modalTitle",
|
|
760
|
+
"aboutModal": "BiQ1zG_aboutModal",
|
|
761
|
+
"hubUpdateNotes": "BiQ1zG_hubUpdateNotes",
|
|
762
|
+
"noticeTextFail": "BiQ1zG_noticeTextFail",
|
|
763
|
+
"detailArrow": "BiQ1zG_detailArrow",
|
|
764
|
+
"detailStatusText": "BiQ1zG_detailStatusText",
|
|
765
|
+
"modalCmdCopy": "BiQ1zG_modalCmdCopy",
|
|
766
|
+
"failKindUninstall": "BiQ1zG_failKindUninstall",
|
|
767
|
+
"detailPathActions": "BiQ1zG_detailPathActions",
|
|
768
|
+
"modalLabel": "BiQ1zG_modalLabel",
|
|
769
|
+
"detailPathBtn": "BiQ1zG_detailPathBtn",
|
|
770
|
+
"uninstallConfirm": "BiQ1zG_uninstallConfirm",
|
|
771
|
+
"queueRowDesc": "BiQ1zG_queueRowDesc",
|
|
772
|
+
"queueRowPct": "BiQ1zG_queueRowPct",
|
|
773
|
+
"modal": "BiQ1zG_modal",
|
|
763
774
|
"queueRowHead": "BiQ1zG_queueRowHead",
|
|
764
|
-
"
|
|
765
|
-
"
|
|
766
|
-
"
|
|
767
|
-
"
|
|
768
|
-
"
|
|
769
|
-
"dangerConfirm": "BiQ1zG_dangerConfirm",
|
|
775
|
+
"linkIcon": "BiQ1zG_linkIcon",
|
|
776
|
+
"confirmPrimary": "BiQ1zG_confirmPrimary",
|
|
777
|
+
"modalCmd": "BiQ1zG_modalCmd",
|
|
778
|
+
"trustHint": "BiQ1zG_trustHint",
|
|
779
|
+
"noticeRow": "BiQ1zG_noticeRow",
|
|
770
780
|
"pendingRowActions": "BiQ1zG_pendingRowActions",
|
|
771
|
-
"
|
|
772
|
-
"
|
|
773
|
-
"failList": "BiQ1zG_failList",
|
|
774
|
-
"failHead": "BiQ1zG_failHead",
|
|
775
|
-
"aboutModal": "BiQ1zG_aboutModal",
|
|
776
|
-
"restartLater": "BiQ1zG_restartLater",
|
|
777
|
-
"aboutMeta": "BiQ1zG_aboutMeta",
|
|
781
|
+
"modalIn": "BiQ1zG_modalIn",
|
|
782
|
+
"cliOnlyHint": "BiQ1zG_cliOnlyHint",
|
|
778
783
|
"noticeHead": "BiQ1zG_noticeHead",
|
|
779
|
-
"
|
|
780
|
-
"
|
|
781
|
-
"
|
|
782
|
-
"
|
|
783
|
-
"detailStatusPending": "BiQ1zG_detailStatusPending",
|
|
784
|
-
"failNetworkTarget": "BiQ1zG_failNetworkTarget",
|
|
785
|
-
"hubUpdateMetaItem": "BiQ1zG_hubUpdateMetaItem",
|
|
786
|
-
"progressFill": "BiQ1zG_progressFill",
|
|
787
|
-
"modalCmd": "BiQ1zG_modalCmd",
|
|
784
|
+
"failRepo": "BiQ1zG_failRepo",
|
|
785
|
+
"progressHead": "BiQ1zG_progressHead",
|
|
786
|
+
"errorTitle": "BiQ1zG_errorTitle",
|
|
787
|
+
"confirmIconDanger": "BiQ1zG_confirmIconDanger",
|
|
788
788
|
"confirmIcon": "BiQ1zG_confirmIcon",
|
|
789
|
-
"
|
|
790
|
-
"
|
|
791
|
-
"
|
|
792
|
-
"
|
|
793
|
-
"
|
|
794
|
-
"
|
|
795
|
-
"
|
|
789
|
+
"progress": "BiQ1zG_progress",
|
|
790
|
+
"progressText": "BiQ1zG_progressText",
|
|
791
|
+
"resultDesc": "BiQ1zG_resultDesc",
|
|
792
|
+
"toastFail": "BiQ1zG_toastFail",
|
|
793
|
+
"noticeMain": "BiQ1zG_noticeMain",
|
|
794
|
+
"failNetworkTarget": "BiQ1zG_failNetworkTarget",
|
|
795
|
+
"modalTitleBusy": "BiQ1zG_modalTitleBusy",
|
|
796
|
+
"dangerConfirm": "BiQ1zG_dangerConfirm",
|
|
797
|
+
"modalActions": "BiQ1zG_modalActions",
|
|
798
|
+
"failClear": "BiQ1zG_failClear",
|
|
796
799
|
"detailUpdateHint": "BiQ1zG_detailUpdateHint",
|
|
797
|
-
"
|
|
798
|
-
"
|
|
799
|
-
"
|
|
800
|
+
"resultCheck": "BiQ1zG_resultCheck",
|
|
801
|
+
"noticeRowOk": "BiQ1zG_noticeRowOk",
|
|
802
|
+
"failBigIssue": "BiQ1zG_failBigIssue",
|
|
803
|
+
"noticeVersion": "BiQ1zG_noticeVersion",
|
|
804
|
+
"resultTitle": "BiQ1zG_resultTitle",
|
|
805
|
+
"detailLabel": "BiQ1zG_detailLabel",
|
|
806
|
+
"modalLink": "BiQ1zG_modalLink",
|
|
807
|
+
"failHead": "BiQ1zG_failHead",
|
|
808
|
+
"noticeList": "BiQ1zG_noticeList",
|
|
809
|
+
"detailStatusRunning": "BiQ1zG_detailStatusRunning",
|
|
810
|
+
"result": "BiQ1zG_result",
|
|
811
|
+
"queueRow": "BiQ1zG_queueRow",
|
|
812
|
+
"errorCopySoft": "BiQ1zG_errorCopySoft",
|
|
813
|
+
"resultRestarting": "BiQ1zG_resultRestarting",
|
|
800
814
|
"modalValue": "BiQ1zG_modalValue",
|
|
801
|
-
"
|
|
802
|
-
"
|
|
803
|
-
"
|
|
815
|
+
"hubUpdateModal": "BiQ1zG_hubUpdateModal",
|
|
816
|
+
"detailModal": "BiQ1zG_detailModal",
|
|
817
|
+
"detailPath": "BiQ1zG_detailPath",
|
|
818
|
+
"progressFillFail": "BiQ1zG_progressFillFail",
|
|
819
|
+
"detailStars": "BiQ1zG_detailStars",
|
|
820
|
+
"errorModal": "BiQ1zG_errorModal",
|
|
804
821
|
"errorBox": "BiQ1zG_errorBox",
|
|
822
|
+
"failEmpty": "BiQ1zG_failEmpty",
|
|
823
|
+
"failPrepareHint": "BiQ1zG_failPrepareHint",
|
|
805
824
|
"logModal": "BiQ1zG_logModal",
|
|
806
|
-
"
|
|
825
|
+
"failRow": "BiQ1zG_failRow",
|
|
826
|
+
"queueSection": "BiQ1zG_queueSection",
|
|
827
|
+
"detailLink": "BiQ1zG_detailLink",
|
|
828
|
+
"detailDim": "BiQ1zG_detailDim",
|
|
829
|
+
"hubUpdateMeta": "BiQ1zG_hubUpdateMeta",
|
|
807
830
|
"modalClose": "BiQ1zG_modalClose",
|
|
808
|
-
"
|
|
809
|
-
"
|
|
810
|
-
"
|
|
811
|
-
"
|
|
812
|
-
"
|
|
831
|
+
"noticeIgnore": "BiQ1zG_noticeIgnore",
|
|
832
|
+
"noticeFoot": "BiQ1zG_noticeFoot",
|
|
833
|
+
"hubUpdateMetaItem": "BiQ1zG_hubUpdateMetaItem",
|
|
834
|
+
"failCopy": "BiQ1zG_failCopy",
|
|
835
|
+
"confirmIconWrap": "BiQ1zG_confirmIconWrap",
|
|
836
|
+
"modalTitleQueued": "BiQ1zG_modalTitleQueued",
|
|
813
837
|
"queueSectionTitle": "BiQ1zG_queueSectionTitle",
|
|
838
|
+
"failKind": "BiQ1zG_failKind",
|
|
839
|
+
"noticeBadgeFail": "BiQ1zG_noticeBadgeFail",
|
|
840
|
+
"failDiagBtn": "BiQ1zG_failDiagBtn",
|
|
841
|
+
"detailStatusPending": "BiQ1zG_detailStatusPending",
|
|
842
|
+
"aboutMeta": "BiQ1zG_aboutMeta",
|
|
843
|
+
"queueRowTrack": "BiQ1zG_queueRowTrack",
|
|
844
|
+
"noticeRemove": "BiQ1zG_noticeRemove",
|
|
845
|
+
"noticeUpdateGo": "BiQ1zG_noticeUpdateGo",
|
|
846
|
+
"noticeTime": "BiQ1zG_noticeTime",
|
|
847
|
+
"noticeRowUpdate": "BiQ1zG_noticeRowUpdate",
|
|
848
|
+
"restartNow": "BiQ1zG_restartNow",
|
|
849
|
+
"noticeRowMain": "BiQ1zG_noticeRowMain",
|
|
850
|
+
"pendingRowStatus": "BiQ1zG_pendingRowStatus",
|
|
851
|
+
"queuedHint": "BiQ1zG_queuedHint",
|
|
852
|
+
"restartNowWarning": "BiQ1zG_restartNowWarning",
|
|
853
|
+
"noticeBadgeIcon": "BiQ1zG_noticeBadgeIcon",
|
|
854
|
+
"aboutContent": "BiQ1zG_aboutContent",
|
|
814
855
|
"progressTrack": "BiQ1zG_progressTrack",
|
|
856
|
+
"detailRow": "BiQ1zG_detailRow",
|
|
857
|
+
"modalCancel": "BiQ1zG_modalCancel",
|
|
858
|
+
"helpModal": "BiQ1zG_helpModal",
|
|
815
859
|
"modalCloseIcon": "BiQ1zG_modalCloseIcon",
|
|
816
|
-
"noticeTextOk": "BiQ1zG_noticeTextOk",
|
|
817
|
-
"queuedHint": "BiQ1zG_queuedHint",
|
|
818
|
-
"modal": "BiQ1zG_modal",
|
|
819
|
-
"progress": "BiQ1zG_progress",
|
|
820
|
-
"failEmpty": "BiQ1zG_failEmpty",
|
|
821
|
-
"detailValue": "BiQ1zG_detailValue",
|
|
822
860
|
"modalCmdText": "BiQ1zG_modalCmdText",
|
|
823
|
-
"linkIcon": "BiQ1zG_linkIcon",
|
|
824
861
|
"modalCopy": "BiQ1zG_modalCopy",
|
|
825
|
-
"
|
|
826
|
-
"detailPath": "BiQ1zG_detailPath",
|
|
827
|
-
"queueRowBody": "BiQ1zG_queueRowBody",
|
|
828
|
-
"progressFillFail": "BiQ1zG_progressFillFail",
|
|
829
|
-
"queueRowTarget": "BiQ1zG_queueRowTarget",
|
|
830
|
-
"errorCopySoft": "BiQ1zG_errorCopySoft",
|
|
831
|
-
"toastIn": "BiQ1zG_toastIn",
|
|
832
|
-
"result": "BiQ1zG_result",
|
|
833
|
-
"noticeMain": "BiQ1zG_noticeMain",
|
|
834
|
-
"aboutContent": "BiQ1zG_aboutContent",
|
|
835
|
-
"confirmPrimary": "BiQ1zG_confirmPrimary",
|
|
836
|
-
"failKind": "BiQ1zG_failKind",
|
|
837
|
-
"failCopy": "BiQ1zG_failCopy",
|
|
838
|
-
"detailStatusText": "BiQ1zG_detailStatusText",
|
|
839
|
-
"overlay": "BiQ1zG_overlay",
|
|
840
|
-
"noticeRow": "BiQ1zG_noticeRow",
|
|
841
|
-
"queueRowDesc": "BiQ1zG_queueRowDesc",
|
|
842
|
-
"toastFail": "BiQ1zG_toastFail",
|
|
843
|
-
"detailLink": "BiQ1zG_detailLink",
|
|
844
|
-
"noticeList": "BiQ1zG_noticeList",
|
|
845
|
-
"failPrepareHint": "BiQ1zG_failPrepareHint",
|
|
846
|
-
"detailLabel": "BiQ1zG_detailLabel",
|
|
847
|
-
"progressText": "BiQ1zG_progressText",
|
|
848
|
-
"modalLink": "BiQ1zG_modalLink",
|
|
849
|
-
"uninstallConfirm": "BiQ1zG_uninstallConfirm",
|
|
850
|
-
"queueRowTrack": "BiQ1zG_queueRowTrack",
|
|
851
|
-
"detailPathBtn": "BiQ1zG_detailPathBtn",
|
|
852
|
-
"modalIn": "BiQ1zG_modalIn",
|
|
853
|
-
"failRow": "BiQ1zG_failRow",
|
|
854
|
-
"detailMono": "BiQ1zG_detailMono",
|
|
855
|
-
"detailStatusRunning": "BiQ1zG_detailStatusRunning",
|
|
856
|
-
"detailRow": "BiQ1zG_detailRow",
|
|
857
|
-
"modalRow": "BiQ1zG_modalRow",
|
|
858
|
-
"noticeRowOk": "BiQ1zG_noticeRowOk",
|
|
859
|
-
"detailPathActions": "BiQ1zG_detailPathActions",
|
|
862
|
+
"noticeTextOk": "BiQ1zG_noticeTextOk",
|
|
860
863
|
"detailPathText": "BiQ1zG_detailPathText",
|
|
861
|
-
"
|
|
864
|
+
"stripCancel": "BiQ1zG_stripCancel",
|
|
865
|
+
"detailValue": "BiQ1zG_detailValue",
|
|
862
866
|
"modalHead": "BiQ1zG_modalHead",
|
|
867
|
+
"overlay": "BiQ1zG_overlay",
|
|
863
868
|
"failedCopyHint": "BiQ1zG_failedCopyHint",
|
|
864
|
-
"
|
|
865
|
-
"
|
|
866
|
-
"
|
|
867
|
-
"
|
|
868
|
-
"
|
|
869
|
-
"
|
|
870
|
-
"
|
|
871
|
-
"
|
|
872
|
-
"
|
|
873
|
-
"
|
|
874
|
-
"
|
|
869
|
+
"modalDesc": "BiQ1zG_modalDesc",
|
|
870
|
+
"modalInstall": "BiQ1zG_modalInstall",
|
|
871
|
+
"toast": "BiQ1zG_toast",
|
|
872
|
+
"modalWide": "BiQ1zG_modalWide",
|
|
873
|
+
"toastIn": "BiQ1zG_toastIn",
|
|
874
|
+
"modalRow": "BiQ1zG_modalRow",
|
|
875
|
+
"queueRowStatus": "BiQ1zG_queueRowStatus",
|
|
876
|
+
"resultCheckIcon": "BiQ1zG_resultCheckIcon",
|
|
877
|
+
"restartLater": "BiQ1zG_restartLater",
|
|
878
|
+
"overlayIn": "BiQ1zG_overlayIn",
|
|
879
|
+
"progressFill": "BiQ1zG_progressFill",
|
|
880
|
+
"failList": "BiQ1zG_failList",
|
|
881
|
+
"failKindInstall": "BiQ1zG_failKindInstall",
|
|
882
|
+
"detailMono": "BiQ1zG_detailMono"
|
|
875
883
|
};
|
|
876
884
|
//#endregion
|
|
877
885
|
//#region src/client/logic/install-command.ts
|
|
@@ -941,7 +949,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
941
949
|
* tsdown 构建时用 define 把 __PLUGIN_VERSION__ 替换成 package.json 的版本号;
|
|
942
950
|
* node --test 直接 import 本模块时该标识符不存在,typeof 守卫兜底为空串。
|
|
943
951
|
*/
|
|
944
|
-
const PLUGIN_VERSION = "1.4.
|
|
952
|
+
const PLUGIN_VERSION = "1.4.7";
|
|
945
953
|
const CATEGORY_ORDER = [
|
|
946
954
|
"interface",
|
|
947
955
|
"session",
|
|
@@ -1578,7 +1586,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
1578
1586
|
*/
|
|
1579
1587
|
const hubHasUpdate = (() => {
|
|
1580
1588
|
if (!hubUpdateInfo) return false;
|
|
1581
|
-
if (hubUpdateInfo.version === "1.4.
|
|
1589
|
+
if (hubUpdateInfo.version === "1.4.7") return false;
|
|
1582
1590
|
const publishedAt = hubUpdateInfo.publishedAt;
|
|
1583
1591
|
if (publishedAt) {
|
|
1584
1592
|
const publishedMs = Date.parse(publishedAt);
|
|
@@ -1821,6 +1829,12 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
1821
1829
|
* (dsh-plugin-hub#50:Win 下 `swap: 拒绝访问。 (os error 5)` 漏判,被误报成插件侧安装失败并
|
|
1822
1830
|
* 自动提了 issue)→ 提示退出宿主/关杀软后重试,仍失败则检查只读属性并以管理员身份运行,
|
|
1823
1831
|
* 不引导提 Issue
|
|
1832
|
+
* - fsUnavailable:本机文件系统层面根本写不进去 —— 磁盘/分区空间耗尽(`ENOSPC` /
|
|
1833
|
+
* `no space left on device`,Windows 为 `os error 112`)、目标分卷或挂载点为只读
|
|
1834
|
+
* (`EROFS` / `read-only file system`,Windows 写保护为 `os error 19`)、进程可用的文件句柄
|
|
1835
|
+
* 被耗尽(`EMFILE` / `ENFILE` / `too many open files`)。这三类都在 pnpm 落盘阶段发生,
|
|
1836
|
+
* 与具体装哪个插件无关:空间不足、盘只读、句柄不够时,任何插件都装不进来,不是插件问题
|
|
1837
|
+
* → 提示按报错代码对号入座(清空间 / 换可写目录 / 重启宿主释放句柄),不引导提 Issue
|
|
1824
1838
|
* - network:安装前连通性预检拦截(服务端 `[network]` 标记)、底层连接失败
|
|
1825
1839
|
* (ERR_PNPM_GIT_FETCH_FAILED / ETIMEDOUT / DNS 解析 / TLS 握手 / 代理拒绝),或
|
|
1826
1840
|
* registry tarball 拉取失败(`fetch failed` / `GET …/-/…tgz error (n)` —— 常见于本机
|
|
@@ -1849,6 +1863,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
1849
1863
|
if (/ERR_PNPM_UNUSED_PATCH|patches were not used/i.test(message)) return "pnpmUnusedPatch";
|
|
1850
1864
|
if (/os error 32|EBUSY|resource busy or locked|being used by another process/i.test(message)) return "fileLocked";
|
|
1851
1865
|
if (/os error 5\b|ERROR_ACCESS_DENIED|\bEPERM\b|\bEACCES\b|access is denied/i.test(message)) return "accessDenied";
|
|
1866
|
+
if (/os error 112\b|os error 19\b|ERROR_DISK_FULL|ERROR_WRITE_PROTECT|\bENOSPC\b|\bEROFS\b|\bEMFILE\b|\bENFILE\b|no space left on device|read-only file system|too many open files/i.test(message)) return "fsUnavailable";
|
|
1852
1867
|
if (/ERR_PNPM_IGNORED_BUILDS|Ignored build scripts:|ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED/i.test(message)) return "pnpmIgnoredBuild";
|
|
1853
1868
|
if (/\[network\]|ERR_PNPM_GIT_FETCH_FAILED|ETIMEDOUT|ECONNREFUSED|ECONNRESET|ENOTFOUND|EAI_AGAIN|EPIPE|EHOSTUNREACH|ENETUNREACH|getaddrinfo|Could not connect|Could not resolve host|Network unreachable|Failed to connect|socket hang up|CERT_HAS_EXPIRED|SSL certificate problem|\bTLS\b|\bSSL\b|fetch failed|failed to fetch|\bGET https?:\/\/\S+\.tgz\s+error \(\d+\)/i.test(message)) return "network";
|
|
1854
1869
|
if (/\[packaging\]|entry file missing/i.test(message)) return "pluginPrepare";
|
|
@@ -1985,6 +2000,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
1985
2000
|
case "pnpmUnusedPatch": return "stale pnpm patch entry on the user machine";
|
|
1986
2001
|
case "fileLocked": return "file locked by another process on the user machine";
|
|
1987
2002
|
case "accessDenied": return "file write access denied on the user machine";
|
|
2003
|
+
case "fsUnavailable": return "local file system unavailable on the user machine";
|
|
1988
2004
|
case "pnpmIgnoredBuild": return "build scripts blocked by pnpm allowlist";
|
|
1989
2005
|
case "pluginPrepare": return "plugin distribution incomplete";
|
|
1990
2006
|
case "network": return "network failure on the user side";
|
|
@@ -2003,7 +2019,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
2003
2019
|
function pluginIssueUrl(repo, message, env, command, attempts) {
|
|
2004
2020
|
const kind = classifyFailure(message);
|
|
2005
2021
|
const title = `[dsh-plugin.org | dsh-plugin-hub] ${reasonTitleOf(kind)}: ${repo}`;
|
|
2006
|
-
const reason = /\[packaging\]/i.test(message) ? "plugin distribution is incomplete — the entry file declared in package.json is missing from the published package (github tarball or npm package); please commit build output or publish a complete package" : kind === "network" ? "network connectivity issue on the user side (DNS, proxy, firewall, or a blocked connection)" : kind === "pluginPrepare" ? "plugin prepare/build script failed during install (packaging/distribution issue)" : kind === "pnpmIgnoredBuild" ? "plugin depends on a native module whose build script pnpm blocks by default (use a prebuilt variant)" : kind === "pnpmPolicy" ? "the pnpm supply-chain policy on the user machine blocked the install (minimum release age for freshly published packages / untrusted origin)" : kind === "pnpmUnusedPatch" ? "the profile keeps a pnpm patch entry for an older dsh-plugin version, so pnpm aborted the install (local config issue)" : kind === "fileLocked" ? "a file in the profile is locked by another process on the user machine (local environment issue)" : kind === "accessDenied" ? "the system denied write access to a file in the profile on the user machine (local environment issue)" : "plugin-side install failure";
|
|
2022
|
+
const reason = /\[packaging\]/i.test(message) ? "plugin distribution is incomplete — the entry file declared in package.json is missing from the published package (github tarball or npm package); please commit build output or publish a complete package" : kind === "network" ? "network connectivity issue on the user side (DNS, proxy, firewall, or a blocked connection)" : kind === "pluginPrepare" ? "plugin prepare/build script failed during install (packaging/distribution issue)" : kind === "pnpmIgnoredBuild" ? "plugin depends on a native module whose build script pnpm blocks by default (use a prebuilt variant)" : kind === "pnpmPolicy" ? "the pnpm supply-chain policy on the user machine blocked the install (minimum release age for freshly published packages / untrusted origin)" : kind === "pnpmUnusedPatch" ? "the profile keeps a pnpm patch entry for an older dsh-plugin version, so pnpm aborted the install (local config issue)" : kind === "fileLocked" ? "a file in the profile is locked by another process on the user machine (local environment issue)" : kind === "accessDenied" ? "the system denied write access to a file in the profile on the user machine (local environment issue)" : kind === "fsUnavailable" ? "the local file system could not accept the write — no space left, read-only volume, or too many open file handles on the user machine (local environment issue)" : "plugin-side install failure";
|
|
2007
2023
|
const code = coreErrorCode(message);
|
|
2008
2024
|
const build = (coreChars) => {
|
|
2009
2025
|
const body = [
|
|
@@ -3386,7 +3402,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
3386
3402
|
}, repo) : null, (0, react.createElement)("button", {
|
|
3387
3403
|
className: Modal_module_css_default.errorCopySoft,
|
|
3388
3404
|
onClick: () => onCopy(copyText)
|
|
3389
|
-
}, t("errorCopy"))), (0, react.createElement)("pre", { className: Modal_module_css_default.errorBox }, message), failureKind === "npmTooOld" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t(npmVersion ? "failNpmTooLowV" : "failNpmTooLow", npmVersion ? { v: npmVersion } : void 0)) : failureKind === "dshMissing" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failDshMissingHint")) : failureKind === "gitMissing" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failGitMissingHint")) : failureKind === "pnpmMissing" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failPnpmMissingHint")) : failureKind === "npmMissing" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failNpmMissingHint")) : failureKind === "pnpmWorkspace" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failPnpmWorkspaceHint")) : failureKind === "pnpmStore" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failPnpmStoreHint")) : failureKind === "pnpmPolicy" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failPnpmPolicyHint")) : failureKind === "pnpmUnusedPatch" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failPnpmUnusedPatchHint")) : failureKind === "fileLocked" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failFileLockedHint")) : failureKind === "accessDenied" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failAccessDeniedHint")) : failureKind === "network" ? (0, react.createElement)("div", null, [
|
|
3405
|
+
}, t("errorCopy"))), (0, react.createElement)("pre", { className: Modal_module_css_default.errorBox }, message), failureKind === "npmTooOld" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t(npmVersion ? "failNpmTooLowV" : "failNpmTooLow", npmVersion ? { v: npmVersion } : void 0)) : failureKind === "dshMissing" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failDshMissingHint")) : failureKind === "gitMissing" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failGitMissingHint")) : failureKind === "pnpmMissing" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failPnpmMissingHint")) : failureKind === "npmMissing" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failNpmMissingHint")) : failureKind === "pnpmWorkspace" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failPnpmWorkspaceHint")) : failureKind === "pnpmStore" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failPnpmStoreHint")) : failureKind === "pnpmPolicy" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failPnpmPolicyHint")) : failureKind === "pnpmUnusedPatch" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failPnpmUnusedPatchHint")) : failureKind === "fileLocked" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failFileLockedHint")) : failureKind === "accessDenied" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failAccessDeniedHint")) : failureKind === "fsUnavailable" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failFsUnavailableHint")) : failureKind === "network" ? (0, react.createElement)("div", null, [
|
|
3390
3406
|
(() => {
|
|
3391
3407
|
const target = unreachableTargetOf(message);
|
|
3392
3408
|
return target ? (0, react.createElement)("div", { className: Modal_module_css_default.failNetworkTarget }, t("failNetworkTarget", { url: target })) : null;
|
|
@@ -3951,6 +3967,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
3951
3967
|
if (kind === "pnpmUnusedPatch") return (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failPnpmUnusedPatchHint"));
|
|
3952
3968
|
if (kind === "fileLocked") return (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failFileLockedHint"));
|
|
3953
3969
|
if (kind === "accessDenied") return (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failAccessDeniedHint"));
|
|
3970
|
+
if (kind === "fsUnavailable") return (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failFsUnavailableHint"));
|
|
3954
3971
|
if (kind === "network") return (0, react.createElement)("div", null, [
|
|
3955
3972
|
(() => {
|
|
3956
3973
|
const target = unreachableTargetOf(r.message);
|
|
@@ -4160,40 +4177,40 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
4160
4177
|
css: css$9
|
|
4161
4178
|
});
|
|
4162
4179
|
var List_module_css_default = {
|
|
4163
|
-
"
|
|
4164
|
-
"
|
|
4165
|
-
"
|
|
4166
|
-
"uninstallBtn": "_3XaZHa_uninstallBtn",
|
|
4167
|
-
"stateDesc": "_3XaZHa_stateDesc",
|
|
4168
|
-
"topics": "_3XaZHa_topics",
|
|
4169
|
-
"topic": "_3XaZHa_topic",
|
|
4170
|
-
"categoryBadge": "_3XaZHa_categoryBadge",
|
|
4171
|
-
"footLink": "_3XaZHa_footLink",
|
|
4180
|
+
"installBtnUpdate": "_3XaZHa_installBtnUpdate",
|
|
4181
|
+
"footer": "_3XaZHa_footer",
|
|
4182
|
+
"verified": "_3XaZHa_verified",
|
|
4172
4183
|
"installBtnCopied": "_3XaZHa_installBtnCopied",
|
|
4173
|
-
"
|
|
4174
|
-
"state": "_3XaZHa_state",
|
|
4175
|
-
"actions": "_3XaZHa_actions",
|
|
4176
|
-
"stats": "_3XaZHa_stats",
|
|
4177
|
-
"date": "_3XaZHa_date",
|
|
4184
|
+
"cardTitle": "_3XaZHa_cardTitle",
|
|
4178
4185
|
"cardSide": "_3XaZHa_cardSide",
|
|
4179
|
-
"
|
|
4186
|
+
"state": "_3XaZHa_state",
|
|
4180
4187
|
"diagBtn": "_3XaZHa_diagBtn",
|
|
4181
|
-
"
|
|
4188
|
+
"uninstallBtn": "_3XaZHa_uninstallBtn",
|
|
4189
|
+
"body": "_3XaZHa_body",
|
|
4190
|
+
"card": "_3XaZHa_card",
|
|
4191
|
+
"stats": "_3XaZHa_stats",
|
|
4192
|
+
"stateDesc": "_3XaZHa_stateDesc",
|
|
4193
|
+
"actions": "_3XaZHa_actions",
|
|
4182
4194
|
"installBtn": "_3XaZHa_installBtn",
|
|
4183
|
-
"
|
|
4184
|
-
"installBtnUpdate": "_3XaZHa_installBtnUpdate",
|
|
4185
|
-
"desc": "_3XaZHa_desc",
|
|
4186
|
-
"stateActions": "_3XaZHa_stateActions",
|
|
4195
|
+
"installBtnInstalled": "_3XaZHa_installBtnInstalled",
|
|
4187
4196
|
"retryBtn": "_3XaZHa_retryBtn",
|
|
4188
|
-
"
|
|
4189
|
-
"
|
|
4197
|
+
"topics": "_3XaZHa_topics",
|
|
4198
|
+
"list": "_3XaZHa_list",
|
|
4199
|
+
"cardMain": "_3XaZHa_cardMain",
|
|
4200
|
+
"stateActions": "_3XaZHa_stateActions",
|
|
4201
|
+
"updateBadge": "_3XaZHa_updateBadge",
|
|
4202
|
+
"moreSentinel": "_3XaZHa_moreSentinel",
|
|
4190
4203
|
"detailBtn": "_3XaZHa_detailBtn",
|
|
4191
4204
|
"star": "_3XaZHa_star",
|
|
4192
|
-
"
|
|
4205
|
+
"footLink": "_3XaZHa_footLink",
|
|
4206
|
+
"topic": "_3XaZHa_topic",
|
|
4207
|
+
"date": "_3XaZHa_date",
|
|
4193
4208
|
"cardHead": "_3XaZHa_cardHead",
|
|
4194
|
-
"
|
|
4195
|
-
"
|
|
4196
|
-
"
|
|
4209
|
+
"desc": "_3XaZHa_desc",
|
|
4210
|
+
"fork": "_3XaZHa_fork",
|
|
4211
|
+
"versionBadge": "_3XaZHa_versionBadge",
|
|
4212
|
+
"categoryBadge": "_3XaZHa_categoryBadge",
|
|
4213
|
+
"stateTitle": "_3XaZHa_stateTitle"
|
|
4197
4214
|
};
|
|
4198
4215
|
//#endregion
|
|
4199
4216
|
//#region src/client/hooks/useIncrementalList.ts
|
|
@@ -4400,15 +4417,15 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
4400
4417
|
css: css$8
|
|
4401
4418
|
});
|
|
4402
4419
|
var SectionTabs_module_css_default = {
|
|
4403
|
-
"
|
|
4420
|
+
"noticeBtn": "_7tvizq_noticeBtn",
|
|
4421
|
+
"tabCountActive": "_7tvizq_tabCountActive",
|
|
4404
4422
|
"noticeCount": "_7tvizq_noticeCount",
|
|
4423
|
+
"tabActive": "_7tvizq_tabActive",
|
|
4424
|
+
"tabIcon": "_7tvizq_tabIcon",
|
|
4425
|
+
"tab": "_7tvizq_tab",
|
|
4405
4426
|
"noticeIcon": "_7tvizq_noticeIcon",
|
|
4406
4427
|
"root": "_7tvizq_root",
|
|
4407
|
-
"
|
|
4408
|
-
"noticeBtn": "_7tvizq_noticeBtn",
|
|
4409
|
-
"tab": "_7tvizq_tab",
|
|
4410
|
-
"tabCount": "_7tvizq_tabCount",
|
|
4411
|
-
"tabIcon": "_7tvizq_tabIcon"
|
|
4428
|
+
"tabCount": "_7tvizq_tabCount"
|
|
4412
4429
|
};
|
|
4413
4430
|
//#endregion
|
|
4414
4431
|
//#region src/client/components/layout/SectionTabs.tsx
|
|
@@ -4485,42 +4502,42 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
4485
4502
|
css: css$7
|
|
4486
4503
|
});
|
|
4487
4504
|
var InstalledView_module_css_default = {
|
|
4488
|
-
"
|
|
4489
|
-
"
|
|
4490
|
-
"
|
|
4491
|
-
"rowSourceTag": "_1nXeGW_rowSourceTag",
|
|
4505
|
+
"rowDetail": "_1nXeGW_rowDetail",
|
|
4506
|
+
"rowUninstall": "_1nXeGW_rowUninstall",
|
|
4507
|
+
"rowMain": "_1nXeGW_rowMain",
|
|
4492
4508
|
"rowSourceTagManual": "_1nXeGW_rowSourceTagManual",
|
|
4493
|
-
"segBtnActive": "_1nXeGW_segBtnActive",
|
|
4494
|
-
"statusPending": "_1nXeGW_statusPending",
|
|
4495
|
-
"list": "_1nXeGW_list",
|
|
4496
|
-
"rowSourceTagHub": "_1nXeGW_rowSourceTagHub",
|
|
4497
4509
|
"rowDesc": "_1nXeGW_rowDesc",
|
|
4498
|
-
"
|
|
4499
|
-
"
|
|
4500
|
-
"
|
|
4501
|
-
"searchInput": "_1nXeGW_searchInput",
|
|
4502
|
-
"rowMain": "_1nXeGW_rowMain",
|
|
4503
|
-
"rowDetail": "_1nXeGW_rowDetail",
|
|
4510
|
+
"rowRepo": "_1nXeGW_rowRepo",
|
|
4511
|
+
"rowUpdate": "_1nXeGW_rowUpdate",
|
|
4512
|
+
"rowMeta": "_1nXeGW_rowMeta",
|
|
4504
4513
|
"toolbar": "_1nXeGW_toolbar",
|
|
4505
|
-
"
|
|
4506
|
-
"rowTitleLine": "_1nXeGW_rowTitleLine",
|
|
4514
|
+
"root": "_1nXeGW_root",
|
|
4507
4515
|
"empty": "_1nXeGW_empty",
|
|
4508
|
-
"
|
|
4509
|
-
"
|
|
4510
|
-
"
|
|
4511
|
-
"
|
|
4512
|
-
"exampleBadge": "_1nXeGW_exampleBadge",
|
|
4513
|
-
"segLabel": "_1nXeGW_segLabel",
|
|
4514
|
-
"updateBadge": "_1nXeGW_updateBadge",
|
|
4516
|
+
"statusPending": "_1nXeGW_statusPending",
|
|
4517
|
+
"statusInactive": "_1nXeGW_statusInactive",
|
|
4518
|
+
"versionBadge": "_1nXeGW_versionBadge",
|
|
4519
|
+
"segRow": "_1nXeGW_segRow",
|
|
4515
4520
|
"rowTitle": "_1nXeGW_rowTitle",
|
|
4516
|
-
"
|
|
4517
|
-
"
|
|
4521
|
+
"emptyTitle": "_1nXeGW_emptyTitle",
|
|
4522
|
+
"segLabel": "_1nXeGW_segLabel",
|
|
4523
|
+
"searchInput": "_1nXeGW_searchInput",
|
|
4518
4524
|
"segGroup": "_1nXeGW_segGroup",
|
|
4519
4525
|
"emptyDesc": "_1nXeGW_emptyDesc",
|
|
4520
|
-
"
|
|
4521
|
-
"
|
|
4522
|
-
"
|
|
4523
|
-
"
|
|
4526
|
+
"row": "_1nXeGW_row",
|
|
4527
|
+
"rowSourceTagHub": "_1nXeGW_rowSourceTagHub",
|
|
4528
|
+
"rowCategory": "_1nXeGW_rowCategory",
|
|
4529
|
+
"rowTitleLine": "_1nXeGW_rowTitleLine",
|
|
4530
|
+
"list": "_1nXeGW_list",
|
|
4531
|
+
"exampleBadge": "_1nXeGW_exampleBadge",
|
|
4532
|
+
"exampleRow": "_1nXeGW_exampleRow",
|
|
4533
|
+
"rowActions": "_1nXeGW_rowActions",
|
|
4534
|
+
"rowRestart": "_1nXeGW_rowRestart",
|
|
4535
|
+
"segBtnActive": "_1nXeGW_segBtnActive",
|
|
4536
|
+
"rowSourceTag": "_1nXeGW_rowSourceTag",
|
|
4537
|
+
"searchWrap": "_1nXeGW_searchWrap",
|
|
4538
|
+
"segBtn": "_1nXeGW_segBtn",
|
|
4539
|
+
"statusDot": "_1nXeGW_statusDot",
|
|
4540
|
+
"updateBadge": "_1nXeGW_updateBadge"
|
|
4524
4541
|
};
|
|
4525
4542
|
//#endregion
|
|
4526
4543
|
//#region src/client/components/views/InstalledView.tsx
|
|
@@ -4766,28 +4783,28 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
4766
4783
|
css: css$6
|
|
4767
4784
|
});
|
|
4768
4785
|
var CustomInstallView_module_css_default = {
|
|
4769
|
-
"
|
|
4770
|
-
"
|
|
4771
|
-
"
|
|
4772
|
-
"helpBody": "zISxCG_helpBody",
|
|
4773
|
-
"helpCmd": "zISxCG_helpCmd",
|
|
4774
|
-
"installHelpBtn": "zISxCG_installHelpBtn",
|
|
4786
|
+
"helpLine": "zISxCG_helpLine",
|
|
4787
|
+
"channelOff": "zISxCG_channelOff",
|
|
4788
|
+
"installError": "zISxCG_installError",
|
|
4775
4789
|
"channelOffBtn": "zISxCG_channelOffBtn",
|
|
4776
|
-
"desc": "zISxCG_desc",
|
|
4777
|
-
"installRow": "zISxCG_installRow",
|
|
4778
4790
|
"installCardDisabled": "zISxCG_installCardDisabled",
|
|
4791
|
+
"helpBody": "zISxCG_helpBody",
|
|
4792
|
+
"installInput": "zISxCG_installInput",
|
|
4779
4793
|
"root": "zISxCG_root",
|
|
4780
4794
|
"installInputError": "zISxCG_installInputError",
|
|
4781
|
-
"
|
|
4795
|
+
"helpNote": "zISxCG_helpNote",
|
|
4796
|
+
"helpCmd": "zISxCG_helpCmd",
|
|
4797
|
+
"installExample": "zISxCG_installExample",
|
|
4798
|
+
"installCards": "zISxCG_installCards",
|
|
4782
4799
|
"installCardHead": "zISxCG_installCardHead",
|
|
4800
|
+
"installLabel": "zISxCG_installLabel",
|
|
4783
4801
|
"installInsertBtn": "zISxCG_installInsertBtn",
|
|
4784
4802
|
"channelOffText": "zISxCG_channelOffText",
|
|
4785
|
-
"
|
|
4786
|
-
"
|
|
4787
|
-
"
|
|
4788
|
-
"
|
|
4789
|
-
"installCard": "zISxCG_installCard"
|
|
4790
|
-
"channelOff": "zISxCG_channelOff"
|
|
4803
|
+
"installHelpBtn": "zISxCG_installHelpBtn",
|
|
4804
|
+
"installBtn": "zISxCG_installBtn",
|
|
4805
|
+
"desc": "zISxCG_desc",
|
|
4806
|
+
"installRow": "zISxCG_installRow",
|
|
4807
|
+
"installCard": "zISxCG_installCard"
|
|
4791
4808
|
};
|
|
4792
4809
|
//#endregion
|
|
4793
4810
|
//#region src/client/components/views/CustomInstallView.tsx
|
|
@@ -5077,30 +5094,30 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
5077
5094
|
css: css$5
|
|
5078
5095
|
});
|
|
5079
5096
|
var SettingsView_module_css_default = {
|
|
5080
|
-
"proxyHintFail": "_506LLG_proxyHintFail",
|
|
5081
|
-
"settingTitle": "_506LLG_settingTitle",
|
|
5082
5097
|
"settingRowStack": "_506LLG_settingRowStack",
|
|
5083
|
-
"settingControl": "_506LLG_settingControl",
|
|
5084
5098
|
"controlDropdown": "_506LLG_controlDropdown",
|
|
5085
|
-
"
|
|
5086
|
-
"navItem": "_506LLG_navItem",
|
|
5099
|
+
"proxyControl": "_506LLG_proxyControl",
|
|
5087
5100
|
"settingLabel": "_506LLG_settingLabel",
|
|
5088
|
-
"
|
|
5089
|
-
"root": "_506LLG_root",
|
|
5090
|
-
"settingRow": "_506LLG_settingRow",
|
|
5091
|
-
"pageDesc": "_506LLG_pageDesc",
|
|
5101
|
+
"navItemActive": "_506LLG_navItemActive",
|
|
5092
5102
|
"navIcon": "_506LLG_navIcon",
|
|
5093
|
-
"
|
|
5103
|
+
"proxyHintOk": "_506LLG_proxyHintOk",
|
|
5104
|
+
"content": "_506LLG_content",
|
|
5094
5105
|
"settingControlStack": "_506LLG_settingControlStack",
|
|
5106
|
+
"card": "_506LLG_card",
|
|
5107
|
+
"pageDesc": "_506LLG_pageDesc",
|
|
5108
|
+
"settingRow": "_506LLG_settingRow",
|
|
5109
|
+
"textInput": "_506LLG_textInput",
|
|
5110
|
+
"settingDesc": "_506LLG_settingDesc",
|
|
5111
|
+
"root": "_506LLG_root",
|
|
5095
5112
|
"proxyHint": "_506LLG_proxyHint",
|
|
5113
|
+
"settingTitle": "_506LLG_settingTitle",
|
|
5096
5114
|
"pageTitle": "_506LLG_pageTitle",
|
|
5115
|
+
"settingControl": "_506LLG_settingControl",
|
|
5116
|
+
"pageHeader": "_506LLG_pageHeader",
|
|
5117
|
+
"proxyHintFail": "_506LLG_proxyHintFail",
|
|
5097
5118
|
"resetBtn": "_506LLG_resetBtn",
|
|
5098
|
-
"textInput": "_506LLG_textInput",
|
|
5099
|
-
"settingDesc": "_506LLG_settingDesc",
|
|
5100
|
-
"navItemActive": "_506LLG_navItemActive",
|
|
5101
|
-
"proxyControl": "_506LLG_proxyControl",
|
|
5102
5119
|
"sidebar": "_506LLG_sidebar",
|
|
5103
|
-
"
|
|
5120
|
+
"navItem": "_506LLG_navItem"
|
|
5104
5121
|
};
|
|
5105
5122
|
//#endregion
|
|
5106
5123
|
//#region \0dsh-css:src/client/styles/Dropdown.module.css.mjs
|
|
@@ -5119,18 +5136,18 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
5119
5136
|
css: css$4
|
|
5120
5137
|
});
|
|
5121
5138
|
var Dropdown_module_css_default = {
|
|
5139
|
+
"dropdownArrow": "B_Gxsq_dropdownArrow",
|
|
5122
5140
|
"dropdownBtn": "B_Gxsq_dropdownBtn",
|
|
5141
|
+
"dropdownArrowOpen": "B_Gxsq_dropdownArrowOpen",
|
|
5123
5142
|
"dropdownItem": "B_Gxsq_dropdownItem",
|
|
5124
|
-
"
|
|
5143
|
+
"dropdownPanel": "B_Gxsq_dropdownPanel",
|
|
5125
5144
|
"dropdownCount": "B_Gxsq_dropdownCount",
|
|
5126
|
-
"
|
|
5127
|
-
"
|
|
5145
|
+
"dropdownFill": "B_Gxsq_dropdownFill",
|
|
5146
|
+
"dropdownLabel": "B_Gxsq_dropdownLabel",
|
|
5128
5147
|
"dropdownItemLabel": "B_Gxsq_dropdownItemLabel",
|
|
5148
|
+
"dropdown": "B_Gxsq_dropdown",
|
|
5129
5149
|
"dropdownCountActive": "B_Gxsq_dropdownCountActive",
|
|
5130
|
-
"
|
|
5131
|
-
"dropdownPanel": "B_Gxsq_dropdownPanel",
|
|
5132
|
-
"dropdownFill": "B_Gxsq_dropdownFill",
|
|
5133
|
-
"dropdownArrow": "B_Gxsq_dropdownArrow"
|
|
5150
|
+
"dropdownItemActive": "B_Gxsq_dropdownItemActive"
|
|
5134
5151
|
};
|
|
5135
5152
|
//#endregion
|
|
5136
5153
|
//#region \0dsh-css:src/client/styles/Toggle.module.css.mjs
|
|
@@ -5251,29 +5268,29 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
5251
5268
|
css: css$2
|
|
5252
5269
|
});
|
|
5253
5270
|
var DiagnosticsView_module_css_default = {
|
|
5254
|
-
"name": "k9eRya_name",
|
|
5255
|
-
"badgeOk": "k9eRya_badgeOk",
|
|
5256
|
-
"head": "k9eRya_head",
|
|
5257
|
-
"diagPulse": "k9eRya_diagPulse",
|
|
5258
|
-
"summaryOk": "k9eRya_summaryOk",
|
|
5259
|
-
"envCopyBtn": "k9eRya_envCopyBtn",
|
|
5260
|
-
"headHint": "k9eRya_headHint",
|
|
5261
|
-
"runBtn": "k9eRya_runBtn",
|
|
5262
5271
|
"envRow": "k9eRya_envRow",
|
|
5263
5272
|
"panel": "k9eRya_panel",
|
|
5264
|
-
"
|
|
5265
|
-
"badgeFail": "k9eRya_badgeFail",
|
|
5273
|
+
"badgeRunning": "k9eRya_badgeRunning",
|
|
5266
5274
|
"display": "k9eRya_display",
|
|
5275
|
+
"envCopyBtn": "k9eRya_envCopyBtn",
|
|
5276
|
+
"badge": "k9eRya_badge",
|
|
5277
|
+
"badgeFail": "k9eRya_badgeFail",
|
|
5267
5278
|
"badgeIdle": "k9eRya_badgeIdle",
|
|
5268
|
-
"envTitle": "k9eRya_envTitle",
|
|
5269
|
-
"badgeRunning": "k9eRya_badgeRunning",
|
|
5270
|
-
"row": "k9eRya_row",
|
|
5271
5279
|
"envLabel": "k9eRya_envLabel",
|
|
5272
|
-
"
|
|
5280
|
+
"head": "k9eRya_head",
|
|
5281
|
+
"envDesc": "k9eRya_envDesc",
|
|
5282
|
+
"name": "k9eRya_name",
|
|
5283
|
+
"badgeOk": "k9eRya_badgeOk",
|
|
5273
5284
|
"summary": "k9eRya_summary",
|
|
5274
5285
|
"summaryRunning": "k9eRya_summaryRunning",
|
|
5275
|
-
"
|
|
5276
|
-
"
|
|
5286
|
+
"diagPulse": "k9eRya_diagPulse",
|
|
5287
|
+
"envTitle": "k9eRya_envTitle",
|
|
5288
|
+
"headHint": "k9eRya_headHint",
|
|
5289
|
+
"runBtn": "k9eRya_runBtn",
|
|
5290
|
+
"meta": "k9eRya_meta",
|
|
5291
|
+
"summaryFail": "k9eRya_summaryFail",
|
|
5292
|
+
"row": "k9eRya_row",
|
|
5293
|
+
"summaryOk": "k9eRya_summaryOk"
|
|
5277
5294
|
};
|
|
5278
5295
|
//#endregion
|
|
5279
5296
|
//#region src/client/components/views/DiagnosticsView.tsx
|
|
@@ -5355,7 +5372,8 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
5355
5372
|
patchRows(key, {
|
|
5356
5373
|
status: "running",
|
|
5357
5374
|
ms: null,
|
|
5358
|
-
statusCode: null
|
|
5375
|
+
statusCode: null,
|
|
5376
|
+
reason: null
|
|
5359
5377
|
});
|
|
5360
5378
|
(async () => {
|
|
5361
5379
|
try {
|
|
@@ -5384,7 +5402,8 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
5384
5402
|
status: ev.type === "ok" ? "ok" : "fail",
|
|
5385
5403
|
ms: typeof ev.ms === "number" ? ev.ms : null,
|
|
5386
5404
|
statusCode: typeof ev.status === "number" ? ev.status : null,
|
|
5387
|
-
display: typeof ev.display === "string" ? ev.display : ""
|
|
5405
|
+
display: typeof ev.display === "string" ? ev.display : "",
|
|
5406
|
+
reason: typeof ev.reason === "string" ? ev.reason : null
|
|
5388
5407
|
});
|
|
5389
5408
|
}
|
|
5390
5409
|
nl = buf.indexOf("\n");
|
|
@@ -5420,14 +5439,15 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
5420
5439
|
disabled: anyRunning,
|
|
5421
5440
|
onClick: () => run()
|
|
5422
5441
|
}, t("diagRunAll"))), rows.map((r) => {
|
|
5423
|
-
const
|
|
5442
|
+
const revokeBlocked = r.status === "fail" && r.reason === "tlsRevocation";
|
|
5443
|
+
const badge = r.status === "running" ? (0, react.createElement)("span", { className: `${DiagnosticsView_module_css_default.badge} ${DiagnosticsView_module_css_default.badgeRunning}` }, t("diagChecking")) : r.status === "ok" ? (0, react.createElement)("span", { className: `${DiagnosticsView_module_css_default.badge} ${DiagnosticsView_module_css_default.badgeOk}` }, r.statusCode !== null ? `HTTP ${r.statusCode} ${t("diagOk")}` : t("diagOk")) : r.status === "fail" ? (0, react.createElement)("span", { className: `${DiagnosticsView_module_css_default.badge} ${DiagnosticsView_module_css_default.badgeFail}` }, revokeBlocked ? t("diagFailRevocation") : t("settingsDiagFail")) : (0, react.createElement)("span", { className: `${DiagnosticsView_module_css_default.badge} ${DiagnosticsView_module_css_default.badgeIdle}` }, t("diagIdle"));
|
|
5424
5444
|
return (0, react.createElement)("button", {
|
|
5425
5445
|
key: r.key,
|
|
5426
5446
|
type: "button",
|
|
5427
5447
|
className: DiagnosticsView_module_css_default.row,
|
|
5428
5448
|
disabled: r.status === "running",
|
|
5429
5449
|
onClick: () => run(r.key),
|
|
5430
|
-
title: t("diagRecheck")
|
|
5450
|
+
title: revokeBlocked ? t("diagFailRevocationHint") : t("diagRecheck")
|
|
5431
5451
|
}, (0, react.createElement)("span", { className: DiagnosticsView_module_css_default.name }, t(r.nameKey)), (0, react.createElement)("span", { className: DiagnosticsView_module_css_default.display }, r.key === "catalog" ? t("diagCatalogTarget") : r.display !== "" ? r.display : t("diagNpmUnset")), (0, react.createElement)("span", { className: DiagnosticsView_module_css_default.meta }, r.status === "ok" && r.ms !== null ? `${r.ms} ms` : ""), badge);
|
|
5432
5452
|
}), (0, react.createElement)("div", { className: `${DiagnosticsView_module_css_default.summary} ${anyRunning ? DiagnosticsView_module_css_default.summaryRunning : allOk ? DiagnosticsView_module_css_default.summaryOk : DiagnosticsView_module_css_default.summaryFail}` }, anyRunning ? t("diagSummaryRunning") : allOk ? t("diagSummaryOk") : t("diagSummaryFail")));
|
|
5433
5453
|
}
|
|
@@ -5448,57 +5468,57 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
5448
5468
|
css: css$1
|
|
5449
5469
|
});
|
|
5450
5470
|
var LogsView_module_css_default = {
|
|
5451
|
-
"badgeSuccess": "_3j77BW_badgeSuccess",
|
|
5452
|
-
"catUpdate": "_3j77BW_catUpdate",
|
|
5453
|
-
"catSettings": "_3j77BW_catSettings",
|
|
5454
|
-
"btn": "_3j77BW_btn",
|
|
5455
|
-
"message": "_3j77BW_message",
|
|
5456
|
-
"pathDialog": "_3j77BW_pathDialog",
|
|
5457
|
-
"clearBtn": "_3j77BW_clearBtn",
|
|
5458
|
-
"time": "_3j77BW_time",
|
|
5459
|
-
"pathDialogHint": "_3j77BW_pathDialogHint",
|
|
5460
|
-
"badgeWarn": "_3j77BW_badgeWarn",
|
|
5461
|
-
"empty": "_3j77BW_empty",
|
|
5462
5471
|
"previewRow": "_3j77BW_previewRow",
|
|
5463
|
-
"
|
|
5472
|
+
"time": "_3j77BW_time",
|
|
5473
|
+
"pathDialogRow": "_3j77BW_pathDialogRow",
|
|
5474
|
+
"pathRow": "_3j77BW_pathRow",
|
|
5475
|
+
"pathDraft": "_3j77BW_pathDraft",
|
|
5476
|
+
"foot": "_3j77BW_foot",
|
|
5477
|
+
"footCount": "_3j77BW_footCount",
|
|
5478
|
+
"catBadge": "_3j77BW_catBadge",
|
|
5479
|
+
"catInstall": "_3j77BW_catInstall",
|
|
5480
|
+
"catSystem": "_3j77BW_catSystem",
|
|
5464
5481
|
"linkBtn": "_3j77BW_linkBtn",
|
|
5465
|
-
"
|
|
5466
|
-
"
|
|
5482
|
+
"headActions": "_3j77BW_headActions",
|
|
5483
|
+
"head": "_3j77BW_head",
|
|
5484
|
+
"message": "_3j77BW_message",
|
|
5485
|
+
"pathDialogHint": "_3j77BW_pathDialogHint",
|
|
5486
|
+
"filterChip": "_3j77BW_filterChip",
|
|
5487
|
+
"badgeInfo": "_3j77BW_badgeInfo",
|
|
5488
|
+
"pathDialogFoot": "_3j77BW_pathDialogFoot",
|
|
5467
5489
|
"badgeDebug": "_3j77BW_badgeDebug",
|
|
5468
|
-
"
|
|
5490
|
+
"badge": "_3j77BW_badge",
|
|
5491
|
+
"catUpdate": "_3j77BW_catUpdate",
|
|
5492
|
+
"pathText": "_3j77BW_pathText",
|
|
5493
|
+
"entry": "_3j77BW_entry",
|
|
5469
5494
|
"headHint": "_3j77BW_headHint",
|
|
5495
|
+
"filterBar": "_3j77BW_filterBar",
|
|
5496
|
+
"list": "_3j77BW_list",
|
|
5497
|
+
"filterChipActive": "_3j77BW_filterChipActive",
|
|
5498
|
+
"badgeWarn": "_3j77BW_badgeWarn",
|
|
5499
|
+
"badgeError": "_3j77BW_badgeError",
|
|
5500
|
+
"clearBtn": "_3j77BW_clearBtn",
|
|
5501
|
+
"search": "_3j77BW_search",
|
|
5470
5502
|
"footActions": "_3j77BW_footActions",
|
|
5471
|
-
"
|
|
5503
|
+
"badgeSuccess": "_3j77BW_badgeSuccess",
|
|
5472
5504
|
"logList": "_3j77BW_logList",
|
|
5473
5505
|
"pathLabel": "_3j77BW_pathLabel",
|
|
5474
|
-
"foot": "_3j77BW_foot",
|
|
5475
|
-
"footPath": "_3j77BW_footPath",
|
|
5476
5506
|
"catUninstall": "_3j77BW_catUninstall",
|
|
5477
|
-
"
|
|
5478
|
-
"
|
|
5507
|
+
"more": "_3j77BW_more",
|
|
5508
|
+
"pathDialog": "_3j77BW_pathDialog",
|
|
5479
5509
|
"moreEnd": "_3j77BW_moreEnd",
|
|
5480
|
-
"
|
|
5481
|
-
"
|
|
5482
|
-
"pathDialogFoot": "_3j77BW_pathDialogFoot",
|
|
5483
|
-
"footCount": "_3j77BW_footCount",
|
|
5484
|
-
"badgeInfo": "_3j77BW_badgeInfo",
|
|
5485
|
-
"pathDialogRow": "_3j77BW_pathDialogRow",
|
|
5510
|
+
"btn": "_3j77BW_btn",
|
|
5511
|
+
"pathDialogDesc": "_3j77BW_pathDialogDesc",
|
|
5486
5512
|
"footFail": "_3j77BW_footFail",
|
|
5487
5513
|
"pathDialogReset": "_3j77BW_pathDialogReset",
|
|
5488
|
-
"pathDraft": "_3j77BW_pathDraft",
|
|
5489
|
-
"pathText": "_3j77BW_pathText",
|
|
5490
|
-
"filterChip": "_3j77BW_filterChip",
|
|
5491
|
-
"badgeError": "_3j77BW_badgeError",
|
|
5492
|
-
"catInstall": "_3j77BW_catInstall",
|
|
5493
|
-
"badge": "_3j77BW_badge",
|
|
5494
|
-
"list": "_3j77BW_list",
|
|
5495
|
-
"pathRow": "_3j77BW_pathRow",
|
|
5496
5514
|
"catDiagnostics": "_3j77BW_catDiagnostics",
|
|
5497
|
-
"pathDialogDesc": "_3j77BW_pathDialogDesc",
|
|
5498
|
-
"event": "_3j77BW_event",
|
|
5499
5515
|
"searchInput": "_3j77BW_searchInput",
|
|
5500
|
-
"
|
|
5501
|
-
"
|
|
5516
|
+
"catSettings": "_3j77BW_catSettings",
|
|
5517
|
+
"empty": "_3j77BW_empty",
|
|
5518
|
+
"panel": "_3j77BW_panel",
|
|
5519
|
+
"footPath": "_3j77BW_footPath",
|
|
5520
|
+
"actions": "_3j77BW_actions",
|
|
5521
|
+
"event": "_3j77BW_event"
|
|
5502
5522
|
};
|
|
5503
5523
|
//#endregion
|
|
5504
5524
|
//#region src/client/components/modals/LogsModal.tsx
|
|
@@ -6136,6 +6156,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
6136
6156
|
onConsumedOpenSection?.();
|
|
6137
6157
|
}, [openSection, onConsumedOpenSection]);
|
|
6138
6158
|
const [proxyProbe, setProxyProbe] = (0, react.useState)("idle");
|
|
6159
|
+
const [proxyProbeReason, setProxyProbeReason] = (0, react.useState)(null);
|
|
6139
6160
|
const proxyProbeTimer = (0, react.useRef)(null);
|
|
6140
6161
|
const proxyProbeSeq = (0, react.useRef)(0);
|
|
6141
6162
|
(0, react.useEffect)(() => () => {
|
|
@@ -6143,16 +6164,21 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
6143
6164
|
proxyProbeSeq.current += 1;
|
|
6144
6165
|
}, []);
|
|
6145
6166
|
(0, react.useEffect)(() => {
|
|
6146
|
-
if (settings.proxy === "")
|
|
6167
|
+
if (settings.proxy === "") {
|
|
6168
|
+
setProxyProbe("idle");
|
|
6169
|
+
setProxyProbeReason(null);
|
|
6170
|
+
}
|
|
6147
6171
|
}, [settings.proxy]);
|
|
6148
6172
|
const probeProxyNow = (value) => {
|
|
6149
6173
|
const v = value.trim();
|
|
6150
6174
|
if (v === "") {
|
|
6151
6175
|
setProxyProbe("idle");
|
|
6176
|
+
setProxyProbeReason(null);
|
|
6152
6177
|
return;
|
|
6153
6178
|
}
|
|
6154
6179
|
const seq = ++proxyProbeSeq.current;
|
|
6155
6180
|
setProxyProbe("checking");
|
|
6181
|
+
setProxyProbeReason(null);
|
|
6156
6182
|
fetch("/dsh-plugin-hub/proxy-check", {
|
|
6157
6183
|
method: "POST",
|
|
6158
6184
|
headers: { "content-type": "application/json" },
|
|
@@ -6161,8 +6187,11 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
6161
6187
|
}).then((res) => res.json()).then((data) => {
|
|
6162
6188
|
if (seq !== proxyProbeSeq.current) return;
|
|
6163
6189
|
setProxyProbe(data.ok ? "ok" : "fail");
|
|
6190
|
+
setProxyProbeReason(typeof data.reason === "string" ? data.reason : null);
|
|
6164
6191
|
}).catch(() => {
|
|
6165
|
-
if (seq
|
|
6192
|
+
if (seq !== proxyProbeSeq.current) return;
|
|
6193
|
+
setProxyProbe("fail");
|
|
6194
|
+
setProxyProbeReason(null);
|
|
6166
6195
|
});
|
|
6167
6196
|
};
|
|
6168
6197
|
const onProxyChange = (e) => {
|
|
@@ -6214,7 +6243,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
6214
6243
|
placeholder: "http://127.0.0.1:7890",
|
|
6215
6244
|
spellCheck: false,
|
|
6216
6245
|
onChange: onProxyChange
|
|
6217
|
-
}), proxyProbe === "checking" ? (0, react.createElement)("div", { className: SettingsView_module_css_default.proxyHint }, t("proxyCheckChecking")) : proxyProbe === "ok" ? (0, react.createElement)("div", { className: `${SettingsView_module_css_default.proxyHint} ${SettingsView_module_css_default.proxyHintOk}` }, t("proxyCheckOk")) : proxyProbe === "fail" ? (0, react.createElement)("div", { className: `${SettingsView_module_css_default.proxyHint} ${SettingsView_module_css_default.proxyHintFail}` }, t("proxyCheckFail")) : null)
|
|
6246
|
+
}), proxyProbe === "checking" ? (0, react.createElement)("div", { className: SettingsView_module_css_default.proxyHint }, t("proxyCheckChecking")) : proxyProbe === "ok" ? (0, react.createElement)("div", { className: `${SettingsView_module_css_default.proxyHint} ${SettingsView_module_css_default.proxyHintOk}` }, t("proxyCheckOk")) : proxyProbe === "fail" ? (0, react.createElement)("div", { className: `${SettingsView_module_css_default.proxyHint} ${SettingsView_module_css_default.proxyHintFail}` }, proxyProbeReason === "tlsRevocation" ? t("proxyCheckRevocation") : t("proxyCheckFail")) : null)
|
|
6218
6247
|
}));
|
|
6219
6248
|
const securityCard = (0, react.createElement)("div", { className: SettingsView_module_css_default.card }, (0, react.createElement)(SettingRow, {
|
|
6220
6249
|
title: t("settingsEnableNpm"),
|
|
@@ -6738,7 +6767,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
6738
6767
|
openSection: settingsSection,
|
|
6739
6768
|
onConsumedOpenSection: () => setSettingsSection(null)
|
|
6740
6769
|
}), showHubUpdate && (0, react.createElement)(HubUpdateModal, {
|
|
6741
|
-
info: catalog.hubUpdateInfo ?? { version: "1.4.
|
|
6770
|
+
info: catalog.hubUpdateInfo ?? { version: "1.4.7" },
|
|
6742
6771
|
lang,
|
|
6743
6772
|
t,
|
|
6744
6773
|
hasUpdate: catalog.hubHasUpdate,
|