diff --git a/libp2p/stream_muxer/yamux/yamux.py b/libp2p/stream_muxer/yamux/yamux.py index 92123465..586bbc2d 100644 --- a/libp2p/stream_muxer/yamux/yamux.py +++ b/libp2p/stream_muxer/yamux/yamux.py @@ -493,7 +493,7 @@ class Yamux(IMuxedConn): f"type={typ}, flags={flags}, stream_id={stream_id}," f"length={length}" ) - if typ == TYPE_DATA and flags & FLAG_SYN: + if (typ == TYPE_DATA or typ == TYPE_WINDOW_UPDATE) and flags & FLAG_SYN: async with self.streams_lock: if stream_id not in self.streams: stream = YamuxStream(stream_id, self, False) diff --git a/newsfragments/701.bugfix.rst b/newsfragments/701.bugfix.rst new file mode 100644 index 00000000..2bb1be5d --- /dev/null +++ b/newsfragments/701.bugfix.rst @@ -0,0 +1 @@ +align stream creation logic with yamux specification