Skip to content

Remote: Sometimes no speech from UAC screen on remote computer #18101

Description

@jcsteh

Steps to reproduce:

  1. In NVDA menu -> Preferences -> Settings -> Remote, set up a remote computer as follows:
    • Enable remote access: checked
    • Automatically connect after NVDA starts: checked
    • Mode: Allow this computer to be controlld
    • Server: Host locally
    • Key: [some key of your choosing]
  2. On the remote computer, in NVDA menu -> Preferences -> Settings -> General, press: Use currently saved settings during sign-in and on secure screens (requires administrator privileges).
  3. On your local computer, use NVDA remote access to connect to the remote computer you set up in (1).
  4. Switch to the remote computer.
  5. Press Windows+r, type cmd, and press control+shift+enter to bring up a UAC screen.

Actual behavior:

Sometimes, but not always, nothing is spoken on the local computer. The remote computer speaks, but the local computer does not. However, keys pressed on the local computer behave as expected.

Expected behavior:

Speech from the UAC screen on the remote computer should be heard on the local computer.

NVDA logs, crash dumps and other attachments:

This is a bit tricky because of the involvement of the secure desktop. Let me know what information would be most helpful here. Otherwise, I'll try to get logs from all three places, but this might take me some time.

System configuration

NVDA installed/portable/running from source:

Installed on both.

NVDA version:

Version: alpha-36403,558905f5 (2025.2.0.36403)

Windows version:

Version 24H2 (OS Build 26100.4061)

Other questions

Does the issue still occur after restarting your computer?

Yes.

Activity

  1. added theissue type on May 14, 2025
  2. SaschaCowley commented on May 14, 2025

    @SaschaCowley
    Member

    @jcsteh, you say:

    However, keys pressed on the local computer behave as expected.

    Do you mean that you are able to use the local computer to control the remote computer, despite receiving no speech feedback from the remote computer?

  3. jcsteh commented on May 14, 2025

    @jcsteh
    ContributorAuthor

    That is what I meant, yes. Sorry for the lack of clarity. I can verify this because the remote computer happens to be sitting right next to me, so I can hear its speech, even though I'm not getting anything on the "local" computer right in front of me.

  4. jcsteh commented on May 14, 2025

    @jcsteh
    ContributorAuthor

    Two other data points:

    1. I just tried connecting to a relay server instead of a locally hosted server. Same problem. So, this is not specific to the locally hosted server.
    2. When this works as expected, I hear the remote access connection sound (e-flat a-flat) on the remote computer when the UAC screen appears. When it fails, that sound is not heard.
  5. jcsteh commented on May 14, 2025

    @jcsteh
    ContributorAuthor
    Log from the remote computer for the expected result:
    IO - inputCore.InputManager.executeGesture (17:17:31.979) - winInputHook (26072):
    Input: kb(laptop):control+shift+enter
    IO - inputCore.logTimeSinceInput (17:17:32.074) - MainThread (12576):
    0.095 sec since input
    IO - speech.speech.speak (17:17:32.074) - MainThread (12576):
    Speaking [LangChangeCommand ('en_GB'), 'text', 'unavailable', CancellableSpeech (still valid)]
    IO - inputCore.logTimeSinceInput (17:17:32.154) - MainThread (12576):
    0.175 sec since input
    IO - speech.speech.speak (17:17:32.155) - MainThread (12576):
    Speaking [LangChangeCommand ('en_GB'), 'Secure Desktop']
    INFO - _remoteClient.secureDesktop.SecureDesktopHandler._onSecureDesktopChange (17:17:32.156) - MainThread (12576):
    Secure desktop state changed: entering
    INFO - _remoteClient.server.RemoteCertificateManager.ensureValidCertExists (17:17:32.157) - MainThread (12576):
    Checking certificate validity
    INFO - _remoteClient.secureDesktop.SecureDesktopHandler.enterSecureDesktop (17:17:32.399) - MainThread (12576):
    Local relay server started on port 65275
    INFO - _remoteClient.server.LocalRelayServer.run (17:17:32.399) - Thread-19 (run) (10560):
    Starting NVDA Remote relay server on port 0
    INFO - _remoteClient.transport.RelayTransport.__init__ (17:17:32.400) - MainThread (12576):
    Connecting to ('127.0.0.1', 65275) channel b70e14eb-f6ad-4be5-851d-2c80e64557a2
    INFO - _remoteClient.secureDesktop.SecureDesktopHandler.enterSecureDesktop (17:17:32.402) - MainThread (12576):
    Secure desktop setup completed successfully
    WARNING - logging.Logger.warn (17:17:32.402) - Thread-21 (run) (24512):
    Skipping certificate verification for 127.0.0.1:65275
    INFO - _remoteClient.server.LocalRelayServer.acceptNewConnection (17:17:32.427) - Thread-19 (run) (10560):
    New client connection from ('127.0.0.1', 65277)
    INFO - _remoteClient.server.Client.do_join (17:17:32.427) - Thread-19 (run) (10560):
    Client 12 authenticated successfully (connection type: master)
    INFO - _remoteClient.server.LocalRelayServer.acceptNewConnection (17:17:33.668) - Thread-19 (run) (10560):
    New client connection from ('127.0.0.1', 65280)
    INFO - _remoteClient.server.Client.do_join (17:17:33.669) - Thread-19 (run) (10560):
    Client 13 authenticated successfully (connection type: slave)
    INFO - _remoteClient.server.LocalRelayServer.clientDisconnected (17:17:35.424) - Thread-19 (run) (10560):
    Client 13 disconnected
    IO - inputCore.logTimeSinceInput (17:17:35.529) - MainThread (12576):
    3.550 sec since input
    IO - speech.speech.speak (17:17:35.529) - MainThread (12576):
    Speaking [LangChangeCommand ('en_GB'), 'Run', 'dialog', 'Type the name of a program, folder, document, or Internet resource, and Windows will open it for you.', CancellableSpeech (still valid)]
    IO - inputCore.logTimeSinceInput (17:17:35.545) - MainThread (12576):
    3.566 sec since input
    IO - speech.speech.speak (17:17:35.545) - MainThread (12576):
    Speaking [LangChangeCommand ('en_GB'), 'Open:', 'combo box', 'collapsed', CancellableSpeech (still valid)]
    IO - inputCore.logTimeSinceInput (17:17:35.548) - MainThread (12576):
    3.568 sec since input
    IO - speech.speech.speak (17:17:35.548) - MainThread (12576):
    Speaking [LangChangeCommand ('en_GB'), 'edit', 'Alt+', CharacterModeCommand(True), 'o', CharacterModeCommand(False), CancellableSpeech (still valid), 'selected cmd']
    INFO - _remoteClient.secureDesktop.SecureDesktopHandler._onSecureDesktopChange (17:17:35.644) - MainThread (12576):
    Secure desktop state changed: leaving
    INFO - _remoteClient.server.LocalRelayServer.close (17:17:35.644) - MainThread (12576):
    Shutting down NVDA Remote relay server
    INFO - _remoteClient.server.LocalRelayServer.close (17:17:35.644) - MainThread (12576):
    Server shutdown complete
    
    Log from the remote computer when this fails:
    IO - inputCore.InputManager.executeGesture (17:17:31.979) - winInputHook (26072):
    Input: kb(laptop):control+shift+enter
    IO - inputCore.logTimeSinceInput (17:17:32.074) - MainThread (12576):
    0.095 sec since input
    IO - speech.speech.speak (17:17:32.074) - MainThread (12576):
    Speaking [LangChangeCommand ('en_GB'), 'text', 'unavailable', CancellableSpeech (still valid)]
    IO - inputCore.logTimeSinceInput (17:17:32.154) - MainThread (12576):
    0.175 sec since input
    IO - speech.speech.speak (17:17:32.155) - MainThread (12576):
    Speaking [LangChangeCommand ('en_GB'), 'Secure Desktop']
    INFO - _remoteClient.secureDesktop.SecureDesktopHandler._onSecureDesktopChange (17:17:32.156) - MainThread (12576):
    Secure desktop state changed: entering
    INFO - _remoteClient.server.RemoteCertificateManager.ensureValidCertExists (17:17:32.157) - MainThread (12576):
    Checking certificate validity
    INFO - _remoteClient.secureDesktop.SecureDesktopHandler.enterSecureDesktop (17:17:32.399) - MainThread (12576):
    Local relay server started on port 65275
    INFO - _remoteClient.server.LocalRelayServer.run (17:17:32.399) - Thread-19 (run) (10560):
    Starting NVDA Remote relay server on port 0
    INFO - _remoteClient.transport.RelayTransport.__init__ (17:17:32.400) - MainThread (12576):
    Connecting to ('127.0.0.1', 65275) channel b70e14eb-f6ad-4be5-851d-2c80e64557a2
    INFO - _remoteClient.secureDesktop.SecureDesktopHandler.enterSecureDesktop (17:17:32.402) - MainThread (12576):
    Secure desktop setup completed successfully
    WARNING - logging.Logger.warn (17:17:32.402) - Thread-21 (run) (24512):
    Skipping certificate verification for 127.0.0.1:65275
    INFO - _remoteClient.server.LocalRelayServer.acceptNewConnection (17:17:32.427) - Thread-19 (run) (10560):
    New client connection from ('127.0.0.1', 65277)
    INFO - _remoteClient.server.Client.do_join (17:17:32.427) - Thread-19 (run) (10560):
    Client 12 authenticated successfully (connection type: master)
    INFO - _remoteClient.server.LocalRelayServer.acceptNewConnection (17:17:33.668) - Thread-19 (run) (10560):
    New client connection from ('127.0.0.1', 65280)
    INFO - _remoteClient.server.Client.do_join (17:17:33.669) - Thread-19 (run) (10560):
    Client 13 authenticated successfully (connection type: slave)
    INFO - _remoteClient.server.LocalRelayServer.clientDisconnected (17:17:35.424) - Thread-19 (run) (10560):
    Client 13 disconnected
    IO - inputCore.logTimeSinceInput (17:17:35.529) - MainThread (12576):
    3.550 sec since input
    IO - speech.speech.speak (17:17:35.529) - MainThread (12576):
    Speaking [LangChangeCommand ('en_GB'), 'Run', 'dialog', 'Type the name of a program, folder, document, or Internet resource, and Windows will open it for you.', CancellableSpeech (still valid)]
    IO - inputCore.logTimeSinceInput (17:17:35.545) - MainThread (12576):
    3.566 sec since input
    IO - speech.speech.speak (17:17:35.545) - MainThread (12576):
    Speaking [LangChangeCommand ('en_GB'), 'Open:', 'combo box', 'collapsed', CancellableSpeech (still valid)]
    IO - inputCore.logTimeSinceInput (17:17:35.548) - MainThread (12576):
    3.568 sec since input
    IO - speech.speech.speak (17:17:35.548) - MainThread (12576):
    Speaking [LangChangeCommand ('en_GB'), 'edit', 'Alt+', CharacterModeCommand(True), 'o', CharacterModeCommand(False), CancellableSpeech (still valid), 'selected cmd']
    INFO - _remoteClient.secureDesktop.SecureDesktopHandler._onSecureDesktopChange (17:17:35.644) - MainThread (12576):
    Secure desktop state changed: leaving
    INFO - _remoteClient.server.LocalRelayServer.close (17:17:35.644) - MainThread (12576):
    Shutting down NVDA Remote relay server
    INFO - _remoteClient.server.LocalRelayServer.close (17:17:35.644) - MainThread (12576):
    Server shutdown complete
    

    Nothing useful I can see there unfortunately. :(

  6. SaschaCowley commented on May 16, 2025

    @SaschaCowley
    Member

    Hmm, @jcsteh, can you enable the RemoteClient logging category and send debug logs from both computers?

  7. jcsteh commented on May 18, 2025

    @jcsteh
    ContributorAuthor
  8. added
    p2https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority
    triagedHas been triaged, issue is waiting for implementation.
    feature/remoteNVDA's Remote Access functionality
    on May 19, 2025
  9. added this to the 2025.2 milestone on May 29, 2025
  10. jcsteh commented on Jul 9, 2025

    @jcsteh
    ContributorAuthor
  11. added a commit that references this issue on Jul 14, 2025
    7437c80
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

bugcomponent/speechfeature/remoteNVDA's Remote Access functionalityp2https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#prioritytriagedHas been triaged, issue is waiting for implementation.

Type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions