Skip to content

fix: wait for linux rpc socket on startup#5

Open
ethanndickson wants to merge 1 commit into
mainfrom
startup-reconnect-w0xw
Open

fix: wait for linux rpc socket on startup#5
ethanndickson wants to merge 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.

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