forked from nvaccess/nvda
-
Notifications
You must be signed in to change notification settings - Fork 0
[pull] master from nvaccess:master #85
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
pull
wants to merge
170
commits into
AKJUS:master
Choose a base branch
from
nvaccess:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
From translation svn revision: 83957 Authors: Fatma Mehanna <fatma.mehanna@gmail.com> Shaimaa Ibrahim <shamse1@gmail.com> Abdelkrim Bensaid <abdelkrim.bensaid@free.fr> Omar Alojaimi <amrahmad1995@gmail.com> Stats: 1717 588 user_docs/ar/changes.md 12 3 user_docs/ar/userGuide.md 2 files changed, 1729 insertions(+), 591 deletions(-)
From translation svn revision: 83957 Authors: Zahari Yurukov <zahari.yurukov@gmail.com> Kostadin Kolev <k.kolev1985@gmail.com> Stats: 341 316 user_docs/bg/changes.md 1 file changed, 341 insertions(+), 316 deletions(-)
From translation svn revision: 83957 Authors: Daniel K. Gartmann <kontakt@nvda.dk> Nicolai Svendsen <chojiro1990@gmail.com> bue@vester-andersen.dk Stats: 4868 3 user_docs/da/changes.md 1 file changed, 4868 insertions(+), 3 deletions(-)
From translation svn revision: 83957 Authors: Ali Aslani <aslani.ali@gmail.com> Mohammadreza Rashad <mohammadreza5712@gmail.com> Stats: 2537 357 user_docs/fa/changes.md 1 file changed, 2537 insertions(+), 357 deletions(-)
From translation svn revision: 83957 Authors: Jani Kinnunen <janikinnunen340@gmail.com> Isak Sand <isak.sand@gmail.com> Stats: 1064 216 user_docs/fi/changes.md 1 file changed, 1064 insertions(+), 216 deletions(-)
From translation svn revision: 83957 Authors: Hrvoje Katic <hrvojekatic@gmail.com> Zvonimir Stanecic <zvonimirek222@yandex.com> Milo Ivir <mail@milotype.de> Dejana Rakic <dejana.rakic.2@gmail.com> Stats: 3572 1155 user_docs/hr/changes.md 1 file changed, 3572 insertions(+), 1155 deletions(-)
From translation svn revision: 83957 Authors: Simone Dal Maso <simone.dalmaso@gmail.com> Alberto Buffolino <a.buffolino@gmail.com> Stats: 181 72 user_docs/it/changes.md 1 file changed, 181 insertions(+), 72 deletions(-)
From translation svn revision: 83957 Authors: Takuya Nishimoto <nishimotz@gmail.com> Minako Nonogaki <minakonono3519@gmail.com> Stats: 89 5 user_docs/ja/changes.md 1 file changed, 89 insertions(+), 5 deletions(-)
From translation svn revision: 83957 Authors: Bram Duvigneau <bram@bramd.nl> Bart Simons <bart@bartsimons.be> A Campen <a.campen@wxs.nl> Leonard de Ruijter <alderuijter@gmail.com> Stats: 2871 103 user_docs/nl/changes.md 103 106 user_docs/nl/userGuide.md 2 files changed, 2974 insertions(+), 209 deletions(-)
From translation svn revision: 83957 Authors: Patryk Faliszewski <patric3031@wp.pl> Zvonimir Stanecic <zvonimirek222@yandex.com> Dorota Krac <dorkakrac@yandex.com> Piotr Rakowski <kontakt@piotrrakowski.net> Hubert Meyer <hubmeyer1989@gmail.com> Arkadiusz Swietnicki <nuno69a@gmail.com> Stats: 3594 1981 user_docs/pl/changes.md 1 file changed, 3594 insertions(+), 1981 deletions(-)
From translation svn revision: 83957 Authors: Cleverson Casarin Uliana <nvdasrt@clul.router5.com> Marlin Rodrigues <marlincgrodrigues@yahoo.com.br> Tiago Melo Casal <tcasal@intervox.nce.ufrj.br> Lucas Antonio <lucasantoniocwb@gmail.com> Stats: 138 80 user_docs/pt_BR/changes.md 1 1 user_docs/pt_BR/userGuide.md 2 files changed, 139 insertions(+), 81 deletions(-)
From translation svn revision: 83957 Authors: Diogo Costa <diogojoca@gmail.com> Rui Batista <ruiandrebatista@gmail.com> Rui Fontes <rui.fontes@tiflotecnia.com> Ângelo Abrantes <ampa4374@gmail.com> Stats: 3067 3264 user_docs/pt_PT/changes.md 1 file changed, 3067 insertions(+), 3264 deletions(-)
From translation svn revision: 83957 Authors: Zvonimir Stanecic <zvonimirek222@yandex.com> Aleksandr Lin'kov <kvark128@yandex.ru> Stats: 10 10 user_docs/ru/changes.md 85 85 user_docs/ru/userGuide.md 2 files changed, 95 insertions(+), 95 deletions(-)
From translation svn revision: 83957 Authors: Ondrej Rosik <ondrej.rosik@gmail.com> Peter Vagner <peter.v@datagate.sk> Jan Kulik <jan.kulik.szsle@outlook.sk> Stats: 1200 131 user_docs/sk/changes.md 1 file changed, 1200 insertions(+), 131 deletions(-)
From translation svn revision: 83957 Authors: Dinakar T.D. <td.dinkar@gmail.com> Stats: 376 565 user_docs/ta/userGuide.md 1 file changed, 376 insertions(+), 565 deletions(-)
From translation svn revision: 83957
From translation svn revision: 83977 Authors: Dan Pungă <dan.punga@gmail.com> Florian Ionașcu <contact@florian-ionascu.ro> Alexandru Matei <alexandrumateistelian@gmail.com> Nicuşor Untilă <nicusoruntila@yahoo.com> Adriani Ionuț Botez <ionutz_tero@yahoo.com> Dragoș Grecianu <grecianu.dragos@gmail.com> Daniela Popovici <vlajna95@gmail.com> George Antonio Andrei <george.andrei2002@gmail.com> Mădălin Grădinaru <madalingradinaru@gmail.com> Stats: 3 0 user_docs/ro/userGuide.md 1 file changed, 3 insertions(+)
From translation svn revision: 83977 Authors: wangjanli@gmail.com maro.zhang@gmail.com Aaron Wu <waaron2000@gmail.com> Victor Cai <surfer0627@gmail.com> haach111000@gmail.com Stats: 2 2 source/locale/zh_TW/characterDescriptions.dic 1 file changed, 2 insertions(+), 2 deletions(-)
From translation svn revision: 83977
From translation svn revision: 83985 Authors: wangjanli@gmail.com maro.zhang@gmail.com Aaron Wu <waaron2000@gmail.com> Victor Cai <surfer0627@gmail.com> haach111000@gmail.com Stats: 3 3 source/locale/zh_TW/characterDescriptions.dic 1 file changed, 3 insertions(+), 3 deletions(-)
From translation svn revision: 83985
From translation svn revision: 84068 Authors: Jani Kinnunen <janikinnunen340@gmail.com> Isak Sand <isak.sand@gmail.com> Stats: 1 3 source/locale/fi/symbols.dic 1 file changed, 1 insertion(+), 3 deletions(-)
From translation svn revision: 84068
From translation svn revision: 84076 Authors: Joseph Lee <joseph.lee22590@gmail.com> Chang-Hwan Jang <462356@gmail.com> Dong Hee Park <hi@aheu.org> Stanley Chung <stanley@mail.com> Stats: 2696 573 user_docs/ko/changes.md 1 file changed, 2696 insertions(+), 573 deletions(-)
From translation svn revision: 84076
From translation svn revision: 84219 Authors: wangjanli@gmail.com maro.zhang@gmail.com Aaron Wu <waaron2000@gmail.com> Victor Cai <surfer0627@gmail.com> haach111000@gmail.com Stats: 9 9 source/locale/zh_TW/characterDescriptions.dic 1 file changed, 9 insertions(+), 9 deletions(-)
From translation svn revision: 84219
From translation svn revision: 84304 Authors: Jani Kinnunen <janikinnunen340@gmail.com> Isak Sand <isak.sand@gmail.com> Stats: 2 2 source/locale/fi/symbols.dic 1 file changed, 2 insertions(+), 2 deletions(-)
From translation svn revision: 84304
This fixes #17980 Summary of the issue: For PDF, the code was not grabbing MathML attributes needed for speech. Description of user facing changes The speech for math, and rarely the braille (e.g., bevelled fractions in Nemeth), was not always correct due to attributes not being picked up and the defaults being used. Description of development approach Unfortunately, the PDF interface does not allow grabbing all the attributes. Instead, one must ask for each attribute individually. Most attributes don't affect speech or braille, so it is not necessary to get them. I looked at what MathCAT used and added those.
Blocked by #17984 Summary of the issue: In #17276, NVDA now treats the value of formular nodes in Adobe Acrobat as mathml, with out any real validation. In PDF 2.0 documents, this is no doubt an okay assumption, but for PDF 1.7 documents generated by Microsoft Word, this is now causing Microsoft word generated math speech alternative text to be processed by mathCAT, resulting in broken or junk navigation, as Microsoft Word is exposing its math speech text as the value of the node. However, at the same time Microsoft has also introduced a new custom mathml attribute it is exposing on formula nodes in PDFs generated from Microsoft Word, that contains real mathMl which is suitable for MathCAT. NVDA should make use of this new custom attribute if it exists. Description of user facing changes In Adobe Acrobat, NVDA can now read and interact with Math equations in PDF documents generated by Microsoft word. Description of development approach AcrobatNode NVDAObject's mathml property: first try and fetch Microsoft Office's custom mathMl custom attribute if it exists. Otherwise fallback to using the node's value or descendants.
Beta to master
…18045) Fixes #18023 Summary of the issue: SCons reading script files is very slow on Github Actions. This has been pinpointed to the initialization of the msvc SCons tool, particularly during execution of vcvarsall.bat Description of user facing changes About five minutes less runner time for a push.🚀 Description of development approach We now cache the execution of vcvars using the SCONS_CACHE_MSVC_CONFIG environment variable: For Appveyor, set the variable to True. This means that the cache is saved in the user profile. This is fine on appveyor because we're executing everything in one run. This is in line with how SCons runs appveyor itself. For Github Actions, use a separate cache for the MSVC json file. After the first run, save the cache json file as part of the workspace. The cache action handles this automatically, there's no need to use cache/restore and cache/save explicitly.
Fixes #18037 Summary of the issue: Remote Access's previously connected servers aren't being written to disc when the config is saved. Description of user facing changes Previously connected Remote Access servers are now persisted across NVDA restarts. Description of development approach The issue is because configobj only recognises config items as having changed when __setitem__ is called. Since lists are mutable, this was not happening. Tidied up the _remoteClient.configuration.writeConnectionToConfig function a bit. Don't take any action if the server to persist is already the last server stored in config.conf["remote"]["connections"]["lastConnected"]. Set config.conf["remote"]["connections"]["lastConnected"] to itself so that configobj recognises that it has changed, and will thuss write it out when saving the config.
Summary of the issue: Remote Access's logging strategy is currently suboptimal. Description of user facing changes A new debug logging category, remoteClient, has been added. When this is enabled, more information is logged by Remote Access. Log messages that were previously not stored are now shown in NVDA's logs. Description of development approach In the config schema, add a new boolean key, remoteClient, to the debugLogging category. Add this to the list of log categories in the advanced settings panel. Also add a _isDebugForRemoteClient function to _remoteClient.configuration which returns the value of this config item. In the TCPTransport class, if debug logging is enabled for remoteClient, log incoming and outgoing messages to make debugging easier. In _remoteClient.localMachine and _remoteClient.serializer, switch to using logHandler.log, rather than a custom logger, so that all logs are collected in the same place.
…cess (#18044) Fixes #18041 Summary of the issue: Accidental disconnection as a follower in Remote Access can cause loss of control, especially for physically inaccessible computers. Description of user facing changes - Added a "Confirm when disconnecting as a follower" checkbox to Remote Access settings (enabled by default). - When enabled, NVDA will show a confirmation dialog before disconnecting from a remote session as a follower. Description of development approach - Added the `confirmDisconnect` option (default: True) to the Remote Access settings and configuration. - In `client.py`, updated the `disconnect` method to show a confirmation dialog if the option is enabled and the client is in follower mode. Testing strategy: Manual testing
Follow-up to #18044 Summary of the issue: The Remote Access disconnect confirmation dialog blocks the main thread. Description of user facing changes Dialog doesn't block the main thread. Description of development approach Undid my change that only called the dialog on the GUI thread, and instead called the whole disconnect function on the GUI thread (as @@cary-rowen did). Waiting for the response from the GUI thread still blocked the main thread, causing NVDA to lock up. Modified the unit tests to unwrap `RemoteClient.disconnect` before calling it, so that it runs on the same thread as the unit tests. Failure to do so causes the tests to fail as the two threads aren't synchronised. This is why I initially changed this function, but evidently I wasn't thinking or testing properly. Testing strategy: Ran from source, connected as follower, tried to disconnect, ensured I could still use NVDA and that the process worked as expected.
) Closes #17946 Supersedes #17987 Summary of the issue: Remote Access's settings are entirely absent from the settings dialog in secure mode. Description of user facing changes Remote Access's settings are now present, but disabled, in the settings dialog in secure mode. Description of development approach Add all controls in the Remote Access settings panel to a static box sizer so that they can be disabled en masse. If running in secure mode, disable this static box. Also add a `wx.adv.BannerWindow` explaining why the controls are read-only, similar to the Add-on Store dialog. Move `RemoteSettingsPanel` to always be present in the settings categories. Testing strategy: Started NVDA normally and in secure mode (with `--secure`) and opened Remote Access's settings. Known issues with pull request: The checkboxes are not visually dimmed, though they are inoperable.
…e NVDA Menu (#18070) Closes #17947 Supersedes #17991 Summary of the issue: When executing some Remote Access actions via the Remote Access submenu in the NVDA menu, the status is interrupted by the focus changing, making the messages useless. Description of user facing changes Remote Access actions performed via the NVDA menu should now correctly report their status. Description of development approach - Add a `delayedMessage` function to `ui`, based on the approach taken for focusing open blocking modals in #17582. - Remove the now duplicated code, and replace it with a call to `ui.delayedMessage`. - In `_remoteClient.client.RemoteClient`, updated `copyLink`, `pushClipboard`, and `toggleMute`, to use `ui.delayedMessage` instead of `ui.message`, as these methods can be envoked directly from the menu. - Also moved the success message out of `globalCommands.GlobalCommands.script_copyRemoteLink` into `_remoteClient.client.RemoteClient.copyLink`. - Updated `_remoteClient.cues._playCue` to use `ui.delayedMessage` instead of `ui.message`, as the "Disconnect" menu item causes a cue to be issued. This means that cues should work even if issued at the same time as a UI change, and should have very little performance impact. Testing strategy: - Performed the above listed commands with and without a Remote Access session in progress.
Merge beta to master
NVDA's translation documentation for Crowdin is hard to follow and is missing some key information and warnings, such as: • Where NVDA's l10n utility is located • Not to download / upload translation files directly with Crowdin or use Poedit's Crowdin cloud translation feature • The fact that translation approvals are disabled on the project, meaning strings are essentially auto approved. Description of user facing changes Improve Translation documentation for Crowdin. Specifically: • Sections are now ordered in a (hopefully) more logical way: ◦ Creating a Crowdin account ◦ Translation workflows ▪ Translating via Crowdin's web interface ▪ Translation Reviews / Approvals ▪ Translating with Poedit ▪ Setting up PoEdit ▪ Locating the NVDA l10n Utility ▪ Downloading po / xliff files with NVDA's l10n Utility ▪ Translating po / xliff files using PoEdit ▪ Uploading po / xliff files with NVDA's l10n Utility ◦ Translating NVDA's interface ◦ Translating NVDA's user documentation • Provided info on where to find NvDA's l10n utility. • Clarified that translation approvals are disabled. • Added a clear warning not to download / upload translation files directly via Crowdin, nor use Poedit's Crowdin cloud translation feature, as these can corrupt xliff files. * Corrected incorrect shortcut key in Poedit * Removed misleading sentence about Poedit not supporting approvals
PR Summary This PR migrates from unittest.assertEquals to unittest.assertEqual which is deprecated from Python2.7: DeprecationWarning: Please use assertEqual instead.
Update tracked translations for 2025.1beta5
…l computer (#18077) Closes #17969 Summary of the issue: The default gesture to toggle control between guest and host (NVDA+alt+tab) results in unintended consequences on the remote computer. Description of user facing changes These consequences should be avoided. Description of development approach Refactored keyboardHandler.KeyboardInputGesture.__init__ to make the logic for generalising modifier keys its own method. In _remoteClient.client.RemoteClient.releaseKeys, send a keydown and keyup for VK_NONE before releasing all modifiers, if not doing so could cause side effects. Based on the logic in keyboardHandler.KeyboardInputGesture.executeGesture.
Fixes #18081. Summary of the issue: When using NVDA Remote Access, if you are disconnected from the remote server while controlling the remote computer, it is impossible to switch back to the local computer. Description of user facing changes It is now possible to switch back to the local computer in this situation. Description of development approach 1. In `RemoteClient.toggleRemoteKeyControl`, only check if we're disconnected when switching to the remote computer. If we're switching to the local computer, allow the switch regardless of the connection status. 2. In `TCPTransport.send`, log the disconnected error as a debugWarning instead of an error to prevent spurious error sounds in this case, since it is an expected, albeit less common, scenario. I considered returning control to the local computer immediately when the server disconnects. However, there are two problems with this that made me decide against it: 1. It is risky because the user might press keys thinking they are going to the remote computer, when they're actually going to the local computer. Switching should always be an explicit user action. 2. The disconnection might be temporary and the user shouldn't have to switch again in that case. Testing strategy: Followed the steps to reproduce from #18081. Verified the expected result.
Follow up for #10393 Summary of the issue: Since #10393, we log at level warning or higher for external Python dependencies. There is no way to enable logging at lower levels, such as debug. This can however be pretty helpful for external dependencies like comtypes to see what's going on under the hood. Description of user facing changes Have extra logging when a new debugging category, `externalPythonDependencies`, is enabled. Description of development approach The overall logging level is now determined from the level of the root logger, which is no longer limited to a minimum of WARNING. Instead, a filter is implemented on the handler that filters appropriately. Note that initially, it made sense to add this filter to the root logger, but filters don't propagate from the root logger to all loggers below. Testing strategy: Calling `comtypes.CoInitialize` with and without the new category enabled, logging at level debug. Ensured that behavior was as expected (i.e. comtypes logged when the category was enabled) Known issues with pull request: In #10393, I mentioned issues with re-entrancy when comtypes logs at level debug. I have not yet reproduced this. That said, the logging categories are documented in such a way that they should only be enabled on request. I don't think this needs extra documentation.
Fixes #18039 Summary of the issue: The mute and send SAS items are available in the Remote Access submenu even when connected as a follower. Description of user facing changes These options are only shown when connected as a leader. Description of development approach In `_remoteClient.menu.Menu.handleConnected`, only enable the mute and send SAS menu items if connected and connection mode is leader. In `_remoteClient.client.RemoteClient`, updated the `toggleMute` and `sendSAS` methods to report failure and return early when not connected as leader. Updated unit tests to work with the new checks. Testing strategy: Manually tested that the items are unavailable in the given situations. Unit tests. Known issues with pull request: None.
Fixes #17944 Summary of the issue: * The description of "This action cannot be undone." in "Delete all trusted fingerprints" is inaccurate and can be easily restored by pressing NVDA+Ctrl+R. * The Remote Access section in the user guide is fairly repetitive, in particular the Setting Up a Remote Access session, and the Remote Access Dialog section. Note that #17944 also mentions two problems which from my reading seem to already be addressed by previous PRs: 1. The usage of "Allow this machine to be controlled", "Control another machine", "Relay Server", "Direct Connection" is outdated. 2. "You can assign further commands in the Remote section of the Input Gestures dialog." This sentence should be adjusted appropriately to emphasize assigning shortcut keys to commands that have not assigned keys. Description of user facing changes * Remote access settings - delete fingerprints: remove note that this action cannot be undone from both the warning dialog and the user guide, as reverting NVDA's config will restore these. * Remote access Getting Started section in user guide: again remind the user that enable remote access needs to be checked before the Remote Access menu in the Tools menu will be available. * userguide: rewrite the Setting Up a Remote Access Session, merging the Remote Access Dialog section directly into it, removing repetitiveness. Description of development approach n/a Testing strategy: n/a Known issues with pull request: None known.
Merge beta to master
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.1)
Can you help keep this open source service alive? 💖 Please sponsor : )