This bug was introduced with the semi-recent changes separating the control part from the connection-handling part. After these changes, packets can now be held in a queue while waiting for a window extension or a key re-exchange, but they weren't sent after a rekeying.
J4ZEHJHG4NGTGJPU5YMBW7IRTVZ7WOHIWI45FGM3Q3A7JHDTTXQAC pub fn flush_all_pending(&mut self) {for (_, channel) in self.channels.iter_mut() {while let Some((buf, a, from)) = channel.pending_data.pop_front() {let size = Self::data_noqueue(&mut self.write, channel, &buf, from);if from + size < buf.len() {channel.pending_data.push_front((buf, a, from + size));break;}}}}