I've noticed that the ngscopeclient randomly skips complete waveform download progress.
Rigol scopes are known for their somewhat slow data download, so it is nicely visible there. I am suspecting the culprit to be, that
OscilloscopeChannel::m_downloadState
OscilloscopeChannel::m_downloadProgress
are written from one thread and read from different thread without using proper resource sharing approach (IMO mutex in this case).