Skip to content

feat(server): tell the input handler when the client opens ainput - #2358

Open
org-event wants to merge 2 commits into
Devolutions:masterfrom
org-event:server-advanced-input-opened
Open

org-event wants to merge 2 commits into
Devolutions:masterfrom
org-event:server-advanced-input-opened

Conversation

@org-event

@org-event org-event commented Nov 3, 2026 •

Copy link
Copy Markdown

FreeRDP-based clients open the advanced input channel (FreeRDP::Advanced::Input) and the Microsoft clients do not, so a server can tell them apart, for example to send a codec only FreeRDP decodes reliably. RdpServerInputHandler::advanced_input_opened is called when the client accepts the channel; its default does nothing. BoundInputSlot forwards it like the other input events.

The call is not ordered with the advanced-input mouse events, which run as separate tasks; the trait documentation says so. BoundInputSlot now has one dispatch helper for its three forwarding methods.

@github-actions github-actions Bot added kind/protocol Affects RDP or related protocol behavior risk/medium Behavioral change that does not substantially alter a core public API size/S Size: up to 199 counted lines and 5 files; exceeds XS in either measure labels Nov 3, 2026
Ivan Zaharov added 2 commits November 3, 2026 22:18
FreeRDP-based clients open the advanced input channel
(`FreeRDP::Advanced::Input`) and the Microsoft clients do not, so a
server can tell them apart, for example to send a codec only FreeRDP
decodes reliably. `RdpServerInputHandler::advanced_input_opened` is
called when the client accepts the channel; its default does nothing.
`BoundInputSlot` forwards it like the other input events.
The three BoundInputSlot handlers repeated the same lock, bound-handler
and fallback steps; a `dispatch` helper now holds them once. The
`advanced_input_opened` documentation says that the call is not ordered
with the advanced-input mouse events, which run as separate tasks.
@org-event
org-event force-pushed the server-advanced-input-opened branch from 36fbbf4 to e0668ae Compare November 3, 2026 19:21
@github-actions github-actions Bot added risk/high Substantial core public API impact, or fail-closed triage; needs maintainer-level scrutiny triage/overlap Possible overlap with another pull request; advisory only and removed risk/medium Behavioral change that does not substantially alter a core public API labels Nov 3, 2026
@github-actions

github-actions Bot commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

This pull request may overlap with #2357.

PR 2357's body explicitly lists the same feature, RdpServerInputHandler::advanced_input_opened called when the client accepts FreeRDP::Advanced::Input, noting it is also open as a focused PR; this PR implements exactly that server-side hook plus the BoundInputSlot dispatch refactor and tests.

This notice is advisory only. Automated review continues as usual, and how these pull requests relate is for maintainers and authors to decide.

Note

LLM-assisted content (no human feedback).

This branch was previously deployed

1 inactive deployment
llm-providers — e0668ae2 Deployed Nov 3, 2026 by org-event via Classify pull request #12749
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind/protocol Affects RDP or related protocol behavior risk/high Substantial core public API impact, or fail-closed triage; needs maintainer-level scrutiny size/S Size: up to 199 counted lines and 5 files; exceeds XS in either measure triage/overlap Possible overlap with another pull request; advisory only

Development

Successfully merging this pull request may close these issues.

1 participant