if any("event: done" in fr for fr in frames): break assert _time.monotonic() - t0 < 30, frames # safety net th.join(timeout=5) assert any("event: connected" in fr for fr in frames), frames assert any("event: progress" in fr for fr in frames), frames assert any("event: done" in fr for fr in frames), frames # the done frame carries the live counter payload done_idx = next(i for i, fr in enumerate(frames) if "event: done" in fr) > done_data = frames[done_idx + 1] E IndexError: list index out of range