Commit Graph

16 Commits

Author SHA1 Message Date
swpa 7a49ef9833 feat(core): 系統底層架構重構、資安強化與極致效能優化
本次提交涵蓋了 Phase 3.5 至 Phase 4 的核心架構翻修,徹底解決了 SSH 互動陷阱、資料庫冗餘、機密外洩以及巨量 DOM 渲染的效能瓶頸。

🏗️ 1. 資料庫與快取架構整併 (DB Consolidation)
- 重構 `cmts_options` 資料表,主鍵簡化為 `(host, path)`,徹底解耦 `config_type`。
- 實現 `running-tree` 與 `full-tree` 共用全域選項字典,達成極致的「增量掃描 (Incremental Scanning)」。
- 強化 `init_db.py` 防呆機制,保留 `config_backups` 避免誤刪珍貴快照。

🔒 2. 企業級資安與權限管理 (Security Hardening)
- 導入 `python-dotenv`,全面落實 12-Factor App 規範。
- 徹底淨化 `index.html`, `shared.py`, `database.py` 中的硬編碼 (Hardcoded) 密碼。
- 建立 `.env.example` 範例檔,確保正式機密碼「零外洩 (Zero Secrets Leakage)」。
- 強化 God Mode 驗證邏輯,未設定環境變數時預設拒絕所有進階授權 (Fail-Fast)。

📡 3. SSH 引擎與 SSE 廣播機制 (SSH & SSE Engine)
- 修復 SSH Echo 與 MOTD 陷阱,導入精準的 `prompt_pattern` 絕對靜音偵測。
- 廢除危險的 `Ctrl+C`,改用底層 `Ctrl+U (\x15)` 瞬間清空輸入緩衝區,確保 100% 停留在 config 模式。
- 完善 SSE (Server-Sent Events) 廣播機制,前端精準呈現「百分比進度條」與「動態狀態文字」。

 4. 前端效能與使用者體驗 (Performance & UX)
- 升級 Regex 解析器,完美支援水平列表與無標題說明,成功找回消失的 `` 提示。
- 導入 HTML5 `<datalist>`,將 Enum 欄位無痛升級為「半自由下拉選單 (Combobox)」。
- 解決「延遲載入 (Lazy Load)」與「編輯模式」的衝突:實作「預先渲染但不展開」機制,結合 `content-visibility: auto` 達成零效能損耗。
- 實作 Xterm.js DOM 事件防火牆 (Capture Phase Interception),完美阻擋第三方外掛產生的殘缺鍵盤事件,消除 Console 紅字報錯。

⚠️ Breaking Changes (破壞性變更)
- 系統啟動前必須建立 `.env` 檔案並填入必要的資料庫與設備連線資訊。
- 資料庫結構已變更,舊有環境需執行 `python init_db.py --reset` 重新建表。
2026-06-10 14:37:16 +08:00
swpa 061ee3435a refactor: God Mode 安全防護 2026-06-08 17:01:55 +08:00
swpa 3cd7ce253e refactor: 混合式架構 (Hybrid Approach) 的設定載入訊息設計。
-前端模擬動態流 (Simulated Streaming)
   -真實動態流 (True Streaming)
2026-06-03 17:24:08 +08:00
swpa ecedee49d2 fix: 修復系統中「鎖定狀態未向下繼承」的嚴重 UI/UX 漏洞。 2026-06-02 17:35:33 +08:00
swpa 6698e34292 refactor: 關鍵的 UX 與安全性升級。
- 1. 移除隱含風險的關閉方式,並實作嚴格的「執行中鎖定 (Execution Lock)」,能有效防止幽靈寫入與併發衝突。
- 2. 跨視圖併發防護 (Cross-View Concurrency)。
2026-06-01 16:20:34 +08:00
swpa 2cbbdb7b0c fix: 聯動防呆機制-如果右側預覽視窗正在顯示這個節點的指令,連帶關閉它,防止無鎖寫入。 2026-06-01 11:39:58 +08:00
swpa fb1c091be9 fix(backup): 設備終端機分頁機制(Pagination)問題處理
- 根據 config_type 切換模式與指令,並加上 | nomore 關閉分頁

refactor(backup): 將 CMTS 的 CLI 配置文字轉換為完美的邏輯巢狀 JSON (兩階段解析法)
- 階段 0: 預處理 (清理雜訊,移除危險的自動黏合)
- 階段 2: 邏輯群組化與字典合併 (保留嚴格型別防護)

refactor(ui): 獲取整台 CMTS 的完整配置 (串流進度回報版)
- 前端串流接收器 (Streaming UI)

fix(ui): 修復 SSH 終端機無底洞溢出與頁籤底部左右捲軸錯位問題
- 於 .xterm 新增 height: 100% 與 box-sizing: border-box,確保終端機畫布完美貼合黑底外框,並將捲動權限成功交還給終端機內部。
2026-05-30 00:48:53 +08:00
swpa cf4b6f2e3b refactor: 將 Tree Editor 升級為 Streaming 架構 2026-05-29 16:21:43 +08:00
swpa 77821fc620 feat: Smart Diff Recovery & Preview 2026-05-28 10:24:17 +08:00
swpa d53f90efff fix: 將 God-Mode 的唯讀預覽變更成平坦化 (Flatten) 設計 2026-05-22 18:34:19 +08:00
swpa 289204780a feat: Finalize JSON cache architecture and prepare for PostgreSQL migration
- 穩定並完善現有基於 JSON 檔案的 running/full 雙軌快取機制
- 確認 __metadata__ (版本與掃描時間) 的讀寫邏輯運作正常
- 確立下一階段 PostgreSQL + asyncpg 的升級藍圖與 Schema 設計
- 準備建立 feature/postgres-migration 分支進行資料庫無痛轉移
2026-05-21 16:57:08 +08:00
swpa 91f7f5be34 feat: Design god-mode for debugging 2026-05-21 16:55:40 +08:00
swpa 03814b29dc feat: 1.重構快取掃描邏輯,新增局部與全域操作分離, 2.GUI按鈕格規格統一化。 2026-05-21 16:55:05 +08:00
swpa 682c9341a7 refactor: 編輯流程優化 2026-05-21 16:54:36 +08:00
swpa 93eb15ac9c fix: 解決編輯模式下含有雙引號與特殊符號導致的 HTML 破版問題 2026-05-21 16:53:47 +08:00
swpa b7395a1763 refactor: 完成前端 ES6 模組化全面拆分與 app.js 瘦身 2026-05-21 16:53:47 +08:00