# feat\(analytics\): credit v2 threads and turns to the starting client \(\#7774\) · stienswout/t3code

[View on GitCafe](https://git.cafe/stienswout/t3code/commit/d5d1b2f08883d00da62c1942c1ff74d5c3a37fcd)

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

Visibility: public

Requested revision: d5d1b2f08883d00da62c1942c1ff74d5c3a37fcd

Requested commit: d5d1b2f08883d00da62c1942c1ff74d5c3a37fcd

Commit: d5d1b2f08883d00da62c1942c1ff74d5c3a37fcd

Tree: d7b2cc049310b716860e12eac1fa117a618d1549

Author: Julius Marminge

Committer: Julius Marminge

## Message

```
feat(analytics): credit v2 threads and turns to the starting client (#7774)

Main records which client surface started each thread and turn; the v2
dispatch path replaced the v1 handler that did the recording, so v2
environments only reported connections. The v2 RPC layer now records
client.thread.started on thread launches (plus client.turn.requested when
the launch carries an initial message) and client.turn.requested on
message dispatches, using the connection's announced origin. Recording is
best-effort — attribution can never fail the user's command.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

```

## Parents

- [77d64e5ce4cb5c88ce0f9a083d6dc4061826c157](https://git.cafe/stienswout/t3code/commit/77d64e5ce4cb5c88ce0f9a083d6dc4061826c157?format=markdown)

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