- 出荷済み
- 2026年8月26日 2:18 UTC
- プロフィール
- kamo
- コンテンツ
- 0aee8b0
クライアント側のパフォーマンス監査のバッチ5。 MessageList は、メッセージバブルにすべての読み込まれたメッセージをマップし、MessageBubble はなかった memoized。 300 個のメッセージが開き、メッセージの到着、またはタイピングインジケーター flipping、またはスクロール主導のステート変更 — は、300のバブルレンダー、それぞれを MUI/感情のサブツリーは、ツールチップ、メニュー、フォーマッタコールを保有しています。 299が変更されました。 バブルだけを思い出させるのは助けられず、それは書く価値のある部分です ダウン。 翻訳された行は `{ ...m, text: ts.translated をビルドしました サイトマップ すべてのレンダーと浅い比較の新鮮なオブジェクトは、任意のためにヒットすることができませんでした 翻訳されたメッセージ — メモが適用され、何もしませんでした。 バブル メッセージは、歴史/翻訳が変更されると一度作成され、翻訳されていない行のパス すでに安定していたオリジナルのオブジェクトを直進。 レンダーごとに3つ以上のものが再入力され、1列あたりの2つ: - `prefers-reduced-motion` は、レンダーボディの matchMedia 呼び出しで読みました。 お問い合わせ useSyncExternalStore のサブスクリプションは、より安く、実際にライブです。 古いフォームは、何もないので、設定を変更したメンバーに気付くことはありません 再読み込みを繰り返します。 - 過去の独自の非修正メッセージは、歴史上のフル`filter`から来た すべてのレンダー。 履歴が起きたときだけ変化し、逆のスキャンでそれを調べる 割り当てなし。 - 失敗した翻訳ツールチップは、すべての行の同じ文字列であり、 地図の中のフォーマット。 ホイスト。 ResizeObserver は意図的に非接触です。 スクロールを観察するためにそれを切り替える メッセージ要素の代わりにコンテナは単純化のように見え、 auto-scrollを壊して下さい: 内容が成長するとき容器の自身のボーダー箱は変更しません、 scrollHeight のみで、ResizeObserver は報告しません。 確認: tsc --noEmit は、メッセージリスト、MessageBubble および ChatBox をクリーンにし、 チャット・スイート・パスを横断した63件のテスト messageRowIdentity は、送信されたメッセージが同じ行要素を保持しているとアサートします。 サーバ ID はローカルの 1 を置き換えます。 悪いメモが原因となる正確な回帰.