https://github.com/rails/solid_cable
Rails 8.2でActionCableのアダプタ内部構造が変更されたことに伴い、Solid Cableが新旧両方のインターフェースに対応できるよう修正されました。`@server.mutex` と `@server.event_loop` への直接依存を `defined?` と `respond_to?` による動的分岐で抽象化し、Rails 8.2以降と従来バージョンの両方で動作する互換性が確保されています。
Solid Cable のリスナーで `@last_id` が遅延初期化されていたため、サブスクライブとポーリング開始の間にブロードキャストが割り込むとメッセージが永続的に失われるレースコンディションが存在していました。`@last_id` の初期化をコンストラクタに移動して即時評価に変更することで、スレッド起動前に基準点を確定させ、この問題を根本解決しています。