Skip to content

Valentin info - #68

Merged
vheun merged 21 commits into
mainfrom
valentinInfo
Jul 14, 2026
Merged

Valentin info#68
vheun merged 21 commits into
mainfrom
valentinInfo

Conversation

@vheun

@vheun vheun commented Jul 14, 2026

Copy link
Copy Markdown

Infrastructure prep for toolsocket internal tests info UI.

Server / Client
All Clients -> Client

Once cleared, I can push the rest of the repos for the info UI

claude and others added 21 commits July 11, 2026 19:20
…r load, self-alarm suppression in quality windows
…arate per-client limits from the shared network limit
…nd trigger staged probes over meta transport
…callback double-invoke, closed-connection reports for subscribers, server teardown; add info API test suite and README docs
…oute

A client can announce who it is (e.g. the avatar it represents) with
socket.infoName(name). The server stores the name on the connection —
not the info handler — so it survives the info enable/disable cycles
that come with subscribers joining and leaving, and stamps it into every
report as data.name. Announcing a name does not activate info collection:
dormant sockets stay dormant. The name is re-sent automatically after a
reconnect, capped at 256 chars, and cleared with infoName(null).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The staged throughput probe can now target a subset of connections by
their announced names (options.names server-side, options.probeNames on
the client info() API) — e.g. probe just the clients on one Wi-Fi
instead of saturating everyone. Probe result entries fall back to the
remotely announced name when info collection is not active, and a
filter that matches nothing fails cleanly with no-connections.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…nheritance

Every server connection now carries a stable infoId, included in reports
as data.id and in staged probe results — UIs can select and probe ANY
connection (named or not) via stagedProbe options.ids / client
options.probeIds. makeParallelSocket tracks children on the source
socket and infoName() keeps their names in sync (parent · data), so a
client's extra channels group under its announced name even when naming
happens after the channels were opened.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Pass probeRamp:false to run exactly two probe phases: every selected
connection alone (individual potential), then all of them at once (real
shared-network load). The server already honored options.ramp; this
exposes it on the client info() API for remote probes.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
CI lints test files without jest environment globals; the repo
convention is a per-file /* global ... */ header (see the other
*.test.js suites). Adds it to ToolSocketInfo.test.js — fixes the 71
no-undef errors failing npm test on CI.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Fixed sleep windows (e.g. 5.6s against the 5s broadcast tick) lost the
race under parallel-suite contention. Positive expectations now poll
until the condition holds with a generous ceiling; negative checks keep
their fixed windows. Also cuts the suite from ~2min to ~45s since polls
return as soon as reports arrive.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@vheun
vheun merged commit ec10d82 into main Jul 14, 2026
6 checks passed
@hobinjk-dts
hobinjk-dts deleted the valentinInfo branch July 15, 2026 14:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants