2026-10-20 errorsflutterdart 修正: Flutter の Bad state: Stream has already been listened to single-subscription ストリームは、生存期間を通じて listen() を 1 回しか受け付けません。ストリームは 1 回だけ作成して 1 つのリスナーに渡すか、asBroadcastStream や Stream.multi で共有してください。
2026-10-18 dartflutterstreams rxdart の BehaviorSubject なしで Dart Stream の最新値を後から購読するリスナーに再送する方法 broadcast の StreamController は、購読する前に発行されたイベントをすべて破棄します。ここでは、Stream.multi で作る依存関係なしの BehaviorSubject 代替、既存のストリームに使える replayLatest() 拡張、イベントを黙って取りこぼす async* の近道、StreamBuilder の initialData の注意点を、すべて Dart 3.12.2 で検証して紹介します。
2026-07-21 flutterdartriverpod 修正: Riverpod 3.0 で StreamProvider が更新を == でフィルタリングされて発火しなくなる Riverpod 3.0 では、すべてのプロバイダーがリスナー通知を同一性ではなく == でフィルタリングします。同じミュータブルオブジェクトを再度発行する StreamProvider は、最初のフレーム以降 UI を再構築しなくなります。なぜそうなるのか、そして 3 つの修正方法を解説します。flutter_riverpod 3.3.2、Flutter 3.44、Dart 3.x で検証済みです。