dsh-zen-remote 2.3.10 → 2.4.0
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 +44 -72
- package/README.md +94 -84
- package/README.zh-CN.md +90 -81
- package/bin/zen-remote.mjs +5 -0
- package/docs/interface.md +6 -6
- package/docs/remote-access.en.md +6 -4
- package/docs/remote-access.md +6 -4
- package/dsh-push.mjs +96 -10
- package/lib/adapters/dsh-better-sidebar/index.js +7 -3
- package/lib/adapters/dsh-better-sidebar/index.js.map +1 -1
- package/lib/admin-routes.js +10 -2
- package/lib/admin-routes.js.map +1 -1
- package/lib/cli/args.js +251 -0
- package/lib/cli/args.js.map +1 -0
- package/lib/cli/bootstrap.js +449 -0
- package/lib/cli/bootstrap.js.map +1 -0
- package/lib/cli/command-setup.js +484 -0
- package/lib/cli/command-setup.js.map +1 -0
- package/lib/cli/commands-client.js +359 -0
- package/lib/cli/commands-client.js.map +1 -0
- package/lib/cli/commands-host.js +1108 -0
- package/lib/cli/commands-host.js.map +1 -0
- package/lib/cli/commands-status.js +279 -0
- package/lib/cli/commands-status.js.map +1 -0
- package/lib/cli/config-writer.js +334 -0
- package/lib/cli/config-writer.js.map +1 -0
- package/lib/cli/context.js +10 -0
- package/lib/cli/context.js.map +1 -0
- package/lib/cli/i18n.js +620 -0
- package/lib/cli/i18n.js.map +1 -0
- package/lib/cli/ipc-client.js +160 -0
- package/lib/cli/ipc-client.js.map +1 -0
- package/lib/cli/ipc-server.js +464 -0
- package/lib/cli/ipc-server.js.map +1 -0
- package/lib/cli/main.js +245 -0
- package/lib/cli/main.js.map +1 -0
- package/lib/cli/qr-terminal.js +48 -0
- package/lib/cli/qr-terminal.js.map +1 -0
- package/lib/client-data/qr.js +286 -0
- package/lib/client-data/qr.js.map +1 -0
- package/lib/client-routes.js +308 -25
- package/lib/client-routes.js.map +1 -1
- package/lib/client.js +1013 -229
- package/lib/config.js +50 -12
- package/lib/config.js.map +1 -1
- package/lib/debug-report.js +28 -1
- package/lib/debug-report.js.map +1 -1
- package/lib/fetch-route-intercept.js +334 -26
- package/lib/fetch-route-intercept.js.map +1 -1
- package/lib/index.js +573 -366
- package/lib/index.js.map +1 -1
- package/lib/intercept.js +1833 -280
- package/lib/intercept.js.map +1 -1
- package/lib/lan-gate-server.cjs +36 -10
- package/lib/merge-streams.js +103 -11
- package/lib/merge-streams.js.map +1 -1
- package/lib/plugin-route-intercept.js +93 -63
- package/lib/plugin-route-intercept.js.map +1 -1
- package/lib/relay-access.js +8 -1
- package/lib/relay-access.js.map +1 -1
- package/lib/relay-client.js +133 -4
- package/lib/relay-client.js.map +1 -1
- package/lib/relay-pool.js +275 -0
- package/lib/relay-pool.js.map +1 -0
- package/lib/relay-server.js +269 -17
- package/lib/relay-server.js.map +1 -1
- package/lib/restart-fields.js +6 -4
- package/lib/restart-fields.js.map +1 -1
- package/lib/share-store.js +65 -27
- package/lib/share-store.js.map +1 -1
- package/lib/state-store.js +400 -0
- package/lib/state-store.js.map +1 -0
- package/lib/types/adapters/dsh-better-sidebar/index.d.ts +3 -2
- package/lib/types/adapters/dsh-better-sidebar/index.d.ts.map +1 -1
- package/lib/types/admin-routes.d.ts.map +1 -1
- package/lib/types/cli/args.d.ts +78 -0
- package/lib/types/cli/args.d.ts.map +1 -0
- package/lib/types/cli/bootstrap.d.ts +170 -0
- package/lib/types/cli/bootstrap.d.ts.map +1 -0
- package/lib/types/cli/command-setup.d.ts +72 -0
- package/lib/types/cli/command-setup.d.ts.map +1 -0
- package/lib/types/cli/commands-client.d.ts +36 -0
- package/lib/types/cli/commands-client.d.ts.map +1 -0
- package/lib/types/cli/commands-host.d.ts +82 -0
- package/lib/types/cli/commands-host.d.ts.map +1 -0
- package/lib/types/cli/commands-status.d.ts +46 -0
- package/lib/types/cli/commands-status.d.ts.map +1 -0
- package/lib/types/cli/config-writer.d.ts +92 -0
- package/lib/types/cli/config-writer.d.ts.map +1 -0
- package/lib/types/cli/context.d.ts +39 -0
- package/lib/types/cli/context.d.ts.map +1 -0
- package/lib/types/cli/i18n.d.ts +32 -0
- package/lib/types/cli/i18n.d.ts.map +1 -0
- package/lib/types/cli/ipc-client.d.ts +83 -0
- package/lib/types/cli/ipc-client.d.ts.map +1 -0
- package/lib/types/cli/ipc-server.d.ts +113 -0
- package/lib/types/cli/ipc-server.d.ts.map +1 -0
- package/lib/types/cli/main.d.ts +57 -0
- package/lib/types/cli/main.d.ts.map +1 -0
- package/lib/types/cli/qr-terminal.d.ts +17 -0
- package/lib/types/cli/qr-terminal.d.ts.map +1 -0
- package/lib/types/client/RemoteStatusIcon.d.ts.map +1 -1
- package/lib/types/client/current-session-report.d.ts +4 -0
- package/lib/types/client/current-session-report.d.ts.map +1 -1
- package/lib/types/client/effects/model-group-side.d.ts.map +1 -1
- package/lib/types/client/effects/remote-session.d.ts.map +1 -1
- package/lib/types/client/locales.d.ts +47 -3
- package/lib/types/client/locales.d.ts.map +1 -1
- package/lib/types/client/settings/SettingsSection.d.ts.map +1 -1
- package/lib/types/client/settings/settings-css.d.ts +1 -1
- package/lib/types/client/settings/settings-css.d.ts.map +1 -1
- package/lib/types/client/styles/remote-session.css.d.ts +1 -1
- package/lib/types/client/styles/remote-session.css.d.ts.map +1 -1
- package/lib/types/client/wizard/GatewayWizard.d.ts.map +1 -1
- package/lib/types/client/wizard/cards/ProxyCard.d.ts.map +1 -1
- package/lib/types/client/wizard/wizard-css.d.ts +1 -1
- package/lib/types/client/wizard/wizard-css.d.ts.map +1 -1
- package/lib/types/client-data/model-group-side.d.ts +23 -2
- package/lib/types/client-data/model-group-side.d.ts.map +1 -1
- package/lib/types/client-data/remote-status.d.ts +47 -1
- package/lib/types/client-data/remote-status.d.ts.map +1 -1
- package/lib/types/client-data/settings-form.d.ts +85 -1
- package/lib/types/client-data/settings-form.d.ts.map +1 -1
- package/lib/types/client-data/wizard.d.ts +56 -1
- package/lib/types/client-data/wizard.d.ts.map +1 -1
- package/lib/types/client-routes.d.ts +25 -1
- package/lib/types/client-routes.d.ts.map +1 -1
- package/lib/types/config.d.ts +40 -14
- package/lib/types/config.d.ts.map +1 -1
- package/lib/types/debug-report.d.ts.map +1 -1
- package/lib/types/fetch-route-intercept.d.ts +66 -8
- package/lib/types/fetch-route-intercept.d.ts.map +1 -1
- package/lib/types/index.d.ts +9 -2
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/intercept.d.ts +72 -10
- package/lib/types/intercept.d.ts.map +1 -1
- package/lib/types/merge-streams.d.ts +79 -1
- package/lib/types/merge-streams.d.ts.map +1 -1
- package/lib/types/plugin-route-intercept.d.ts +25 -9
- package/lib/types/plugin-route-intercept.d.ts.map +1 -1
- package/lib/types/relay-access.d.ts +3 -1
- package/lib/types/relay-access.d.ts.map +1 -1
- package/lib/types/relay-client.d.ts +23 -2
- package/lib/types/relay-client.d.ts.map +1 -1
- package/lib/types/relay-pool.d.ts +148 -0
- package/lib/types/relay-pool.d.ts.map +1 -0
- package/lib/types/relay-server.d.ts +30 -3
- package/lib/types/relay-server.d.ts.map +1 -1
- package/lib/types/restart-fields.d.ts +5 -5
- package/lib/types/restart-fields.d.ts.map +1 -1
- package/lib/types/share-store.d.ts.map +1 -1
- package/lib/types/state-store.d.ts +179 -0
- package/lib/types/state-store.d.ts.map +1 -0
- package/lib/types/upload-limits.d.ts +15 -0
- package/lib/types/upload-limits.d.ts.map +1 -1
- package/lib/types/virtual-id.d.ts +21 -0
- package/lib/types/virtual-id.d.ts.map +1 -1
- package/lib/types/wizard/probe.d.ts.map +1 -1
- package/lib/types/wizard/proxy-snippets.d.ts +3 -0
- package/lib/types/wizard/proxy-snippets.d.ts.map +1 -1
- package/lib/types/wizard/routes.d.ts +1 -0
- package/lib/types/wizard/routes.d.ts.map +1 -1
- package/lib/types/wizard/status.d.ts +9 -0
- package/lib/types/wizard/status.d.ts.map +1 -1
- package/lib/types/wizard/verify.d.ts +3 -0
- package/lib/types/wizard/verify.d.ts.map +1 -1
- package/lib/upload-limits.js +15 -0
- package/lib/upload-limits.js.map +1 -1
- package/lib/virtual-id.js +60 -0
- package/lib/virtual-id.js.map +1 -1
- package/lib/wizard/probe.js +46 -1
- package/lib/wizard/probe.js.map +1 -1
- package/lib/wizard/proxy-snippets.js +14 -1
- package/lib/wizard/proxy-snippets.js.map +1 -1
- package/lib/wizard/routes.js +23 -4
- package/lib/wizard/routes.js.map +1 -1
- package/lib/wizard/status.js +21 -0
- package/lib/wizard/status.js.map +1 -1
- package/lib/wizard/verify.js +31 -8
- package/lib/wizard/verify.js.map +1 -1
- package/package.json +8 -4
- package/pwa/icons/badge-96.png +0 -0
- package/pwa/icons/badge.svg +1 -0
- package/pwa/manifest.json +2 -1
- package/pwa/sw.js +3 -1
- package/scripts/check-debug-report.mjs +41 -1
- package/scripts/check-settings-form.mjs +14 -3
- package/scripts/check-settings-view.mjs +247 -0
- package/scripts/check-wizard-ui.mjs +37 -0
- package/src/adapters/dsh-better-sidebar/index.ts +7 -3
- package/src/admin-routes.ts +10 -2
- package/src/cli/args.ts +289 -0
- package/src/cli/bootstrap.ts +569 -0
- package/src/cli/command-setup.ts +540 -0
- package/src/cli/commands-client.ts +369 -0
- package/src/cli/commands-host.ts +1127 -0
- package/src/cli/commands-status.ts +296 -0
- package/src/cli/config-writer.ts +354 -0
- package/src/cli/context.ts +38 -0
- package/src/cli/i18n.ts +645 -0
- package/src/cli/ipc-client.ts +216 -0
- package/src/cli/ipc-server.ts +531 -0
- package/src/cli/main.ts +285 -0
- package/src/cli/qr-terminal.ts +49 -0
- package/src/client/RemoteStatusIcon.tsx +4 -1
- package/src/client/current-session-report.ts +28 -4
- package/src/client/effects/model-group-side.ts +19 -5
- package/src/client/effects/remote-session.ts +26 -6
- package/src/client/locales.ts +96 -6
- package/src/client/settings/SettingsSection.tsx +287 -92
- package/src/client/settings/settings-css.ts +18 -0
- package/src/client/styles/remote-session.css.ts +15 -1
- package/src/client/wizard/GatewayWizard.tsx +470 -109
- package/src/client/wizard/cards/ProxyCard.tsx +2 -1
- package/src/client/wizard/wizard-css.ts +23 -0
- package/src/client-data/model-group-side.ts +37 -10
- package/src/client-data/remote-status.ts +112 -17
- package/src/client-data/settings-form.ts +164 -8
- package/src/client-data/wizard.ts +112 -2
- package/src/client-routes.ts +334 -26
- package/src/config.ts +62 -16
- package/src/debug-report.ts +27 -1
- package/src/fetch-route-intercept.ts +381 -32
- package/src/index.ts +575 -370
- package/src/intercept.ts +1866 -286
- package/src/merge-streams.ts +155 -10
- package/src/plugin-route-intercept.ts +120 -71
- package/src/relay-access.ts +14 -3
- package/src/relay-client.ts +163 -5
- package/src/relay-pool.ts +387 -0
- package/src/relay-server.ts +312 -16
- package/src/restart-fields.ts +6 -4
- package/src/share-store.ts +59 -26
- package/src/state-store.ts +428 -0
- package/src/upload-limits.ts +16 -0
- package/src/virtual-id.ts +57 -0
- package/src/wizard/probe.ts +54 -2
- package/src/wizard/proxy-snippets.ts +17 -2
- package/src/wizard/routes.ts +24 -5
- package/src/wizard/status.ts +28 -0
- package/src/wizard/verify.ts +33 -11
- package/AGENTS.md +0 -185
- package/docs/adr/0001-plugin-bridge-forwards-plugin-routes.md +0 -15
- package/docs/adr/0002-relay-emulates-websocket.md +0 -8
package/src/client/locales.ts
CHANGED
|
@@ -112,6 +112,10 @@ export const zh = {
|
|
|
112
112
|
'settings.invalidPort': '需要 1–65535 的整数',
|
|
113
113
|
'settings.invalidPositiveInt': '需要正整数',
|
|
114
114
|
'settings.pushTitle': '推送',
|
|
115
|
+
'settings.fieldPushEnabled': '启用会话通知',
|
|
116
|
+
'settings.fieldPushEnabledHint': '总开关:关闭后停止所有自动推送,且不注册 push_notify 工具与系统提示词。',
|
|
117
|
+
'settings.fieldPushSessionName': '推送来源会话名',
|
|
118
|
+
'settings.fieldPushSessionNameHint': '在推送正文第一行显示「来源会话:<会话名>」。',
|
|
115
119
|
'settings.fieldPushSummary': '推送内容摘要',
|
|
116
120
|
'settings.fieldPushSummaryHint': '在推送正文中包含回合的最终文本或待回答的问题。',
|
|
117
121
|
'settings.fieldPushTurnEnd': '回合结束推送',
|
|
@@ -189,7 +193,7 @@ export const zh = {
|
|
|
189
193
|
'settings.refreshFailed': '状态刷新失败,当前显示的是上一次成功的数据',
|
|
190
194
|
'settings.resetPreview': '保存后恢复为下一层的值',
|
|
191
195
|
// --- 插件设置页(T16),子客户端区块 ---
|
|
192
|
-
'settings.client.connectTitle': '
|
|
196
|
+
'settings.client.connectTitle': '连接主服务端',
|
|
193
197
|
'settings.client.serverUrl': '服务端地址',
|
|
194
198
|
'settings.client.serverUrlHint': '服务端网关地址,例如 http://192.168.1.10:3088 或 https://dsh.example.com。',
|
|
195
199
|
// The label above is the shared 设备名称 field in the role card (T57); this
|
|
@@ -209,7 +213,27 @@ export const zh = {
|
|
|
209
213
|
'settings.client.failUnreachable': '无法连接服务端',
|
|
210
214
|
'settings.client.failRoleMismatch': '该配对码不适用于桌面应用端',
|
|
211
215
|
'settings.client.failUnexpected': '服务端回应无法识别,请确认服务端已安装 dsh-zen-remote 2.0.0',
|
|
212
|
-
'settings.client.
|
|
216
|
+
'settings.client.failLimitReached': '已达主服务端数量上限:请先移除旧服务端,或输入已配对服务端的地址覆盖重配',
|
|
217
|
+
// --- MS-7 多服务端:卡片头计数、8 台上限红字、已配对主服务端列表 ---
|
|
218
|
+
'settings.client.poolCount': '已配对 {count} / {max} 台',
|
|
219
|
+
'settings.client.poolCapNote': '最多可同时连接 {max} 台主服务端。',
|
|
220
|
+
'settings.client.limitReached': '已配满 {count} / {max} 台主服务端(已达上限)。如需添加新服务端,请先移除旧服务端;输入已配对服务端的地址仍可覆盖重配。',
|
|
221
|
+
'settings.client.serversTitle': '已配对主服务端',
|
|
222
|
+
'settings.client.serversEmpty': '尚未配对任何主服务端(最多可同时连接 {max} 台)',
|
|
223
|
+
'settings.client.repair': '重新配对',
|
|
224
|
+
'settings.client.serverRemove': '移除',
|
|
225
|
+
'settings.client.unpairServerConfirm': '将从本机移除该主服务端的配对(服务端上的数据与设备记录不受影响)。确定移除?',
|
|
226
|
+
'settings.client.unpairAllServers': '全部移除',
|
|
227
|
+
'settings.client.unpairAllServersConfirm': '将从本机移除全部已配对的主服务端(服务端上的数据与设备记录不受影响)。确定移除?',
|
|
228
|
+
'settings.client.serverStateConnected': '已连接',
|
|
229
|
+
'settings.client.serverStateRetry': '离线,{seconds} 秒后重试',
|
|
230
|
+
'settings.client.serverStateRetrySoon': '离线,即将重试',
|
|
231
|
+
'settings.client.serverStateOffline': '离线',
|
|
232
|
+
'settings.client.serverStateRevoked': '令牌已吊销',
|
|
233
|
+
'settings.client.serverStateIncompatible': '不兼容',
|
|
234
|
+
'settings.client.serverStateInvalidUrl': '地址无效',
|
|
235
|
+
'settings.client.serverStateUnpaired': '未连接',
|
|
236
|
+
'settings.client.serverDiagTitle': '各主服务端诊断',
|
|
213
237
|
'settings.client.statusTitle': '连接状态',
|
|
214
238
|
'settings.client.statusUnpaired': '未配对',
|
|
215
239
|
'settings.client.statusConnected': '已连接到 {serverUrl}',
|
|
@@ -388,6 +412,7 @@ export const zh = {
|
|
|
388
412
|
'wizard.desktop.generate': '生成桌面客户端配对码',
|
|
389
413
|
'wizard.desktop.regenerate': '重新生成配对码',
|
|
390
414
|
'wizard.desktop.copyInfo': '复制地址与配对码',
|
|
415
|
+
'wizard.desktop.copiedText': '服务端地址:{address}\n桌面客户端配对码:{code}',
|
|
391
416
|
'wizard.desktop.guide': '在另一台电脑打开本插件详情页,第 1 步选「作为桌面客户端」,第 2 步填入上方服务端地址与 8 位配对码即可完成连接。',
|
|
392
417
|
'wizard.desktop.pairedTitle': '已连接的桌面客户端({count})',
|
|
393
418
|
'wizard.desktop.pairedEmpty': '暂未配对桌面客户端',
|
|
@@ -502,7 +527,7 @@ export const zh = {
|
|
|
502
527
|
'wizard.overview.devicesSummary': '手机/网页 {web} 台 · 桌面客户端 {desktop} 台',
|
|
503
528
|
'wizard.overview.devicesNone': '暂未配对设备',
|
|
504
529
|
'wizard.overview.clientCredLabel': '本地配对凭证',
|
|
505
|
-
'wizard.overview.clientConnLabel': '
|
|
530
|
+
'wizard.overview.clientConnLabel': '连接状态',
|
|
506
531
|
'wizard.overview.clientServerLabel': '远端服务端地址',
|
|
507
532
|
'wizard.overview.startSetup': '开始配置向导',
|
|
508
533
|
'wizard.overview.reconfigure': '修改接入配置',
|
|
@@ -524,6 +549,26 @@ export const zh = {
|
|
|
524
549
|
'wizard.devicesModal.title': '已配对设备管理',
|
|
525
550
|
'wizard.devicesModal.subtitle': '查看与管理已配对的手机/网页设备及桌面客户端,支持改名、切换布局或吊销凭证',
|
|
526
551
|
'wizard.devicesModal.retest': '重新测试连通性',
|
|
552
|
+
'wizard.overview.clientSyncLabel': '会话与插件同步',
|
|
553
|
+
'wizard.overview.syncOk': '正常',
|
|
554
|
+
'wizard.overview.syncBad': '异常',
|
|
555
|
+
'wizard.overview.syncPending': '未连接',
|
|
556
|
+
'wizard.overview.clientOnlineCount': '在线 {online} / {total} 台',
|
|
557
|
+
'wizard.overview.clientOfflineCount': '离线 {count} 台',
|
|
558
|
+
'wizard.overview.clientRevokedCount': '已吊销 {count} 台',
|
|
559
|
+
'wizard.overview.clientAllOnline': '全部在线',
|
|
560
|
+
'wizard.overview.clientServersLabel': '已配对服务端',
|
|
561
|
+
'wizard.overview.clientPairedFull': '已配满 {count} / {max} 台(已达上限)',
|
|
562
|
+
'wizard.overview.clientPairedNames': '{names}(上限 {max} 台)',
|
|
563
|
+
'wizard.overview.limitNote': '已达 {max} 台上限,添加前请先移除旧服务端',
|
|
564
|
+
'wizard.overview.manageServers': '管理服务端',
|
|
565
|
+
'wizard.overview.addServer': '+ 添加服务端',
|
|
566
|
+
'wizard.serversModal.title': '已配对主服务端管理',
|
|
567
|
+
'wizard.serversModal.subtitle': '最多同时连接 {max} 台主服务端(当前 {count} / {max} 台)',
|
|
568
|
+
'wizard.serversModal.viewStatus': '查看状态',
|
|
569
|
+
'wizard.client.poolCapNote': '最多同时连接 {max} 台主服务端(当前已配对 {count} / {max} 台)',
|
|
570
|
+
'wizard.client.continueAdd': '+ 继续添加另一台',
|
|
571
|
+
'wizard.client.serverPicker': '选择要查看的服务端',
|
|
527
572
|
} as const
|
|
528
573
|
|
|
529
574
|
/** English dictionary, key-identical to the Chinese source of truth. */
|
|
@@ -636,6 +681,10 @@ export const en: Record<MobileNavKey, string> = {
|
|
|
636
681
|
'settings.invalidPort': 'Enter an integer from 1 to 65535',
|
|
637
682
|
'settings.invalidPositiveInt': 'Enter a positive integer',
|
|
638
683
|
'settings.pushTitle': 'Push',
|
|
684
|
+
'settings.fieldPushEnabled': 'Enable session notifications',
|
|
685
|
+
'settings.fieldPushEnabledHint': 'Master switch: when off, stops all automatic pushes and does not register the push_notify tool or system prompt.',
|
|
686
|
+
'settings.fieldPushSessionName': 'Include session name in push',
|
|
687
|
+
'settings.fieldPushSessionNameHint': 'Show "Session: <name>" on the first line of the push notification body.',
|
|
639
688
|
'settings.fieldPushSummary': 'Push body summary',
|
|
640
689
|
'settings.fieldPushSummaryHint': 'Include the turn\u2019s final text or pending question in push bodies.',
|
|
641
690
|
'settings.fieldPushTurnEnd': 'Turn-end push',
|
|
@@ -712,7 +761,7 @@ export const en: Record<MobileNavKey, string> = {
|
|
|
712
761
|
'settings.statusUnknown': 'Could not read the plugin status',
|
|
713
762
|
'settings.refreshFailed': 'The status refresh failed — showing the last successful data',
|
|
714
763
|
'settings.resetPreview': 'Saving reverts to the next layer\u2019s value',
|
|
715
|
-
'settings.client.connectTitle': 'Connect to
|
|
764
|
+
'settings.client.connectTitle': 'Connect to main servers',
|
|
716
765
|
'settings.client.serverUrl': 'Server address',
|
|
717
766
|
'settings.client.serverUrlHint': 'The server\u2019s gateway address, e.g. http://192.168.1.10:3088 or https://dsh.example.com.',
|
|
718
767
|
// The label above is the shared 设备名称 field in the role card (T57); this
|
|
@@ -732,7 +781,27 @@ export const en: Record<MobileNavKey, string> = {
|
|
|
732
781
|
'settings.client.failUnreachable': 'Could not reach the server',
|
|
733
782
|
'settings.client.failRoleMismatch': 'This pairing code is not valid for desktop clients',
|
|
734
783
|
'settings.client.failUnexpected': 'The server gave an unrecognized answer — make sure it runs dsh-zen-remote 2.0.0',
|
|
735
|
-
'settings.client.
|
|
784
|
+
'settings.client.failLimitReached': 'The main-server limit is reached: remove an old server first, or enter an already-paired address to re-pair it in place',
|
|
785
|
+
// --- MS-7 multi-server: card-head count, the 8-server red alert, the paired list ---
|
|
786
|
+
'settings.client.poolCount': '{count} / {max} paired',
|
|
787
|
+
'settings.client.poolCapNote': 'Up to {max} main servers can be connected at the same time.',
|
|
788
|
+
'settings.client.limitReached': 'All {count} / {max} main servers are paired (the limit is reached). To add a new server, remove an old one first; entering an already-paired address still re-pairs it in place.',
|
|
789
|
+
'settings.client.serversTitle': 'Paired main servers',
|
|
790
|
+
'settings.client.serversEmpty': 'No main servers paired yet (up to {max} at the same time)',
|
|
791
|
+
'settings.client.repair': 'Re-pair',
|
|
792
|
+
'settings.client.serverRemove': 'Remove',
|
|
793
|
+
'settings.client.unpairServerConfirm': 'This machine will forget this main server\u2019s pairing (data and the device record on the server are untouched). Remove it?',
|
|
794
|
+
'settings.client.unpairAllServers': 'Remove all',
|
|
795
|
+
'settings.client.unpairAllServersConfirm': 'This machine will forget every paired main server (data and device records on the servers are untouched). Remove all?',
|
|
796
|
+
'settings.client.serverStateConnected': 'Connected',
|
|
797
|
+
'settings.client.serverStateRetry': 'Offline, retrying in {seconds} s',
|
|
798
|
+
'settings.client.serverStateRetrySoon': 'Offline, retrying now',
|
|
799
|
+
'settings.client.serverStateOffline': 'Offline',
|
|
800
|
+
'settings.client.serverStateRevoked': 'Token revoked',
|
|
801
|
+
'settings.client.serverStateIncompatible': 'Incompatible',
|
|
802
|
+
'settings.client.serverStateInvalidUrl': 'Invalid address',
|
|
803
|
+
'settings.client.serverStateUnpaired': 'Not connected',
|
|
804
|
+
'settings.client.serverDiagTitle': 'Per-server diagnostics',
|
|
736
805
|
'settings.client.statusTitle': 'Connection',
|
|
737
806
|
'settings.client.statusUnpaired': 'Not paired',
|
|
738
807
|
'settings.client.statusConnected': 'Connected to {serverUrl}',
|
|
@@ -909,6 +978,7 @@ export const en: Record<MobileNavKey, string> = {
|
|
|
909
978
|
'wizard.desktop.generate': 'Generate Desktop Pairing Code',
|
|
910
979
|
'wizard.desktop.regenerate': 'Regenerate Code',
|
|
911
980
|
'wizard.desktop.copyInfo': 'Copy Address & Code',
|
|
981
|
+
'wizard.desktop.copiedText': 'Server address: {address}\nDesktop client pairing code: {code}',
|
|
912
982
|
'wizard.desktop.guide': 'On the other computer, open this plugin page, choose "Desktop Client" in Step 1, and enter the server address and 8-character code above in Step 2.',
|
|
913
983
|
'wizard.desktop.pairedTitle': 'Paired Desktop Clients ({count})',
|
|
914
984
|
'wizard.desktop.pairedEmpty': 'No desktop clients paired yet',
|
|
@@ -1023,7 +1093,7 @@ export const en: Record<MobileNavKey, string> = {
|
|
|
1023
1093
|
'wizard.overview.devicesSummary': 'Phone/Web {web} · Desktop {desktop}',
|
|
1024
1094
|
'wizard.overview.devicesNone': 'No paired devices yet',
|
|
1025
1095
|
'wizard.overview.clientCredLabel': 'Local Credential',
|
|
1026
|
-
'wizard.overview.clientConnLabel': '
|
|
1096
|
+
'wizard.overview.clientConnLabel': 'Connection',
|
|
1027
1097
|
'wizard.overview.clientServerLabel': 'Remote Server URL',
|
|
1028
1098
|
'wizard.overview.startSetup': 'Start Setup Wizard',
|
|
1029
1099
|
'wizard.overview.reconfigure': 'Reconfigure Wizard',
|
|
@@ -1045,6 +1115,26 @@ export const en: Record<MobileNavKey, string> = {
|
|
|
1045
1115
|
'wizard.devicesModal.title': 'Paired Devices',
|
|
1046
1116
|
'wizard.devicesModal.subtitle': 'View and manage paired phone/web and desktop client devices — rename, switch layout, or revoke access',
|
|
1047
1117
|
'wizard.devicesModal.retest': 'Retest Connectivity',
|
|
1118
|
+
'wizard.overview.clientSyncLabel': 'Session & Plugin Sync',
|
|
1119
|
+
'wizard.overview.syncOk': 'Normal',
|
|
1120
|
+
'wizard.overview.syncBad': 'Abnormal',
|
|
1121
|
+
'wizard.overview.syncPending': 'Not connected',
|
|
1122
|
+
'wizard.overview.clientOnlineCount': '{online} / {total} online',
|
|
1123
|
+
'wizard.overview.clientOfflineCount': '{count} offline',
|
|
1124
|
+
'wizard.overview.clientRevokedCount': '{count} revoked',
|
|
1125
|
+
'wizard.overview.clientAllOnline': 'All online',
|
|
1126
|
+
'wizard.overview.clientServersLabel': 'Paired Servers',
|
|
1127
|
+
'wizard.overview.clientPairedFull': 'All {count} / {max} paired (limit reached)',
|
|
1128
|
+
'wizard.overview.clientPairedNames': '{names} (up to {max})',
|
|
1129
|
+
'wizard.overview.limitNote': 'The {max}-server limit is reached — remove an old server before adding another',
|
|
1130
|
+
'wizard.overview.manageServers': 'Manage Servers',
|
|
1131
|
+
'wizard.overview.addServer': '+ Add Server',
|
|
1132
|
+
'wizard.serversModal.title': 'Paired Main Servers',
|
|
1133
|
+
'wizard.serversModal.subtitle': 'Up to {max} main servers at the same time (currently {count} / {max})',
|
|
1134
|
+
'wizard.serversModal.viewStatus': 'View Status',
|
|
1135
|
+
'wizard.client.poolCapNote': 'Up to {max} main servers at the same time ({count} / {max} currently paired)',
|
|
1136
|
+
'wizard.client.continueAdd': '+ Add Another Server',
|
|
1137
|
+
'wizard.client.serverPicker': 'Choose the server to view',
|
|
1048
1138
|
}
|
|
1049
1139
|
|
|
1050
1140
|
/** Key domain of the `mobileNav` namespace (zh is the source of truth). */
|