Skip to content

feat(agent): add virtual channel diagnostics - #2193

Merged
Richard Markiewicz (thenextman) merged 4 commits into
masterfrom
thenextman-investigate-rendezvous-hardened-hosts
Nov 12, 2026
Merged

Richard Markiewicz (thenextman) merged 4 commits into
masterfrom
thenextman-investigate-rendezvous-hardened-hosts

Conversation

@thenextman

Copy link
Copy Markdown
Member

The tray app can now check whether dynamic virtual channels work in the current remote session.
A hidden menu item (Ctrl+right-click, "Test virtual channels...") opens the built-in ECHO channel, the Devolutions::Now::Agent channel and a name no client registers, then shows each outcome next to the expected one.

Support can use it to tell a host where virtual channels fail for every program from one where only the Now channel fails.
The Now channel is skipped while Devolutions Session runs in the session, because opening it again would replace the live channel.

@thenextman

Copy link
Copy Markdown
Member Author

Lines changed

Category Added Removed
Production code (dotnet/DesktopAgent) 326 1
Tests 0 0
Other files 0 0

There is no test project for DesktopAgent, so none was added.
The files typecheck for net48 with warnings as errors; the full project does not build on macOS because of its image resources, so the dialog layout and the Windows call are unexercised until CI produces an artifact.

UNTESTED: properties

  • ChannelProbe.ProbeNow must never open Devolutions::Now::Agent while Devolutions Session runs in the same session.
    A second open offers the client another channel, which replaces the live one.
    The running-process check is the only guard; when changing it, check that the open stays gated on it.

Note

Human-tuned, LLM-assisted content.

@github-actions

Copy link
Copy Markdown

Let maintainers know that an action is required on their side

  • Add the label release-required Please cut a new release (Devolutions Gateway, Devolutions Agent, Jetsocat, PowerShell module) when you request a maintainer to cut a new release (Devolutions Gateway, Devolutions Agent, Jetsocat, PowerShell module)

  • Add the label release-blocker Follow-up is required before cutting a new release if a follow-up is required before cutting a new release

  • Add the label publish-required Please publish libraries (`Devolutions.Gateway.Utils`, OpenAPI clients, etc) when you request a maintainer to publish libraries (Devolutions.Gateway.Utils, OpenAPI clients, etc.)

  • Add the label publish-blocker Follow-up is required before publishing libraries if a follow-up is required before publishing libraries

@thenextman
Richard Markiewicz (thenextman) marked this pull request as ready for review November 12, 2026 16:40
Copilot AI balanced review requested due to automatic review settings November 12, 2026 16:40

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The Now probe lacks exclusive channel ownership and can disrupt a live session during a concurrent host launch, while RemoteFX RDP sessions can be misclassified and skip diagnostics.

2 open issues
What changed in this PR

Adds virtual-channel diagnostics to the Agent tray app so support can distinguish general channel failures from problems specific to the Now channel.

Changes:

  • Adds a hidden Ctrl+right-click menu action to launch diagnostics.
  • Probes ECHO, Devolutions::Now::Agent, and an unregistered channel, reporting actual versus expected outcomes.
  • Provides rerun and copy controls, logs results, and checks for a running session host before probing Now.
File Description
dotnet/​DesktopAgent/​Program.cs Adds the hidden diagnostics menu action.
dotnet/​DesktopAgent/​Diagnostics/​ChannelProbeForm.cs Adds the report window with background execution, rerun, and copy controls.
dotnet/​DesktopAgent/​Diagnostics/​ChannelProbe.cs Implements channel probes, session-host detection, and diagnostic reporting.

Review effort: Balanced

@thenextman
Richard Markiewicz (thenextman) merged commit 5f2b273 into master Nov 12, 2026
55 checks passed
@thenextman
Richard Markiewicz (thenextman) deleted the thenextman-investigate-rendezvous-hardened-hosts branch November 12, 2026 18:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants