Repository navigation
fix: 補正相容搬移與連線操作的四項驗收缺口 - #43
Merged
Merged
Conversation
原先從已開啟 SqlConnection 的 ConnectionString 重建連線,SQL authentication 預設會隱藏密碼,正常搬移因而無法登入。改從所選端點的記憶體設定呼叫既有匯入工廠,不讀秘密庫、不開啟 PersistSecurityInfo,也不輸出密碼。 來源與目標各自持有 provider/SSH owner;結束時僅釋放 owner,目標開啟失敗也會清理來源。離線 factory 回歸確認端點、SQL 驗證與 SSH 設定傳遞、兩端成功/失敗、重複 Dispose 與來源退場;Mono 執行實際 session 通過,Windows 整體 smoke 交由本輪 PR CI。
編輯、刪除及連線準備從入口到對話框、設定儲存都持有同一個 operation lease,忙碌時拒絕重入,等待完成後再次檢查取消,避免斷開正在使用的 session。補上忙碌、對話框等待、取消與鎖釋放的 mock 回歸;Linux 隔離 SQLite 另走過連線、SQL 結果與取消編輯刪除對話框。
用 IsComplete 與 NeedsProcessing 同時決定服務及 UI 的續傳範圍,避免舊 Done 狀態掩蓋未驗證或 RetryBlocked 項目。UI 會列出待處理項目,但驗證失敗與結果不確定時仍拒絕自動重試。補上 nullable 驗證值與 RetryBlocked 組合、隔離 SQLite 的實際表單續傳及不重複寫入回歸。
資料庫層級 trigger 不在 sys.objects,空目標也可能在建表時執行額外行為。把正式 catalog reader 抽成可注入查詢的 seam,來源與目標都讀 sys.triggers 的 database scope,啟用、停用或 metadata 讀取失敗皆停止。回歸直接驗證實際查詢與預覽阻擋,並確認無 trigger 的相同 fixture 仍可搬移。
原先 gate mock 無法發現 UI handler 漏接 lease,因此新增 Linux Xvfb 回歸,直接呼叫正式編輯、刪除與連線 handlers。等待 SQL 與對話框時驗證互斥,取消後驗證設定和 session 保留,閒置時也必須仍能儲存、重新連線及刪除設定。所有設定與 SQLite 都在新建隔離目錄,CI 會一起執行,失敗回傳非零退出碼。
This was referenced Oct 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR #42 後續四項修正
首輪已合併至 master fa07e2e;這份 PR 僅補正獨立驗收指出的四項缺口,不沿用首輪 CI 當成本輪證據。
本輪已執行
限制
沒有連接使用者真 DB、讀取秘密、傳送 DB 資料、部署或變更權限。真 SQL Server 2016–2025 各版矩陣、實際 SQL authentication 與 SSH tunnel、Windows 搬移人工點擊流程均未測;mock/工廠生命週期驗證不等同真引擎證據。可選範圍與 fail-closed feature 白名單未擴大。
四個修正目的分開繁中 Conventional Commits,另有一筆實際 UI 回歸提交;每次 push 前均已 pull master 確認無新增變更。請依正常 CI/review 流程合併,不略過保護。
已依正常 merge 流程合併至 master d2c4a1a;本機 pull 後核對遠端 SHA 與五筆提交的 ancestor 關係皆一致,工作目錄乾淨。合併後主線的另一次 CI 正在執行,不與已通過的 PR CI 混稱。