You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Bug]: desktop clients older than #23037 can't connect to newer servers (compactIdleThreads changed from boolean to string) #23109
The older desktop client connects, or reports a version mismatch.
Actual behavior
The connection fails in a loop with Cause: transport and Error: <host> connection failed unexpectedly.
The SSH tunnel, /.well-known/t3/environment, /api/auth/session and /api/auth/websocket-ticket all return 200, and /ws upgrades with 101. Each time, the client closes the socket within a few seconds of ws.rpc.subscribeServerConfig, which the server logs as InterruptError: All fibers interrupted without error.
#23037 changed ServerSettings.compactIdleThreads from Schema.Boolean to IdleCompactionModeSetting, which encodes as a string literal ("onReturn" by default). A client built before #23037 decodes that field as Schema.Boolean, so it fails to decode the server config and drops the connection. The patch type changed the same way (Schema.optionalKey(Schema.Boolean) to Schema.optionalKey(IdleCompactionMode)).
Impact
Any desktop client older than #23037 cannot use a remote environment running a newer server. No nightly containing #23037 had shipped yet, so the newest published desktop build couldn't connect to a server built from main.
macOS desktop client connecting over SSH to a Linux (Arch) host.
Workaround
Run a server build from before d13fc84 (for example 0bdf33a34) until the client updates.
A possible fix is to keep compactIdleThreads a boolean on the wire and carry the mode in a new field, or to have clients decode unknown setting values leniently.
Reproduced with the unchanged historical web client at 680152e27b against the real Linux server at 2333f16884: config decoding rejects the string and the socket closes/retries. The same client connects with the compatible wire codec. Fix and runtime evidence: #23213. 115 focused tests pass after merging main. Native Electron and the SSH transport were not verified.
Activity
juliusmarminge commentedon Oct 22, 2026
Reproduced with the unchanged historical web client at 680152e27b against the real Linux server at 2333f16884: config decoding rejects the string and the socket closes/retries. The same client connects with the compatible wire codec. Fix and runtime evidence: #23213. 115 focused tests pass after merging main. Native Electron and the SSH transport were not verified.
soyricardodev commentedon Oct 22, 2026
I tried hard to fix and debug this on my 5 laptops and 3 phones connected everithing failiing before the update T.T i need this fixed asap
I am literally disconected from my fleet
juliusmarminge commentedon Oct 30, 2026
Fixed on main by #23454 (43879d9): older clients connect again after idle compaction modes. Closing.