Remote Access: prevent multiple disconnection confirmation dialogs#19442
Conversation
e54d975 to
bccb2ea
Compare
|
I checked the failed jobs and they don't seem to be related to this change; it's a minor improvement. |
|
I haven't looked at the code here, but based on the description, I think it might be better to keep a (weak) reference to the confirmation dialog, and bring it, specifically, to the foreground programmatically. |
|
Hello @SaschaCowley |
|
@SaschaCowley thoughts on targeting this to beta for 2026.1? it's a small bug fix |
|
I think this should be fine to go into 2026.1 |
|
@cary-rowen - could you re-target to beta? |
8980487 to
25f920e
Compare
…e active dialog instance
25f920e to
636c8f6
Compare
|
Thanks @seanbudd @SaschaCowley |
Link to issue number:
None.
Summary of the issue:
In NVDA Remote Access, if a user is in "Follower" mode and the "Confirm disconnection when controlled" option is enabled, triggering the "Disconnect" action multiple times in rapid succession (e.g. by clicking the menu item repeatedly) results in multiple confirmation dialogs stacking on top of each other.
Description of user facing changes:
When attempting to disconnect from a Remote Access session, if a confirmation dialog is already open, NVDA will now focus the existing dialog instead of opening a new one.
Description of developer facing changes:
None.
Description of development approach:
The
RemoteClientnow maintains a reference to the active disconnection confirmation dialog inself._disconnectConfirmationDialog.In
doDisconnect, if this reference is set, the existing dialog is brought to the foreground. Otherwise, a new dialog is created, stored in the reference, and cleared in afinallyblock after it closes. This prevents re-entrancy while targeting only the specific dialog instance.Testing strategy:
Known issues with pull request:
None.
Code Review Checklist: