125 lines
11 KiB
Markdown
125 lines
11 KiB
Markdown
# OpenTerminal 更新日誌
|
||
|
||
## v1.0.18 - 2026-09-24
|
||
|
||
- **修復 v1.0.17 的嚴重回歸:鎖定後無法輸入密碼**。v1.0.17 在鎖定期間由繪製程序攔截了全部鍵盤輸入(本意是擋住縮放/重新整理快捷鍵),但按鍵的預設行為正是「向聚焦的輸入框插入字元」,導致鎖定畫面密碼框收不到任何輸入、無法解鎖。
|
||
- 快捷鍵攔截已全部移到主程序(`before-input-event`),只攔截重新整理/開發者工具/縮放組合鍵,一般輸入不受影響。
|
||
- **新增鎖定快捷鍵 Ctrl+L**:應用內任意位置(包括終端機裡)按下立即鎖定;未設定鎖定密碼時不占用該組合鍵(shell 的 Ctrl+L 清畫面不受影響)。
|
||
- **已被 v1.0.17 鎖定的使用者恢復方法**:完全結束應用 → 刪除 `%APPDATA%\OpenTerminal\lock.json` → 重新啟動(鎖定資料刪除後不會再彈鎖定畫面),升級到本版本後可重新設定鎖定密碼。
|
||
|
||
## v1.0.17 - 2026-09-24
|
||
|
||
- **新增 設定 → 鎖定 分頁**:可設定、修改、移除鎖定畫面密碼(僅存於本機、scrypt 單向雜湊,不存明文、無帳號體系)
|
||
- **三種鎖定方式**:立即鎖定、系統閒置指定時長後自動鎖定(1/5/15/30/60 分鐘,預設關閉)、啟動時鎖定
|
||
- 鎖定後以完全不透明的遮罩覆蓋視窗,背後的終端機工作階段保持執行、不會中斷,解鎖後恢復原狀
|
||
- 密碼輸錯進入漸進冷卻(1 秒→30 秒),防止在鍵盤前暴力猜測
|
||
- **結束並重新啟動應用後鎖定仍然生效**:系統匣退出、工作管理員強制結束、當機都繞不過鎖定畫面
|
||
- 鎖定期間停用 Ctrl+R / F5 重新載入、開發者工具與縮放快捷鍵,避免誤觸終止遮罩背後的工作階段
|
||
- 忘記密碼無法找回,只能刪除本機 `%APPDATA%\OpenTerminal\lock.json` 後重新設定
|
||
|
||
- 打包版本不再讀取 `ELECTRON_RENDERER_URL` / `OT_UPDATE_URL` 環境變數,阻斷把應用或更新通道指向惡意位址的注入路徑
|
||
- 繪製程序 preload 重新啟用沙箱隔離
|
||
- known_hosts 儲存無法讀取或損壞時改為拒絕連線、提示修復或刪除檔案,不再靜默覆蓋全部已固定的主機指紋
|
||
- 連線時的密碼/通關密語輸入與書籤的認證方式統一(金鑰/agent 認證的書籤不再彈出密碼框、不再送出殘留的已存密碼)
|
||
- 修正 SSH 連線異常中斷時工作階段結束通知漏發或重發的問題,終端機不再卡在「連線中」
|
||
- 分割面板的系統監控在一側關閉後不再誤停另一側的監控
|
||
- 工作階段日誌索引加入路徑校驗,防止被竄改的索引把日誌寫到目錄之外
|
||
- 設定儲存改為原子寫入,Windows 下檔案被佔用時自動重試,修正偶發的設定儲存失敗
|
||
|
||
- 新增 CI(GitHub Actions):型別檢查 + 10 個離線測試 + 建置
|
||
- 視窗隱藏到系統匣時,凍結偵測日誌不再把計時器節流誤報為約 1 分鐘的「當機」
|
||
|
||
## v1.0.16 - 2026-09-23
|
||
|
||
- **內建規則 11 條 → 22 條**:新增危險/破壞性命令(`rm -rf`、`mkfs`、`dd if=`、`chmod 777`、`drop database`、管線給 `sh` 等)、疑似金鑰/權杖提醒、刪除/移動/覆蓋操作、新建/建立操作、日誌級別、結束代碼、HTTP 狀態碼、耗時(毫秒)、百分比進度、網路與 IP 位址、時間日期、`root@` 提示字元、Shell 關鍵字、字串、環境變數等
|
||
- **狀態詞三分配色且不分大小寫**:成功(`Success` / `Succeeded` / `Successfully` / `good` / `done` / `OK` / `✓`)、警告(`Warning` / `Caution` / `Deprecated` / `⚠`)、錯誤與致命(`Error` / `NG` / `err` / `bug` / `fail` / `FATAL` / `CRITICAL` / `PANIC` / `✗`)各自一種顏色
|
||
- `not ok` / `not found` 正確顯示為錯誤,不會被誤染成成功綠
|
||
- **數值分級取色**:百分比低於 20% 紅、20–50% 黃、50–80% 淺綠、80% 以上綠;結束代碼、HTTP 狀態碼、耗時同樣按數值分級取色
|
||
- **高亮模式三檔**:全部 / 僅基礎(只保留錯誤、成功、警告、危險命令、金鑰等關鍵規則,開銷約為全部的 1/4)/ 關閉(零開銷)
|
||
- 規則支援「忽略大小寫」與「數值分級」開關,編輯器內可用測試文字即時預覽著色效果
|
||
- 規則可匯入 / 匯出 JSON,方便團隊分享同一套配色
|
||
- **按主機規則集**:可把規則子集存成命名規則集,並在 SSH 連線編輯裡綁定給某台主機(預設關,未綁定的主機跑全部規則)
|
||
- **命中/耗時統計**:每條規則在本工作階段的命中次數與掃描耗時(預設關,關閉時零開銷)
|
||
- **高亮顏色跟隨終端機主題**:規則顏色映射到目前主題的調色盤,換主題不再突兀(預設關)
|
||
|
||
- 高亮設定頁新增分類欄(安全 / 狀態 / 檔案 / 網路 / 文字 / 數值),可按分類分組檢視規則
|
||
- 修復高亮設定頁工具列在窄視窗下標籤被擠成直排、按鈕不靠右的問題
|
||
|
||
- 新增關鍵詞高亮規則迴歸測試(詞邊界、大小寫、反向詞、數值分級、匯入匯出、分塊流),`npm test` 全量通過
|
||
|
||
## v1.0.15 - 2026-09-20
|
||
|
||
- **自訂終端機背景圖片**:設定 → 主題 → 背景圖片,可為終端機指定任意本機圖片作為背景,並支援 10%–100% 的圖片不透明度調整;移除圖片後恢復純色背景
|
||
- **主題編輯器重名提醒**:新增/編輯主題與內建或其他主題重名時顯示黃色提示(仍可儲存)
|
||
- 主題編輯器種子顏色自動規範化,非法顏色值不再能進入自訂主題
|
||
- 自訂主題顏色資料損壞時自動修復為預設色,並記錄警告日誌
|
||
|
||
- 設定彈窗左側導覽選取項文字改為白色,與未選取項對比一致(修復藍色文字在深色背景上看不清的問題)
|
||
- 背景圖片、透明度等新控件與四種語言(簡/繁/英/日)文案同步上線
|
||
|
||
- 渲染程序與主程序新增凍結時長探測日誌,便於後續診斷「卡死無反應」類問題
|
||
|
||
## v1.0.14 - 2026-09-20
|
||
|
||
- 修復上傳 **大於約 250KB** 的檔案會被靜默損壞的問題(檔案大小正確但內容出現位元組錯亂)
|
||
- 修復每次下載洩漏一個遠端檔案句柄、每次傳輸遺留一個 SFTP 通道的問題;伺服器協定異常不再導致整個應用結束
|
||
- 上傳遇到同名檔案時先詢問是否覆蓋;刪除多個檔案時部分失敗會如實報告
|
||
- 權限編輯修復:未知權限的檔案不再誤發 `chmod 000`;GID 留空不再被誤改成 UID 的值;正確顯示並保留 setuid / setgid / sticky 特殊位
|
||
- chmod / chown 增加逾時,遠端無回應不再永久轉圈
|
||
|
||
- 修復 SSH 輸出中文亂碼(跨網路封包被截斷的多位元組字元)
|
||
- 修復按 Tab 接受補全後命令歷史丟失或記錯亂的問題
|
||
- 修復 Ctrl+U / Ctrl+W 等編輯鍵被寫進命令歷史(表現為歷史裡出現「兩條命令拼接」)
|
||
- `cd ~/目錄`、`cd $HOME/...` 現在能正確記憶目錄,新終端按此恢復
|
||
- 中文行內的網址連結點擊範圍不再錯位;視窗尺寸過小時不再向終端發送異常尺寸
|
||
- SSH 連線結束時顯示真實離開代碼;ZMODEM 逾時/出錯不再向終端和日誌傾倒亂碼
|
||
|
||
- 啟動恢復失敗不再導致本次執行期間工作階段快照永久停止儲存
|
||
- 監控面板 CPU / 網路歷史曲線現在會即時重繪;切到本地終端工作區時停止向伺服器輪詢
|
||
- 廣播輸入:SSH 分屏關閉一側不再讓另一側丟失廣播目標;取消勾選一個目標不再清空其餘選擇
|
||
- 連線失敗時顯示真實原因(密碼錯誤/拒絕連線等),雙擊不再重複建立連線
|
||
- 修復「關閉其他 / 關閉右側」會漏關標籤的問題
|
||
- 介面語言切換首影格即生效;切換主題後活動標籤文字顏色自動適配,不再出現淺色主題下看不清
|
||
- 私鑰路徑欄位提示更正為「本機路徑」(此前提示為伺服器路徑,照做會連線失敗)
|
||
|
||
- 禁止把檔案拖入視窗導覽;外部連結僅允許 http(s) / ftp;IPC 增加來源校驗
|
||
- 僅密碼認證的連線才使用儲存的密碼(金鑰認證的連線不再回退發送密碼)
|
||
- 連線書籤、主機指紋等設定改為原子寫入,當機不再導致資料丟失
|
||
- 渲染程序異常結束時自動回收其全部終端連線與日誌
|
||
- 自訂主題資料損壞不再導致應用無法啟動
|
||
- 內建更新通道發布改為原子操作,發布中途失敗不再導致自動更新不可用
|
||
|
||
## v1.0.13 - 2026-09-20
|
||
|
||
- 支援簡體中文 / 繁體中文 / English / 日本語,入口在「設定 → 系統 → 介面語言」,切換即時生效並持久化
|
||
- 全應用文案完成遷移:設定各頁、工作區、終端右鍵選單與搜尋、SSH 連線管理、檔案面板、系統監控、命令面板、系統匣選單與關閉詢問
|
||
- antd 元件內建文案(空狀態、分頁等)隨介面語言切換
|
||
|
||
- 更新日誌改為**隨安裝包內建**,離線也能查看,不再依賴網路介面
|
||
- 更新日誌支援多語言:依目前介面語言顯示,某版本缺翻譯時自動回退簡體中文
|
||
|
||
- 修正「關閉按鈕行為 = 每次詢問」無效的問題(先前會被靜默改回「最小化到系統匣」)
|
||
- 高亮規則不再因欄位形狀問題被靜默丟棄:優先級字串、0/1 布林值、缺少前景色等會自動修復,未知欄位保留
|
||
- 設定解析警告寫入 `settings-warnings.log`,設定異常可追溯
|
||
|
||
- 終端右上角工具列可設定(設定 → 渲染與行為):開啟工作區目錄(預設開啟)、記錄工作階段日誌、開啟日誌目錄
|
||
- 「開啟工作區目錄」按鈕:一鍵在檔案總管開啟終端目前目錄,隨 `cd` 即時追蹤
|
||
- 全域喚起快速鍵改為**按鍵錄製**:點擊輸入框後直接按組合鍵,Esc 取消、退格清空;需帶修飾鍵或功能鍵,避免誤佔一般按鍵
|
||
- 「輸入建議」「記錄命令歷史」預設關閉(既有安裝會一次性重置,之後手動開關不再被覆寫)
|
||
- 修正設定對話框內容欄無法捲動的問題(antd v6 容器類名變更),主題頁移除多餘的雙層捲軸
|
||
- 介面細節:渲染模式與介面語言按鈕改為連體分段樣式,選取狀態文字對比度修正
|
||
|
||
發佈時由 `scripts/sync-changelog.cjs` 自動把 `RELEASE_NOTES.zh-TW.md` 合併進此檔案;
|
||
內容隨安裝包內建,「關於」頁的更新日誌會依當前介面語言讀取(缺翻譯的版本自動回退簡中)。
|
||
|
||
## v1.0.12 - 2026-09-20
|
||
|
||
### 淺色主題對比度修復
|
||
- 分頁列/側邊欄顏色改為依主題背景亮度自動調整:淺色主題下分頁列與終端同色系(不再出現混濁灰色條),深色主題外觀不變
|
||
- 修復淺色主題下分頁呈深色塊、白字的問題:分頁底色與文字改由主題變數接管,非作用中分頁淺底深字,作用中分頁文字自動加深
|
||
- 設定對話框全面適配淺色主題:字型、高亮、主題等頁面的標籤/說明/表格/調色盤文字改為跟隨主題前景色,淺色下清晰可讀
|
||
|
||
### 穩定性
|
||
- 工作階段日誌寫入改為每檔案緩衝 + 單一寫入迴圈:高輸出情境下合併寫入、順序有保障,不再隨寫入次數無限堆積
|
||
- 設定儲存序列化:系統匣修改關閉行為與設定介面儲存並行時不再互相覆蓋而遺失更新
|