Repository navigation
0.3.0 — 使用者視角審查的改動全部落地
對應 commit:62ac3f1(main)
安裝:
dsh plugin --profile web add github:WwW7olFWwW/dsh-codebase-watcher或直接用下面附的預建包(免建置、免 allowBuilds 授權):
curl -L -o dsh-codebase-watcher.tgz https://github.com/WwW7olFWwW/dsh-codebase-watcher/releases/latest/download/dsh-codebase-watcher.tgz這一版的完整說明見 CHANGELOG.md;要點:
這一版把「使用者視角審查」的改動全部落地。兩個對外行為變了:
GET /config的回應形狀
(現在分成可寫的config與觀測用的runtime),以及不存在的專案id由 502/靜默成功改為
404。有腳本在打這兩條路由的話請看下面 Changed 的第一、二條。
Changed
- 重建不再週期性重跑:
includeDirty仍是預設開啟,但掃描觸發的重建只在該專案自上次成功重建後
又有檔案活動時才排入。先前一個長期有未提交變更的專案會在每一輪掃描被重新索引一次,卻永遠追不上
(實測 29.6 小時 145 次重建,其中 8 次被 CBM 以「重建途中檔案又變」中止)。 - 新增設定欄位
rebuildCooldownSeconds(預設 45):同一個專案兩次自動重建的最短間隔;0關閉。
人工與強制重建不受冷卻限制。設定一改,掃描計時器與已建立的監看器會就地重套(不必暫停再恢復)。 GET /api/codebase-watcher/config改回三個欄位:config(可寫,欄位名與 POST 相同)、runtime
(執行期形狀,觀測用)、upstream。先前只有執行期形狀,把它 POST 回去不會生效。graphUrl填了非 http(s) 的值時,改為忽略該覆寫並退回由ui_port推導,卡片上會說明原因;
先前會讓所有圖譜連結消失。
Added
POST /api/codebase-watcher/cancel:取消目前正在跑的重建;卡片上多了「全部強制重建」與
「取消重建」兩顆按鈕。- 日誌檔輪替:
keeper.log單檔上限 5 MB,超過輪替成keeper.log.1(只保留一份)。 - 卡片可解釋性:顯示判定依據(
reasons)、上次掃描失敗原因、監看失敗原因與圖譜 UI 的附註。
Fixed
- 非 http(s)、或超界、或空字串的設定值不再靜默變成「最小值」或讓整條功能失效;寫錯欄位名會在
啟動時留下config.unknown-keys日誌。 check/rebuild帶不存在的id改回 404,不再回 502 或「全部目標都與工作樹一致」的誤導訊息。- 監看器的執行期錯誤(例如 inotify 用盡)會讓狀態變成
failed並記下lastError,不再停在
「監看中」而存檔已經追不上。 - 讀不到 CBM 設定時保留錯誤並在卡片上說明;先前會被誤報成「圖譜 UI 未回應」。
- 重建失敗的訊息會攤平 CBM 的
{status, hint}信封,不再把整段 JSON 印到卡片上。