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が表示された事実から、Session IDの存在確認とroot判定までは成功していたことを確認した。
Snapshotを使う新しい確定経路と状態再取得を含めてSwift 21件のtestと仕様監査が成功した。
実際のConnect完了、configuration revisionの更新、database同期、Room割当はcutoff時点で再確認していない。
完了とした根拠
No-opを生んだstate消去順を修正し、planを確定処理へ保持するcontractをtestで固定した範囲を完了とした。