## 背景 #1098 で層依存ルールを lint 化したとき、「コンポーネントは IPC と adapter の factory を直接叩かず composable を通す」に違反する既存のコンポーネントを理由つきで凍結した。凍結数は監査時点で 73、現在は 69。凍結が残っている限り、同じ書き方が新しいコンポーネントにも写される。 ## やること - 凍結しているコンポーネントを 1 つずつ、IPC / adapter の呼び出しを composable (既に同じ用途のものがあればそれ) へ移す - 直したコンポーネントは lint の凍結一覧から消す (消し忘れは lint が落とす) - 1 PR あたり数件ずつ、同じ種類の呼び出しをまとめて進める ## 進め方の注意 - 見た目と振る舞いは変えない。画面の確認が要るものは実機確認の issue に寄せる - 移し先の composable を新しく作るときは、既存のものと用途が重ならないかを先に確かめる - 着手順は #1098 のチェックリストに従う ## 完了条件 凍結一覧の「コンポーネントの IPC 直呼び」が空になる。 親: #1098 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Activity
refactor(components): common / deck のコンポーネントから IPC と adapter factory …
refactor(components): window 系のコンポーネントから IPC と adapter factory の直呼びを外…
hitalin commentedon Oct 26, 2026
凍結 69 件をすべて解消した (2026-10-27、develop 1238962 / cb749e0、実機未確認)
lint の「components は IPC / adapter factory を直接叩かない」の凍結一覧は空になり、以後は新しい違反だけが落ちる。
寄せ方
ApiAdapterに無かったもの (クリップ / リストのお気に入り、Pages / Play / ギャラリーのいいねと更新、実績、ロール、フォローリクエスト一覧、サーバー情報と統計、Raw JSON、ap/show、チャットの書込とキャッシュ読取、任意エンドポイントの生呼び出しなど) は adapter に足した。フォークの adapter は本体の api を広げる形なので実装は Misskey 1 つuseColumnSetup/useNoteColumn) のinitAdapteruseMultiAccountAdaptersのforView/apiFor(従来どおりピン留めリアクションは引かず、ログイン状態どおりの adapter)useFileDrop、サーバー meta は servers store、常駐状態は clientLayer store へ挙動の差 (意図したもの)
requireAuth()を通るようになり、ログアウト中はサーバーへ行かずに認証エラーになる (従来はサーバーのエラー)テスト
カラムの dom テストは adapter の生成に要るサーバー情報をテストキットで先に置き、IPC の記録は従来どおり bindings のモックで見る。全テスト通過。
実機で見てほしいところ
DEVELOPMENT.md の「層の依存方向」に寄せ方を書いた。実機確認が済んだら閉じる。
🤖 Generated with Claude Code
hitalin commentedon Oct 26, 2026
v1.98.1 でリリースし、起動 / カラム / ウィンドウ / ログイン / パレット CLI の目視確認済み。凍結一覧は空で lint が守る。個別の不具合が出たら bug issue にする。
🤖 Generated with Claude Code