The Dart mosh client only calls sendNew() when hasPendingState is false. The Go client was calling SetPending on every tick with dirty=true, which reset diffSent and caused new sequence numbers for the same cumulative payload. Now tick() checks AckedByRemote >= SentNum before calling SetPending — at most one unacked state in flight, matching the Dart client's behavior.