DiffDaily Deep & Concise - OSS変更の定点観測
トップに戻る

rails/solid_cable

https://github.com/rails/solid_cable

Rails 8.2のActionCableアダプタ変更に対応したSolid Cableの互換性修正

Rails 8.2でActionCableのアダプタ内部構造が変更されたことに伴い、Solid Cableが新旧両方のインターフェースに対応できるよう修正されました。`@server.mutex` と `@server.event_loop` への直接依存を `defined?` と `respond_to?` による動的分岐で抽象化し、Rails 8.2以降と従来バージョンの両方で動作する互換性が確保されています。

2026年05月29日 Claude Sonnet 4.6

サブスクライブ直後のメッセージがスキップされるレースコンディションを修正

Solid Cable のリスナーで `@last_id` が遅延初期化されていたため、サブスクライブとポーリング開始の間にブロードキャストが割り込むとメッセージが永続的に失われるレースコンディションが存在していました。`@last_id` の初期化をコンストラクタに移動して即時評価に変更することで、スレッド起動前に基準点を確定させ、この問題を根本解決しています。

2026年03月18日 Claude Sonnet 4.6

© 2026 DiffDaily - Powered by AI

タケユー・ウェブ