claude 60e64dd83c chat gets its own core connection, so a turn stops blocking every page (V-638)
ipc.Client serialises every call on one mutex, and mavweb routed 28
handlers plus /api/chat through the shared client. A turn is bounded
only by phraser.timeout, 60s in deploy, so a page load behind one could
wait that long.

/models already had its own connection for this reason. Chat gets the
third one. A failed dial logs and falls back to the shared client, which
is how it behaved before.

/api/ptt needs nothing here: it proxies to the voice port and never
touches this client.

A connection pool inside ipc.Client is the general form and stays
unbuilt until a second module is measured queueing.
2026-08-06 22:59:53 +04:00
2026-07-03 00:32:48 +02:00
S
Description
No description provided
70 MiB
Languages
Go 97.1%
HTML 0.9%
Shell 0.6%
CSS 0.5%
Makefile 0.3%
Other 0.6%