We found another critical race condition sending data through local port forwarding channels that causes loosing data bytes sent by client to target server.
As soon as possible I will open a pull request with our potential changes to fix this issue.
I let you know when done because I would like to know your feedback.
We made some code changes to your proposed solution based on ClientChannelPendingMessageQueue.
You can find our commit at https://github.com/robertodeandrea/mina-sshd/commit/4523138ee2b4efa483bc956e8769eafb13eff05d
Can you review our code and give us feedback ?
If it satisfies you can you merge it in Apache SSHD master repository ?
Our definitive working code is at https://github.com/robertodeandrea/mina-sshd/commit/c381e522dc254387009d82612dc15f0c584dece6
The code changes against master code are :