# fix\(client\): count frames on arrival and keep the default ping interval · pingdotgg/t3code

[View on GitCafe](https://git.cafe/pingdotgg/t3code/commit/f79ea3580bac0236535e2d19a936e0a12a0f5433)

Repository: [pingdotgg/t3code](https://git.cafe/pingdotgg/t3code)

Visibility: public

Requested revision: f79ea3580bac0236535e2d19a936e0a12a0f5433

Requested commit: f79ea3580bac0236535e2d19a936e0a12a0f5433

Commit: f79ea3580bac0236535e2d19a936e0a12a0f5433

Tree: 597dd87651cba2f6457021727a76a820ecdf7c11

Author: Theo Browne

Committer: Theo Browne

## Message

```
fix(client): count frames on arrival and keep the default ping interval

Review follow-ups for the slow-link probe changes:

- Count each WebSocket frame as it arrives, with a message listener on the
  session's socket, instead of counting read-loop pulls. A read loop held up
  by a full stream buffer no longer hides a link that still delivers. The
  session field is now receivedFrames.
- Keep Effect's 5 second ping interval. Delivery is in order, so a pong for
  a ping sent after the probe arrives after the probe's answer and cannot
  extend it. The 3 second interval only added ping traffic on every client.
- Comments no longer promise a frame in every probe window. The local
  window variable is now probeWindow, so it does not shadow the DOM global.
- Shell and thread tests check that a mobile refocus does not resubscribe.
- The connection runtime doc describes the probe extension and the refocus.

Co-authored-by: Nick <1109914+nick-potts@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

```

## Parents

- [e453eff23b2e791ad2f9c01d38e0ba15d44e4864](https://git.cafe/pingdotgg/t3code/commit/e453eff23b2e791ad2f9c01d38e0ba15d44e4864?format=markdown)

[Source at this commit](https://git.cafe/pingdotgg/t3code/tree/f79ea3580bac0236535e2d19a936e0a12a0f5433?format=markdown)
