Closed gnarf closed 1 year ago
@gnarf The most recent release of NVDA includes a new add-on management system, called the Add-On Store. It's possible that, depending on how exactly you updated your portable copy of NVDA, the add-on is not even being loaded. I say this because if the code to start the server socket did fail and threw an error, this would not be silently swallowed by NVDA, but instead logged by globalPluginHandler.initialize
. We also have no code in our add-on which silently discards errors.
To verify this, you could add a print
statement in globalPlugins/CommandSocket/__init__.py
, inside GlobalPlugin.__init__
before anything else happens:
class GlobalPlugin(globalPluginHandler.GlobalPlugin):
def __init__(self):
print('CommandSocket: initialising...')
self._command_server = Server(COMMAND_PORT)
# etc.
Or, alternatively just blow away your NVDA config and reinstall the add-on from within the Store UI so that you know it is definitely enabled.
tried to get this installed, but it doesn't seem to let me "install from external source" and the plugin is listed as "incompatible"
Any chance you could update the README for how to install it via the addon store?
@gnarf For add-ons like this one which are not available in the Store itself, i.e. that are installed from a file, the installation procedure hasn't really changed other than the UI being slightly different.
Start by creating a ZIP archive of the contents of the "NVDAPlugin" directory, not including the directory itself. That is, the root of the ZIP file should contain the "globalPlugins" and "synthDrivers" directories, along with the "manifest.ini" file. Modify the manifest as needed either before creating the ZIP, or change the copy inside the archive after creation.
Change the file extension of the archive from .zip
to .nvda-addon
, and then either:
.nvda-addon
file on your system.Please also make sure you provide descriptive alt text for all images posted on this repo.
I made the .zip, renamed it to .nvda-addon extension, and installed it that way. After restarting NVDA it still says CommandSocket is disabled (incompatible) - have you been able to install the addon using these instructions? I'm wondering where I could've gone wrong.
For reference here is the contents of the manifest.ini I'm trying:
name = "CommandSocket"
summary = "Command Socket"
version = "1.0"
description = "Websocket interface allowing for command-and-control"
author = "Job van Achterberg <job@pac.bz>"
url = "https://pac.bz/nvda-remote-control-addon"
docFileName = "readme.html"
minimumNVDAVersion = "2022.1"
lastTestedNVDAVersion = "2023.2"
have you been able to install the addon using these instructions?
@gnarf Yes. I modified the manifest, made the .zip
, renamed to .nvda-addon
, and installed through the Add-On Store. After a restart, the relevant row in the Add-On Store reads:
Command Socket; Installed version: 1.0; Channel: External; Author: Job van Achterberg <job@pac.bz>; Status: Enabled
@gnarf Giving this some more thought, NVDA 2023.2 was not an API-breaking release, and therefore didn't require the compatibility flags for any add-ons to be updated if they were already compatible with 2023.1. As such, there should have been no need to update the manifest at all, and the add-on should have continued to work as before.
With that in mind, I would probably suggest deleting your userConfig
directory and starting from scratch. This now seems like an NVDA issue.
Okay - I tried to do this again a few times, eventually figured out that it was giving me trouble getting it installed while running from the portable copy. If I installed NVDA then install the addon, then create the portable copying config, it seemed to work. Now running into a completely different issue on the cloud runner, but I don't think it's addon related.
I wanted to thank you once again for quick replies and help! I thought you might like to see the logs from a test run using the plugin in 2022.3 just to see it! (The "artifact" has the log files, and the "Run Harness" step is where it prints them in the action setup.
Alright! That next problem was indeed, not a problem with the addon. A successful 2023.2 run has happened, full loop reading and testing!
Hey there I left a message on my previously closed issue but since it went about 24 hours without a reply and you've been really quick to reply to me on new issues I figured I would open a new one just in case my reply got lost.
I manually updated the manifest file the same way you had for 2023.1 and tried launching it with NVDA but it never opens port 8765 - I pasted some debug logs from NVDA in case they are helpful (my last comment on https://github.com/Prime-Access-Consulting/nvda-at-automation/issues/33#issuecomment-1710666070 )