← 活動記録一覧

FACTUAL ACTIVITY RECORD · 実際の作業をもとにした活動記録

Thread接続confirmationのno-opを修正する

Dialog終了前にplanをsnapshotし、確定処理と状態再取得へ確実に渡す

対象期間:

目的

Session IDはrootとして検証されconfirmation dialogまで表示されたが、Connectを確定しても設定revisionが変わらず、Threadが登録されなかった。Root判定後の確定処理が実行されるように直す必要があった。

実装

管理application sourceではdialogを閉じる際にpendingPlanを先にnilへし、その後の処理がguardで終了していた。Dialog actionへplanのsnapshotを渡し、snapshotを適用してからpending stateを片付け、完了後にConnector状態を再取得する順序へ変更した。

未同期のrootをRoomへ割り当てたときのroot_thread_requiredは、生のdatabase errorではなく、先にThreadsで接続・同期する必要があることを示す案内へ変えた。project guideと仕様書もconfirmationの順序へ合わせた。

confirmation dialogからplanを失わず適用する順序

図を描画しています…

確認したこと

確認結果

Confirmation dialogが表示された事実から、Session IDの存在確認とroot判定までは成功していたことを確認した。

Snapshotを使う新しい確定経路と状態再取得を含めてSwift 21件のtestと仕様監査が成功した。

実際のConnect完了、configuration revisionの更新、database同期、Room割当はcutoff時点で再確認していない。

完了とした根拠

No-opを生んだstate消去順を修正し、planを確定処理へ保持するcontractをtestで固定した範囲を完了とした。