954801926@qq.com
06fa4ca023
feat(M3): SSH productization — Terminal/SSH split + Wave-style server monitoring
...
- Sidebar split into 本地终端 / SSH 服务器 sections + recent sessions quick reconnect
- SSH tabs carry server badge (icon + green edge); local tabs unchanged
- SSH session panels mount a collapsible live monitor panel (CPU/mem/disk/net/load/uptime)
- src/main/sysinfo.ts polls remote via ssh2 exec (/proc + df), 3s interval,
error-tolerant (3 consecutive failures auto-stop), auto-stops on session close
- tests: sysinfo-e2e (loopback exec with canned /proc output) — ALL PASSED
2026-09-06 13:45:52 +08:00
954801926@qq.com
f97edbb016
docs: roadmap v2 — M3 SSH productization (Terminal/SSH split + Wave-style server monitoring), renumber SFTP to M4
2026-09-06 13:15:12 +08:00
954801926@qq.com
0be65370f6
fix: ssh connect flow never fired + 120s host-key prompt budget
...
- Workspace: saved-credential connections now call connect() directly;
ConnectFlow only rendered a connecting spinner without ever firing
openSession, leaving attempts hung forever (root cause of the stuck
'连接中' modal)
- Host-key prompt timeout raised 30s -> 120s (a security decision needs
time; 30s aborted while users compare fingerprints)
- main: unhandledRejection/uncaughtException loggers; ssh diagnostics on
error paths
2026-09-06 13:08:47 +08:00
954801926@qq.com
bf3b2a7c30
docs: drop AI assistant milestone (not needed)
2026-09-06 12:33:26 +08:00
954801926@qq.com
727ed93c01
docs: audit roadmap — mark early-delivered items, fix duplicated M3 row
2026-09-06 11:49:47 +08:00
954801926@qq.com
659a1ac695
docs: note i18n groundwork needed for UI language switching
2026-09-06 11:44:14 +08:00
954801926@qq.com
18506c926a
feat: system settings tab — launch at login and prevent-sleep toggles
...
AppSettings.system persisted through the existing settings IPC; the main
process applies real side effects at startup and on every save via
app.setLoginItemSettings and powerSaveBlocker.
2026-09-06 11:43:40 +08:00
954801926@qq.com
db0eae5efd
fix: flush held text-run carry on a 16ms timer so shell prompts render immediately
...
The highlight stream holds a trailing text run for cross-chunk anchor
consistency; a bare shell prompt (plain text, no follow-up data) stayed
held until the next keypress. Now the carry auto-flushes within one frame.
2026-09-06 11:26:17 +08:00
954801926@qq.com
551723c2d4
OpenTerminal v0.2.1: terminal suite with SSH, split panes, themes and keyword highlighting
...
- Local terminal (node-pty) + SSH sessions (ssh2) with unified data plane
- dockview split panes, per-group '+' tab bar button, layout templates
- Session replay buffer (late-subscriber catch-up), host key pinning,
credential encryption via safeStorage
- 12 builtin themes + custom theme editor, system font enumeration
- Keyword highlighting: regex rules with priority, ANSI truecolor injection,
chunk-boundary-safe stream (carry-over of partial escape sequences)
- Dark antd theme app-wide, settings dialog redesign, error boundary
- Tests: ssh loopback, session e2e, highlight split-chunk regression
2026-09-06 11:19:08 +08:00