feat(M6): broadcast input + main-process ZMODEM + quick input panel + shortcuts

- broadcast: session target picker popover, fan-out write path, <2 targets auto-disable, per-tab target dots
- zmodem: main-process engine over ssh sessions (rz send / sz receive), progress reuses transfer panel, offer 120s / stall 90s watchdogs, e2e test with real zmodem.js peer (both directions)
- quick input panel: bottom-right overlay (command line + auto-\r + library + recent), broadcast-aware send
- shortcuts: Ctrl+=/-/0 font size (persisted), globalShowHide accelerator via globalShortcut, Ctrl+PgUp/PgDn terminal cycling
- contracts: ZMODEM_OFFER/RESPOND/DONE channels, SystemSettings.globalShowHide, TransferKind zmodem-upload/download
- review fixes: xterm-helper-textarea font hotkey pass-through, zmodem error-vs-cancelled progress state, offer timer clear, receive stream destroy
This commit is contained in:
954801926@qq.com committed 2026-09-06 20:15:49 +08:00
1 parent 0953ac4f41
commit 0663e5affa
30 files changed
+9028 -37

No files matched your search

+3
View File
@@ -21,10 +21,12 @@
"@xterm/xterm": "^6.0.0",
"antd": "^6.6.2",
"dockview-react": "^8.2.0",
"electron-updater": "^6.8.9",
"font-list": "^2.1.0",
"react": "^19.2.8",
"react-dom": "^19.2.8",
"ssh2": "^1.17.0",
"zmodem.js": "^0.1.10",
"zustand": "^5.0.15"
},
"devDependencies": {
@@ -33,6 +35,7 @@
"@types/react-dom": "^19.2.0",
"@vitejs/plugin-react": "^5.0.0",
"electron": "^44.2.0",
"electron-builder": "^26.15.3",
"electron-vite": "^5.0.0",
"typescript": "~5.9.0",
"vite": "^7.0.0"