                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
