Skip to content

fix: wait for linux rpc socket on startup#5

Merged
ethanndickson merged 1 commit into
mainfrom
startup-reconnect-w0xw
Jul 6, 2026
Merged

fix: wait for linux rpc socket on startup#5
ethanndickson merged 1 commit into
mainfrom
startup-reconnect-w0xw

Conversation

@ethanndickson

Copy link
Copy Markdown
Member

What changed

  • Make the Linux Unix-socket RPC client wait for the service socket to appear, matching Windows named-pipe startup behavior.
  • Remove the bounded app-level startup reconnect retry helper now that the transport itself waits until cancellation.
  • Add Linux-only regression coverage for connecting before the service socket exists.

Why

Occasional slow boots could leave the GUI stuck disconnected because Unix socket connect failed fast and the startup retry budget could exhaust before the system service created /run/coder-desktop/vpn.sock. Waiting at the transport layer makes startup resilient without a separate retry workaround.

How validated

  • dotnet restore Tests.Vpn/Tests.Vpn.csproj
  • dotnet restore App.Avalonia/App.Avalonia.csproj
  • dotnet test Tests.Vpn/Tests.Vpn.csproj --no-restore -v q — passed, 25 tests
  • dotnet build App.Avalonia/App.Avalonia.csproj --no-restore -v q — passed, with existing Avalonia warnings in DependencyObjectSelector.cs

Risk / rollback notes

Low risk: the behavior is limited to Linux RPC startup. If the service socket never appears, connection waits until the app shuts down or the caller cancels, which matches the intended Windows behavior. Roll back by reverting the transport wait loop and restoring bounded startup retries.

@ethanndickson ethanndickson added this pull request to the merge queue Jul 6, 2026
Merged via the queue into main with commit 7f3de64 Jul 6, 2026
1 check passed
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.

1 participant