← ドキュメント一覧に戻る
状態遷移図
1. 拡張機能の全体状態
stateDiagram-v2
[*] --> 未同期: 初回インストール
未同期 --> 同期済み: ミュート設定ページを開く\nまたは手動追加
state 同期済み {
[*] --> 通常閲覧
通常閲覧 --> モーダル表示: ミュートユーザーのページを開く
モーダル表示 --> 通常閲覧: 「このまま閲覧する」\nまたはEsc
モーダル表示 --> ページ離脱: 「戻る」\n「トップページへ」
ページ離脱 --> 通常閲覧: 別のページを開く
}
同期済み --> 同期済み: 再同期\nリスト更新
2. モーダルの状態遷移
stateDiagram-v2
[*] --> 非表示
非表示 --> 表示中: ミュートユーザー検出
state 表示中 {
[*] --> フォーカス取得
フォーカス取得 --> ユーザー操作待ち
}
表示中 --> 非表示: 「このまま閲覧する」クリック
表示中 --> 非表示: Escキー
表示中 --> リダイレクト: 「戻る」クリック
表示中 --> リダイレクト: 「トップページへ」クリック
表示中 --> 非表示: SPA遷移検知(別ページ)
リダイレクト --> [*]
3. スクレイピングのリトライ状態
stateDiagram-v2
[*] --> 待機中: ページ読み込み完了
待機中 --> DOM探索中: 1秒後
DOM探索中 --> 成功: ユーザーリンク発見
DOM探索中 --> リトライ待ち: リンク未発見 & 試行回数 < 20
DOM探索中 --> 失敗: リンク未発見 & 試行回数 >= 20
リトライ待ち --> DOM探索中: 500ms後
成功 --> 保存完了: storage.localに保存
保存完了 --> [*]: 通知表示
失敗 --> [*]: 失敗通知表示