Date   
Monitor page refresh in browser

Beqa Gozalishvili
 

hello.


i am writing some addon and i need to monitor change on webpage when
page reloads.

i can check if something exists, but i can' invoke it when page reloads.

is there some event or something else to be sure that page refreshed
and invoke some part of code?


thanks.

Re: Ref :https://github.com/nvaccess/nvda/pull/10078

derek riemer
 

Yes, it's in master.
FYI, You can tell by looking to see if the PR was merged. Soon after a PR is merged, an automatic build process deploys an alpha snapshot. To see if something was merged, you can check the heading 1 on the page. the line after it says merged.
For example,
Ensure that no reference is kept to sapi4 synth on terminate #10078
is what you want on this PR.


On Mon, Aug 19, 2019 at 2:32 AM Brian's Mail list account via Groups.Io <bglists=blueyonder.co.uk@groups.io> wrote:
https://github.com/nvaccess/nvda/pull/10078

Hi has this made it to the alpha snaps yet?
 I'm not up to speed with how this process  works but on the current alpha
we see a few issues still. 1. it says Yield is deprecated, but later on  it
seems like there is indeed a circular issue that calls itself until
something gives up then windows notices and asks if you want to close it but
of course its stopped speaking so you never here the message!
INFO - updateCheck.AutoUpdateChecker._started (09:04:42.038):
Performing automatic update check
IO - inputCore.InputManager.executeGesture (09:04:45.043):
Input: kb(desktop):NVDA+n
IO - speech.speak (09:04:45.107):
Speaking [LangChangeCommand ('en_GB'), 'NVDA  menu']
IO - inputCore.InputManager.executeGesture (09:04:50.786):
Input: kb(desktop):downArrow
IO - speech.speak (09:04:50.814):
Speaking [LangChangeCommand ('en_GB'), 'Preferences  subMenu  p']
IO - inputCore.InputManager.executeGesture (09:04:52.410):
Input: kb(desktop):rightArrow
IO - speech.speak (09:04:52.438):
Speaking [LangChangeCommand ('en_GB'), 'Settings...  s  1 of 6']
IO - inputCore.InputManager.executeGesture (09:04:53.594):
Input: kb(desktop):enter
DEBUG - gui.settingsDialogs.__new__ (09:04:53.599):
Creating new settings dialog (multiInstanceAllowed:False). State of
_instances {}
DEBUG - windowUtils.getWindowScalingFactor (09:04:53.600):
GetDpiForWindow failed, using GetDeviceCaps instead
DEBUG - windowUtils.getWindowScalingFactor (09:04:53.606):
GetDpiForWindow failed, using GetDeviceCaps instead
IO - speech.speak (09:04:53.690):
Speaking [LangChangeCommand ('en_GB'), 'NVDA Settings: General (normal
configuration)  dialog']
IO - speech.speak (09:04:53.692):
Speaking [LangChangeCommand ('en_GB'), 'Categories:  list']
IO - speech.speak (09:04:53.697):
Speaking [LangChangeCommand ('en_GB'), 'General  1 of 15']
IO - inputCore.InputManager.executeGesture (09:04:55.595):
Input: kb(desktop):downArrow
DEBUG - windowUtils.getWindowScalingFactor (09:04:55.597):
GetDpiForWindow failed, using GetDeviceCaps instead
DEBUG - gui.settingsDialogs.SettingsDialog._setInstanceDestroyedState
(09:04:55.600):
Setting state to destroyed for instance:
<gui.settingsDialogs.NVDASettingsDialog object at 0x046E3B20>
Current _instances {<gui.settingsDialogs.NVDASettingsDialog object at
0x046E3B20>: 0}
DEBUG - windowUtils.getWindowScalingFactor (09:04:55.603):
GetDpiForWindow failed, using GetDeviceCaps instead
IO - speech.speak (09:04:55.693):
Speaking [LangChangeCommand ('en_GB'), 'Speech  2 of 15']
IO - inputCore.InputManager.executeGesture (09:04:57.603):
Input: kb(desktop):tab
IO - speech.speak (09:04:57.674):
Speaking [LangChangeCommand ('en_GB'), 'Speech  property page']
IO - speech.speak (09:04:57.681):
Speaking [LangChangeCommand ('en_GB'), 'Synthesizer  grouping']
IO - speech.speak (09:04:57.688):
Speaking [LangChangeCommand ('en_GB'), 'Synthesizer  edit  read only  multi
line  Alt+s']
IO - speech.speak (09:04:57.690):
Speaking [LangChangeCommand ('en_GB'), 'eSpeak NG\r']
DEBUGWARNING - Python warning (09:04:57.690):
C:\nvda extra\library.zip\api.py:287: DeprecationWarning: Yield() is
deprecated
IO - inputCore.InputManager.executeGesture (09:04:59.475):
Input: kb(desktop):tab
IO - speech.speak (09:04:59.504):
Speaking [LangChangeCommand ('en_GB'), 'Change...  button  Alt+h']
IO - inputCore.InputManager.executeGesture (09:05:00.627):
Input: kb(desktop):space
IO - speech.speak (09:05:00.631):
Speaking [LangChangeCommand ('en_GB'), 'space', EndUtteranceCommand()]
IO - speech.speak (09:05:00.631):
Speaking [LangChangeCommand ('en_GB'), 'pressed']
DEBUG - gui.settingsDialogs.__new__ (09:05:00.795):
Creating new settings dialog (multiInstanceAllowed:True). State of
_instances {<gui.settingsDialogs.NVDASettingsDialog object at 0x046E3B20>:
1}
DEBUG - windowUtils.getWindowScalingFactor (09:05:00.796):
GetDpiForWindow failed, using GetDeviceCaps instead
DEBUGWARNING - synthDriverHandler.getSynthList (09:05:00.801):
Synthesizer 'oneCore' doesn't pass the check, excluding from list
IO - speech.speak (09:05:00.856):
Speaking [LangChangeCommand ('en_GB'), 'Select Synthesizer  dialog']
IO - speech.speak (09:05:00.862):
Speaking [LangChangeCommand ('en_GB'), 'Synthesizer:  combo box  eSpeak NG
collapsed  Alt+s']
IO - inputCore.InputManager.executeGesture (09:05:04.619):
Input: kb(desktop):downArrow
IO - speech.speak (09:05:04.626):
Speaking [LangChangeCommand ('en_GB'), 'Microsoft Speech API version 4']
IO - inputCore.InputManager.executeGesture (09:05:05.947):
Input: kb(desktop):downArrow
IO - speech.speak (09:05:05.970):
Speaking [LangChangeCommand ('en_GB'), 'Microsoft Speech API version 5']
IO - inputCore.InputManager.executeGesture (09:05:07.947):
Input: kb(desktop):downArrow
IO - speech.speak (09:05:07.969):
Speaking [LangChangeCommand ('en_GB'), 'Microsoft Speech Platform']
IO - inputCore.InputManager.executeGesture (09:05:09.674):
Input: kb(desktop):downArrow
IO - speech.speak (09:05:09.692):
Speaking [LangChangeCommand ('en_GB'), 'No speech']
IO - inputCore.InputManager.executeGesture (09:05:10.762):
Input: kb(desktop):upArrow
IO - speech.speak (09:05:10.771):
Speaking [LangChangeCommand ('en_GB'), 'Microsoft Speech Platform']
IO - inputCore.InputManager.executeGesture (09:05:11.226):
Input: kb(desktop):upArrow
IO - speech.speak (09:05:11.242):
Speaking [LangChangeCommand ('en_GB'), 'Microsoft Speech API version 5']
IO - inputCore.InputManager.executeGesture (09:05:12.395):
Input: kb(desktop):upArrow
IO - speech.speak (09:05:12.412):
Speaking [LangChangeCommand ('en_GB'), 'Microsoft Speech API version 4']
IO - inputCore.InputManager.executeGesture (09:05:16.683):
Input: kb(desktop):enter
DEBUG - speechDictHandler.SpeechDict.load (09:05:16.781):
Loading speech dictionary
'.\userConfig\speechDicts\voiceDicts.v1\sapi4\sapi4-English-American_ Reed
(Adult Male) - ViaVoice Outloud 4.0.dic'...
DEBUG - speechDictHandler.SpeechDict.load (09:05:16.782):
file '.\userConfig\speechDicts\voiceDicts.v1\sapi4\sapi4-English-American_
Reed (Adult Male) - ViaVoice Outloud 4.0.dic' not found.
DEBUG - synthDriverHandler.SynthDriver.loadSettings (09:05:16.782):
Loaded settings for SynthDriver sapi4
INFO - synthDriverHandler.setSynth (09:05:16.782):
Loaded synthDriver sapi4
DEBUG - gui.settingsDialogs.SettingsDialog._setInstanceDestroyedState
(09:05:16.782):
Setting state to destroyed for instance:
<gui.settingsDialogs.SynthesizerSelectionDialog object at 0x05D9BCB0>
Current _instances {<gui.settingsDialogs.NVDASettingsDialog object at
0x046E3B20>: 1, <gui.settingsDialogs.SynthesizerSelectionDialog object at
0x05D9BCB0>: 0}
DEBUG - gui.settingsDialogs.SettingsDialog._setInstanceDestroyedState
(09:05:16.783):
Setting state to destroyed for instance:
<gui.settingsDialogs.SynthesizerSelectionDialog object at 0x05D9BCB0>
Current _instances {<gui.settingsDialogs.NVDASettingsDialog object at
0x046E3B20>: 1, <gui.settingsDialogs.SynthesizerSelectionDialog object at
0x05D9BCB0>: 1}
DEBUG - gui.settingsDialogs.SettingsDialog._setInstanceDestroyedState
(09:05:16.785):
Setting state to destroyed for instance:
<gui.settingsDialogs.SynthesizerSelectionDialog object at 0x05D9BCB0>
Current _instances {<gui.settingsDialogs.NVDASettingsDialog object at
0x046E3B20>: 1, <gui.settingsDialogs.SynthesizerSelectionDialog object at
0x05D9BCB0>: 1}
DEBUG - gui.settingsDialogs.SettingsDialog._setInstanceDestroyedState
(09:05:16.786):
Setting state to destroyed for instance:
<gui.settingsDialogs.SynthesizerSelectionDialog object at 0x05D9BCB0>
Current _instances {<gui.settingsDialogs.NVDASettingsDialog object at
0x046E3B20>: 1, <gui.settingsDialogs.SynthesizerSelectionDialog object at
0x05D9BCB0>: 1}
DEBUG - gui.settingsDialogs.SettingsDialog._setInstanceDestroyedState
(09:05:16.788):
Setting state to destroyed for instance:
<gui.settingsDialogs.SynthesizerSelectionDialog object at 0x05D9BCB0>
Current _instances {<gui.settingsDialogs.NVDASettingsDialog object at
0x046E3B20>: 1, <gui.settingsDialogs.SynthesizerSelectionDialog object at
0x05D9BCB0>: 1}
DEBUG - gui.settingsDialogs.SettingsDialog._setInstanceDestroyedState
(09:05:16.788):
Setting state to destroyed for instance:
<gui.settingsDialogs.SynthesizerSelectionDialog object at 0x05D9BCB0>
Current _instances {<gui.settingsDialogs.NVDASettingsDialog object at
0x046E3B20>: 1, <gui.settingsDialogs.SynthesizerSelectionDialog object at
0x05D9BCB0>: 1}
DEBUG - gui.settingsDialogs.SettingsDialog._setInstanceDestroyedState
(09:05:16.789):
Setting state to destroyed for instance:
<gui.settingsDialogs.SynthesizerSelectionDialog object at 0x05D9BCB0>
Current _instances {<gui.settingsDialogs.NVDASettingsDialog object at
0x046E3B20>: 1, <gui.settingsDialogs.SynthesizerSelectionDialog object at
0x05D9BCB0>: 1}
DEBUG - gui.settingsDialogs.SettingsDialog._setInstanceDestroyedState
(09:05:16.790):
Setting state to destroyed for instance:
<gui.settingsDialogs.SynthesizerSelectionDialog object at 0x05D9BCB0>
Current _instances {<gui.settingsDialogs.NVDASettingsDialog object at
0x046E3B20>: 1, <gui.settingsDialogs.SynthesizerSelectionDialog object at
0x05D9BCB0>: 1}
DEBUG - gui.settingsDialogs.SettingsDialog._setInstanceDestroyedState
(09:05:16.791):
Setting state to destroyed for instance:
<gui.settingsDialogs.SynthesizerSelectionDialog object at 0x05D9BCB0>
Current _instances {<gui.settingsDialogs.NVDASettingsDialog object at
0x046E3B20>: 1, <gui.settingsDialogs.SynthesizerSelectionDialog object at
0x05D9BCB0>: 1}
IO - speech.speak (09:05:16.818):
Speaking [LangChangeCommand ('en_US'), 'NVDA Settings: Speech (normal
configuration)  dialog']
DEBUGWARNING - characterProcessing._getSpeechSymbolsForLocale
(09:05:16.818):
No CLDR data for locale en_US
DEBUGWARNING - synthDrivers.sapi4.SynthDriver.speak (09:05:16.818):
Unsupported speech command: LangChangeCommand ('en_US')
IO - speech.speak (09:05:16.865):
Speaking [LangChangeCommand ('en_US'), 'Speech  property page']
IO - speech.speak (09:05:16.871):
Speaking [LangChangeCommand ('en_US'), 'Synthesizer  grouping']
IO - speech.speak (09:05:16.877):
Speaking [LangChangeCommand ('en_US'), 'Synthesizer  edit  read only  multi
line  Alt+s']
IO - speech.speak (09:05:16.878):
Speaking [LangChangeCommand ('en_US'), 'Microsoft Speech API version 4\r']
DEBUG - gui.settingsDialogs.SettingsDialog._setInstanceDestroyedState
(09:05:16.884):
Setting state to destroyed for instance:
<gui.settingsDialogs.NVDASettingsDialog object at 0x046E3B20>
Current _instances {<gui.settingsDialogs.NVDASettingsDialog object at
0x046E3B20>: 1, <gui.settingsDialogs.SynthesizerSelectionDialog object at
0x05D9BCB0>: 1}
DEBUG - gui.settingsDialogs.SettingsDialog._setInstanceDestroyedState
(09:05:16.884):
Setting state to destroyed for instance:
<gui.settingsDialogs.NVDASettingsDialog object at 0x046E3B20>
Current _instances {<gui.settingsDialogs.NVDASettingsDialog object at
0x046E3B20>: 1, <gui.settingsDialogs.SynthesizerSelectionDialog object at
0x05D9BCB0>: 1}
DEBUG - gui.settingsDialogs.SettingsDialog._setInstanceDestroyedState
(09:05:16.884):
Setting state to destroyed for instance:
<gui.settingsDialogs.NVDASettingsDialog object at 0x046E3B20>
Current _instances {<gui.settingsDialogs.NVDASettingsDialog object at
0x046E3B20>: 1, <gui.settingsDialogs.SynthesizerSelectionDialog object at
0x05D9BCB0>: 1}
DEBUG - gui.settingsDialogs.SettingsDialog._setInstanceDestroyedState
(09:05:16.885):
Setting state to destroyed for instance:
<gui.settingsDialogs.NVDASettingsDialog object at 0x046E3B20>
Current _instances {<gui.settingsDialogs.NVDASettingsDialog object at
0x046E3B20>: 1, <gui.settingsDialogs.SynthesizerSelectionDialog object at
0x05D9BCB0>: 1}
DEBUG - gui.settingsDialogs.SettingsDialog._setInstanceDestroyedState
(09:05:16.885):
Setting state to destroyed for instance:
<gui.settingsDialogs.NVDASettingsDialog object at 0x046E3B20>
Current _instances {<gui.settingsDialogs.NVDASettingsDialog object at
0x046E3B20>: 1, <gui.settingsDialogs.SynthesizerSelectionDialog object at
0x05D9BCB0>: 1}
DEBUG - gui.settingsDialogs.SettingsDialog._setInstanceDestroyedState
(09:05:16.885):
Setting state to destroyed for instance:
<gui.settingsDialogs.NVDASettingsDialog object at 0x046E3B20>
Current _instances {<gui.settingsDialogs.NVDASettingsDialog object at
0x046E3B20>: 1, <gui.settingsDialogs.SynthesizerSelectionDialog object at
0x05D9BCB0>: 1}
DEBUG - gui.settingsDialogs.SettingsDialog._setInstanceDestroyedState
(09:05:16.885):
Setting state to destroyed for instance:
<gui.settingsDialogs.NVDASettingsDialog object at 0x046E3B20>
Current _instances {<gui.settingsDialogs.NVDASettingsDialog object at
0x046E3B20>: 1, <gui.settingsDialogs.SynthesizerSelectionDialog object at
0x05D9BCB0>: 1}
DEBUG - gui.settingsDialogs.SettingsDialog._setInstanceDestroyedState
(09:05:16.886):
Setting state to destroyed for instance:
<gui.settingsDialogs.NVDASettingsDialog object at 0x046E3B20>
Current _instances {<gui.settingsDialogs.NVDASettingsDialog object at
0x046E3B20>: 1, <gui.settingsDialogs.SynthesizerSelectionDialog object at
0x05D9BCB0>: 1}
DEBUG - gui.settingsDialogs.SettingsDialog._setInstanceDestroyedState
(09:05:16.886):
Setting state to destroyed for instance:
<gui.settingsDialogs.NVDASettingsDialog object at 0x046E3B20>
Current _instances {<gui.settingsDialogs.NVDASettingsDialog object at
0x046E3B20>: 1, <gui.settingsDialogs.SynthesizerSelectionDialog object at
0x05D9BCB0>: 1}
DEBUG - gui.settingsDialogs.SettingsDialog._setInstanceDestroyedState
(09:05:16.886):
Setting state to destroyed for instance:
<gui.settingsDialogs.NVDASettingsDialog object at 0x046E3B20>
Current _instances {<gui.settingsDialogs.NVDASettingsDialog object at
0x046E3B20>: 1, <gui.settingsDialogs.SynthesizerSelectionDialog object at
0x05D9BCB0>: 1}
DEBUG - gui.settingsDialogs.SettingsDialog._setInstanceDestroyedState
(09:05:16.886):
Setting state to destroyed for instance:
<gui.settingsDialogs.NVDASettingsDialog object at 0x046E3B20>
Current _instances {<gui.settingsDialogs.NVDASettingsDialog object at
0x046E3B20>: 1, <gui.settingsDialogs.SynthesizerSelectionDialog object at
0x05D9BCB0>: 1}
DEBUG - gui.settingsDialogs.SettingsDialog._setInstanceDestroyedState
(09:05:16.886):
Setting state to destroyed for instance:
<gui.settingsDialogs.NVDASettingsDialog object at 0x046E3B20>
Current _instances {<gui.settingsDialogs.NVDASettingsDialog object at
0x046E3B20>: 1, <gui.settingsDialogs.SynthesizerSelectionDialog object at
0x05D9BCB0>: 1}
DEBUG - gui.settingsDialogs.SettingsDialog._setInstanceDestroyedState
(09:05:16.887):
Setting state to destroyed for instance:
<gui.settingsDialogs.NVDASettingsDialog object at 0x046E3B20>
Current _instances {<gui.settingsDialogs.NVDASettingsDialog object at
0x046E3B20>: 1, <gui.settingsDialogs.SynthesizerSelectionDialog object at
0x05D9BCB0>: 1}
DEBUG - gui.settingsDialogs.SettingsDialog._setInstanceDestroyedState
(09:05:16.887):
Setting state to destroyed for instance:
<gui.settingsDialogs.NVDASettingsDialog object at 0x046E3B20>
Current _instances {<gui.settingsDialogs.NVDASettingsDialog object at
0x046E3B20>: 1, <gui.settingsDialogs.SynthesizerSelectionDialog object at
0x05D9BCB0>: 1}
DEBUG - gui.settingsDialogs.SettingsDialog._setInstanceDestroyedState
(09:05:16.887):
Setting state to destroyed for instance:
<gui.settingsDialogs.NVDASettingsDialog object at 0x046E3B20>
Current _instances {<gui.settingsDialogs.NVDASettingsDialog object at
0x046E3B20>: 1, <gui.settingsDialogs.SynthesizerSelectionDialog object at
0x05D9BCB0>: 1}
DEBUG - gui.settingsDialogs.SettingsDialog._setInstanceDestroyedState
(09:05:16.887):
Setting state to destroyed for instance:
<gui.settingsDialogs.NVDASettingsDialog object at 0x046E3B20>
Current _instances {<gui.settingsDialogs.NVDASettingsDialog object at
0x046E3B20>: 1, <gui.settingsDialogs.SynthesizerSelectionDialog object at
0x05D9BCB0>: 1}
DEBUG - gui.settingsDialogs.SettingsDialog._setInstanceDestroyedState
(09:05:16.887):
Setting state to destroyed for instance:
<gui.settingsDialogs.NVDASettingsDialog object at 0x046E3B20>
Current _instances {<gui.settingsDialogs.NVDASettingsDialog object at
0x046E3B20>: 1, <gui.settingsDialogs.SynthesizerSelectionDialog object at
0x05D9BCB0>: 1}
DEBUG - gui.settingsDialogs.SettingsDialog._setInstanceDestroyedState
(09:05:16.888):
Setting state to destroyed for instance:
<gui.settingsDialogs.NVDASettingsDialog object at 0x046E3B20>
Current _instances {<gui.settingsDialogs.NVDASettingsDialog object at
0x046E3B20>: 1, <gui.settingsDialogs.SynthesizerSelectionDialog object at
0x05D9BCB0>: 1}
DEBUG - gui.settingsDialogs.SettingsDialog._setInstanceDestroyedState
(09:05:16.888):
Setting state to destroyed for instance:
<gui.settingsDialogs.NVDASettingsDialog object at 0x046E3B20>
Current _instances {<gui.settingsDialogs.NVDASettingsDialog object at
0x046E3B20>: 1, <gui.settingsDialogs.SynthesizerSelectionDialog object at
0x05D9BCB0>: 1}
DEBUG - gui.settingsDialogs.SettingsDialog._setInstanceDestroyedState
(09:05:16.888):
Setting state to destroyed for instance:
<gui.settingsDialogs.NVDASettingsDialog object at 0x046E3B20>
Current _instances {<gui.settingsDialogs.NVDASettingsDialog object at
0x046E3B20>: 1, <gui.settingsDialogs.SynthesizerSelectionDialog object at
0x05D9BCB0>: 1}
DEBUG - gui.settingsDialogs.SettingsDialog._setInstanceDestroyedState
(09:05:16.888):
Setting state to destroyed for instance:
<gui.settingsDialogs.NVDASettingsDialog object at 0x046E3B20>
Current _instances {<gui.settingsDialogs.NVDASettingsDialog object at
0x046E3B20>: 1, <gui.settingsDialogs.SynthesizerSelectionDialog object at
0x05D9BCB0>: 1}
DEBUG - gui.settingsDialogs.SettingsDialog._setInstanceDestroyedState
(09:05:16.888):
Setting state to destroyed for instance:
<gui.settingsDialogs.NVDASettingsDialog object at 0x046E3B20>
Current _instances {<gui.settingsDialogs.NVDASettingsDialog object at
0x046E3B20>: 1, <gui.settingsDialogs.SynthesizerSelectionDialog object at
0x05D9BCB0>: 1}
DEBUG - gui.settingsDialogs.SettingsDialog._setInstanceDestroyedState
(09:05:16.888):
Setting state to destroyed for instance:
<gui.settingsDialogs.NVDASettingsDialog object at 0x046E3B20>
Current _instances {<gui.settingsDialogs.NVDASettingsDialog object at
0x046E3B20>: 1, <gui.settingsDialogs.SynthesizerSelectionDialog object at
0x05D9BCB0>: 1}
DEBUG - gui.settingsDialogs.SettingsDialog._setInstanceDestroyedState
(09:05:16.889):
Setting state to destroyed for instance:
<gui.settingsDialogs.NVDASettingsDialog object at 0x046E3B20>
Current _instances {<gui.settingsDialogs.NVDASettingsDialog object at
0x046E3B20>: 1, <gui.settingsDialogs.SynthesizerSelectionDialog object at
0x05D9BCB0>: 1}
DEBUG - gui.settingsDialogs.SettingsDialog._setInstanceDestroyedState
(09:05:16.923):
Setting state to destroyed for instance:
<gui.settingsDialogs.SynthesizerSelectionDialog object at 0x05D9BCB0>
Current _instances {<gui.settingsDialogs.NVDASettingsDialog object at
0x046E3B20>: 1, <gui.settingsDialogs.SynthesizerSelectionDialog object at
0x05D9BCB0>: 1}
DEBUGWARNING - synthDrivers.sapi4.SynthDriver.speak (09:05:21.520):
Unsupported speech command: LangChangeCommand ('en_US')
IO - inputCore.InputManager.executeGesture (09:05:23.035):
Input: kb(desktop):tab
IO - speech.speak (09:05:23.059):
Speaking [LangChangeCommand ('en_US'), 'Change...  button  Alt+h']
DEBUGWARNING - synthDrivers.sapi4.SynthDriver.speak (09:05:23.060):
Unsupported speech command: LangChangeCommand ('en_US')
IO - inputCore.InputManager.executeGesture (09:05:24.363):
Input: kb(desktop):tab
DEBUGWARNING - synthDrivers.sapi4.SynthDriverBufSink.IUnknown_Release
(09:05:24.380):
ITTSBufNotifySink::Release called too many times by engine
IO - speech.speak (09:05:24.394):
Speaking [LangChangeCommand ('en_US'), 'Voice:  combo box  English-American:
Reed (Adult Male) - ViaVoice Outloud 4.0  collapsed  Alt+v']
DEBUGWARNING - synthDrivers.sapi4.SynthDriver.speak (09:05:24.395):
Unsupported speech command: LangChangeCommand ('en_US')
IO - inputCore.InputManager.executeGesture (09:05:30.315):
Input: kb(desktop):downArrow
DEBUGWARNING - synthDrivers.sapi4.SynthDriverBufSink.IUnknown_Release
(09:05:30.321):
ITTSBufNotifySink::Release called too many times by engine
DEBUGWARNING - synthDrivers.sapi4.SynthDriverBufSink.IUnknown_Release
(09:05:30.325):
ITTSBufNotifySink
::Release called too many times by engine


It has ground to a halt by this time.


NVDA version alpha-18420,a8e8db19
Using Windows version 6.1.7601 service pack 1 workstation


Brian
bglists@...
Sent via blueyonder.
Please address personal E-mail to:-
briang1@..., putting 'Brian Gaff'
in the display name field.
Newsgroup monitored: alt.comp.blind-users






--
Derek Riemer
Improving the world one byte at a time!        ⠠⠊⠍⠏⠗⠕⠧⠬ ⠮ ⠸⠺ ⠐⠕ ⠃⠽⠞⠑ ⠁⠞ ⠁ ⠐⠞⠖
•    Accessibility enthusiast.
•    Proud user of the NVDA screen reader.
•    Open source enthusiast.
•    Skier.

•    Personal website: https://derekriemer.com




Debug Helper 1.0: new add-on released

Luke Davis
 

Good evening:

I wouldn't normally post something like this here, but this add-on is of primary interest to developers, and I know similar functionality has been requested by one or two people in the past.

I am announcing the release of the first stable version of Debug Helper. This is an add-on which is intended to help people who do a lot of work with the NVDA log. If you are trying to report problems with something you're doing, or writing an add-on, or trying to fix something, you may find it useful to be able to jump right to the spot in the log before or after the error occurred, or some important output happened.

At the press of a key (default: nvda+shift+F1), this add-on will insert a "mark line" in the NVDA log, which you can then search for in a text editor. Each mark line includes a sequential number, and can have 1 or more blank lines before/after it to aid in finding it quickly when fast-arrowing.

It is Python 2 and 3 compatible, and works in NVDA versions from 2017.3 through 2019.3.

The add-on will hopefully be on the community site soon, but for now it can be downloaded here: https://github.com/XLTechie/debugHelper/releases/download/1.0/debugHelper-1.0.nvda-addon

Full documentation, including larger usage examples: https://github.com/XLTechie/debugHelper/blob/stable/readme.md

GitHub repo (for issues/to download development versions, etc.):
https://github.com/XLTechie/debugHelper

This is a small add-on with a very specific set of use cases right now, but if you have ideas for ways it could be expanded, please contact me.

Note: I've received two reports that suggest it doesn't always install first time in some old Windows 10 versions. If this happens to you, try to install it once or twice more, which I have been told works (and please send me a log!). No reason is yet known why that might be happening.

Luke

Sapi 4 issues in alpha finally killed

Brian's Mail list account
 

At least it looks like the recent update has fixed the crash. Thanks, not that I use it a lot myself.
Brian

bglists@...
Sent via blueyonder.
Please address personal E-mail to:-
briang1@..., putting 'Brian Gaff'
in the display name field.
Newsgroup monitored: alt.comp.blind-users

Re: Snapshot page on web site

Brian's Mail list account
 

Yes at the moment here I have the stable installed the beta and alpha as portable copies and a try build for windows 7 Explorer crashes on a ramstick, plus a copy of the stable I can reinstall if I have any issues. As I say test versions on the page might be easier than making everyone go to a link in the github issue chain.

Brian

bglists@...
Sent via blueyonder.
Please address personal E-mail to:-
briang1@..., putting 'Brian Gaff'
in the display name field.
Newsgroup monitored: alt.comp.blind-users

----- Original Message -----
From: "dingpengyu" <@dingpengyu>
To: <nvda-devel@groups.io>
Sent: Friday, August 23, 2019 9:22 AM
Subject: Re: [nvda-devel] Snapshot page on web site


Yes, I agree with you. The threshold has already completed its task.
thank

Re: Snapshot page on web site

 

Yes, I agree with you. The threshold has already completed its task.
thank

Snapshot page on web site

Brian's Mail list account
 

Now we have migrated Python 3 work to Alpha, is there any need for either of the other two snaps based on Python 3 on the site?
It might be an idea to add one as a link to try builds for solving specific issues, as an easy way for those affected to see if these issues are fixed.
I'm assuming Threshold snaps are now both redundant of course here.

Brian

bglists@...
Sent via blueyonder.
Please address personal E-mail to:-
briang1@..., putting 'Brian Gaff'
in the display name field.
Newsgroup monitored: alt.comp.blind-users

Re: Can anyone help with itis oddity?

Brian's Mail list account
 

The only log I can get at is the one in the nvda folder itself.
Traceback (most recent call last):
File "nvda.pyw", line 212, in <module>
File "logHandler.pyo", line 343, in initialize
File "logHandler.pyo", line 221, in __init__
IOError: [Errno 22] invalid mode ('wt') or filename: 'C:\\Users\\Brian\\AppData\\Local\\Temp\\nvda.log'

Brian


bglists@...
Sent via blueyonder.
Please address personal E-mail to:-
briang1@..., putting 'Brian Gaff'
in the display name field.
Newsgroup monitored: alt.comp.blind-users

----- Original Message -----
From: "Brian's Mail list account via Groups.Io" <bglists=blueyonder.co.uk@groups.io>
To: "NVDA Dev list on groups.io" <nvda-devel@groups.io>
Sent: Thursday, August 22, 2019 2:00 PM
Subject: [nvda-devel] Can anyone help with itis oddity?


I have just returned from trying to run the new Trial version of nvda with the fixed Explorer crash on the computer at our studio. It is running Windows home Premium 64 bit and is all up to date. I had put it on as a temp copy on a ramstick, and tested it on this machine at home,but when I tried to run it on the other machine it clamed that the program nvda.exe was not a valid 32 or 64 bit but in fact a 16bit one and therefore not supported. It did not mention the exe file just the folder name it was in.
I tried copying it over to the main drive with the same result.
Is there any reason why this might happen?
A temp copy of the current stable version works perfectly wherever you run it from.
All suggestions welcome.

Why on earth should it think its was a 16bit? I even ran it from a batch file and the same thing happens but back here on the machine I made it on all is still fine. This is 7 pro though.
Brian

bglists@...
Sent via blueyonder.
Please address personal E-mail to:-
briang1@..., putting 'Brian Gaff'
in the display name field.
Newsgroup monitored: alt.comp.blind-users

Can anyone help with itis oddity?

Brian's Mail list account
 

I have just returned from trying to run the new Trial version of nvda with the fixed Explorer crash on the computer at our studio. It is running Windows home Premium 64 bit and is all up to date. I had put it on as a temp copy on a ramstick, and tested it on this machine at home,but when I tried to run it on the other machine it clamed that the program nvda.exe was not a valid 32 or 64 bit but in fact a 16bit one and therefore not supported. It did not mention the exe file just the folder name it was in.
I tried copying it over to the main drive with the same result.
Is there any reason why this might happen?
A temp copy of the current stable version works perfectly wherever you run it from.
All suggestions welcome.

Why on earth should it think its was a 16bit? I even ran it from a batch file and the same thing happens but back here on the machine I made it on all is still fine. This is 7 pro though.
Brian

bglists@...
Sent via blueyonder.
Please address personal E-mail to:-
briang1@..., putting 'Brian Gaff'
in the display name field.
Newsgroup monitored: alt.comp.blind-users

Re: Alpha Snaps

Luke Davis
 

Look at your current version (NVDA menu, help, about), then go to the snapshots page, and check your version string against the name of the top listed alpha.

If you check that from time to time, and one day notice it updated but you didn't, then report back.

Luke

On Thu, 22 Aug 2019, Brian's Mail list account via Groups.Io wrote:

OK at the moment yes, but I don't think it would auto update even when there was.
Brian

bglists@...
Sent via blueyonder.
Please address personal E-mail to:-
briang1@..., putting 'Brian Gaff'
in the display name field.
Newsgroup monitored: alt.comp.blind-users
----- Original Message ----- From: "zvonimir stanecic, 9a5dsz" <zvonimirek222@...>
To: <nvda-devel@groups.io>
Sent: Wednesday, August 21, 2019 6:08 PM
Subject: Re: [nvda-devel] Alpha Snaps


Hi,
There's nothing committed to master, and that's why there are no new alphas.
All is ok on your side.


Query about behaviour on Alpha snaps on some buttons.

Brian's Mail list account
 

This looks like an issue where the latest Python 3 version has a regression in figuring out what to say a buttons text is.
See these two log fragments.

Stable 2019.2 Windows 7 portable install, Superantispyware main menu.

IO - speech.speak (08:38:48.164):
Speaking [LangChangeCommand ('en_GB'), u'Scan This ComputerLast scan was 20 hours ago']
IO - inputCore.InputManager.executeGesture (08:38:59.217):
Input: kb(desktop):NVDA+f1
INFO - globalCommands.GlobalCommands.script_navigatorObject_devInfo (08:38:59.255):
Developer info for navigator object:
name: u'Scan This ComputerLast scan was 20 hours ago'
role: ROLE_BUTTON
states: STATE_FOCUSABLE, STATE_FOCUSED
isFocusable: True
hasFocus: True
Python object: <NVDAObjects.IAccessible.Button object at 0x05042930>
Python class mro: (<class 'NVDAObjects.IAccessible.Button'>, <class 'NVDAObjects.IAccessible.IAccessible'>, <class 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class 'documentBase.TextContainerObject'>, <class 'baseObject.ScriptableObject'>, <class 'baseObject.AutoPropertyObject'>, <type 'object'>)
description: None
location: RectLTWH(left=652, top=335, width=194, height=128)
value: None
appModule: <'appModuleHandler' (appName u'superantispyware', process ID 2912) at address 5471030>
appModule.productName: u'SUPERAntiSpyware'
appModule.productVersion: u'8, 0, 0, 1042'
TextInfo: <class 'NVDAObjects.NVDAObjectTextInfo'>
windowHandle: 131628
windowClassName: u'Button'
windowControlID: 1170
windowStyle: 1342243585
extendedWindowStyle: 4
windowThreadID: 4772
windowText: u' '
displayText: u'Scan This ComputerLast scan was 20 hours ago'
IAccessibleObject: <POINTER(IAccessible) ptr=0x85a63f0 at 520fc10>
IAccessibleChildID: 0
IAccessible event parameters: windowHandle=131628, objectID=-4, childID=0
IAccessible accName: u' '
IAccessible accRole: ROLE_SYSTEM_PUSHBUTTON
IAccessible accState: STATE_SYSTEM_DEFAULT, STATE_SYSTEM_FOCUSED, STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (1048836)
IAccessible accDescription: None
IAccessible accValue: None


Latest Alpha snapshot all other parameters the same.

IO - speech.speak (08:35:24.377):
Speaking [LangChangeCommand ('en_GB'), 'button']
IO - inputCore.InputManager.executeGesture (08:35:30.986):
Input: kb(desktop):NVDA+f1
INFO - globalCommands.GlobalCommands.script_navigatorObject_devInfo (08:35:31.026):
Developer info for navigator object:
name: 'Scan This ComputerLast scan was 20 hours ago'
role: ROLE_BUTTON
states: STATE_FOCUSABLE, STATE_FOCUSED
isFocusable: True
hasFocus: True
Python object: <NVDAObjects.IAccessible.Button object at 0x03DE0B30>
Python class mro: (<class 'NVDAObjects.IAccessible.Button'>, <class 'NVDAObjects.IAccessible.IAccessible'>, <class 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class 'documentBase.TextContainerObject'>, <class 'baseObject.ScriptableObject'>, <class 'baseObject.AutoPropertyObject'>, <class 'object'>)
description: None
location: RectLTWH(left=652, top=335, width=194, height=128)
value: None
appModule: <'appModuleHandler' (appName 'superantispyware', process ID 2912) at address 4999f10>
appModule.productName: 'SUPERAntiSpyware'
appModule.productVersion: '8, 0, 0, 1042'
TextInfo: <class 'NVDAObjects.NVDAObjectTextInfo'>
windowHandle: 131628
windowClassName: 'Button'
windowControlID: 1170
windowStyle: 1342243585
extendedWindowStyle: 4
windowThreadID: 4772
windowText: ' '
displayText: 'Scan This ComputerLast scan was 20 hours ago'
IAccessibleObject: <POINTER(IAccessible) ptr=0x5568278 at 599d3a0>
IAccessibleChildID: 0
IAccessible event parameters: windowHandle=131628, objectID=-4, childID=0
IAccessible accName: ' '
IAccessible accRole: ROLE_SYSTEM_PUSHBUTTON
IAccessible accState: STATE_SYSTEM_FOCUSED, STATE_SYSTEM_DEFAULT, STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (1048836)
IAccessible accDescription: None
IAccessible accValue: None


If you tab and alt tab the button now merely says button without the text for its function as in the latest stable nvda.
Some other buttons just say button as well even though clearlly the text info is still being gathered as previously.

#
Brian

bglists@...
Sent via blueyonder.
Please address personal E-mail to:-
briang1@..., putting 'Brian Gaff'
in the display name field.
Newsgroup monitored: alt.comp.blind-users

Re: Alpha Snaps

Brian's Mail list account
 

It has not been doing so thus far, I've always had to force it.
Brian

bglists@...
Sent via blueyonder.
Please address personal E-mail to:-
briang1@..., putting 'Brian Gaff'
in the display name field.
Newsgroup monitored: alt.comp.blind-users

----- Original Message -----
From: "zvonimir stanecic, 9a5dsz" <zvonimirek222@...>
To: <nvda-devel@groups.io>
Sent: Thursday, August 22, 2019 8:03 AM
Subject: Re: [nvda-devel] Alpha Snaps


It will update automatically, because it checks periodically for the update.

-----Original Message-----
From: nvda-devel@groups.io <nvda-devel@groups.io> On Behalf Of Brian's Mail
list account via Groups.Io
Sent: Thursday, August 22, 2019 8:53 AM
To: nvda-devel@groups.io
Subject: Re: [nvda-devel] Alpha Snaps

OK at the moment yes, but I don't think it would auto update even when there
was.
Brian

bglists@...
Sent via blueyonder.
Please address personal E-mail to:-
briang1@..., putting 'Brian Gaff'
in the display name field.
Newsgroup monitored: alt.comp.blind-users
----- Original Message -----
From: "zvonimir stanecic, 9a5dsz" <zvonimirek222@...>
To: <nvda-devel@groups.io>
Sent: Wednesday, August 21, 2019 6:08 PM
Subject: Re: [nvda-devel] Alpha Snaps


Hi,
There's nothing committed to master, and that's why there are no new
alphas.

All is ok on your side.








Re: Alpha Snaps

zvonimir stanečić, 9a5dsz
 

It will update automatically, because it checks periodically for the update.

-----Original Message-----
From: nvda-devel@groups.io <nvda-devel@groups.io> On Behalf Of Brian's Mail
list account via Groups.Io
Sent: Thursday, August 22, 2019 8:53 AM
To: nvda-devel@groups.io
Subject: Re: [nvda-devel] Alpha Snaps

OK at the moment yes, but I don't think it would auto update even when there
was.
Brian

bglists@...
Sent via blueyonder.
Please address personal E-mail to:-
briang1@..., putting 'Brian Gaff'
in the display name field.
Newsgroup monitored: alt.comp.blind-users
----- Original Message -----
From: "zvonimir stanecic, 9a5dsz" <zvonimirek222@...>
To: <nvda-devel@groups.io>
Sent: Wednesday, August 21, 2019 6:08 PM
Subject: Re: [nvda-devel] Alpha Snaps


Hi,
There's nothing committed to master, and that's why there are no new
alphas.

All is ok on your side.



Re: Alpha Snaps

Brian's Mail list account
 

OK at the moment yes, but I don't think it would auto update even when there was.
Brian

bglists@...
Sent via blueyonder.
Please address personal E-mail to:-
briang1@..., putting 'Brian Gaff'
in the display name field.
Newsgroup monitored: alt.comp.blind-users

----- Original Message -----
From: "zvonimir stanecic, 9a5dsz" <zvonimirek222@...>
To: <nvda-devel@groups.io>
Sent: Wednesday, August 21, 2019 6:08 PM
Subject: Re: [nvda-devel] Alpha Snaps


Hi,
There's nothing committed to master, and that's why there are no new alphas.

All is ok on your side.


Re: Alpha Snaps

zvonimir stanečić, 9a5dsz
 

Hi,
There's nothing committed to master, and that's why there are no new alphas.

All is ok on your side.

Alpha Snaps

Brian's Mail list account
 

Not seen one for a while.
Has the updater broken?
Incidentally, I've never managed to get the alpha snaps to alert of an update without me doing it manually. Is this a bug?
Brian

bglists@...
Sent via blueyonder.
Please address personal E-mail to:-
briang1@..., putting 'Brian Gaff'
in the display name field.
Newsgroup monitored: alt.comp.blind-users

Re: MBCS encoding in Python 2 (up to NVDA 2019.2)

 

Hello,
Thanks for the detailed answer.
Sincerely,
Paulius Leveris<div id="DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2"><br />
<table style="border-top: 1px solid #D3D4DE;">
<tr>
<td style="width: 55px; padding-top: 13px;"><a
href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail"
target="_blank"><img
src="https://ipmcdn.avast.com/images/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif"
alt="" width="46" height="29" style="width: 46px; height: 29px;"
/></a></td>
<td style="width: 470px; padding-top: 12px; color: #41424e;
font-size: 13px; font-family: Arial, Helvetica, sans-serif;
line-height: 18px;">Virus-free. <a
href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail"
target="_blank" style="color: #4453ea;">www.avast.com</a>
</td>
</tr>
</table><a href="#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2" width="1"
height="1"></a></div>

2019-08-21 8:28 GMT+03:00, Leonard de Ruijter <@leonardder>:

Hey Paulius,


Here is a pretty good article about unicode in Python:
https://www.b-list.org/weblog/2017/sep/05/how-python-does-unicode/ . It
doesn't tell something about mbcs though, your actual question.


In short, mbcs is the encoding used in Python 2 to deal with system file
paths. It is not necessarily one encoding, but it corresponds with the
system default encoding. For example, on my Dutch system, encoding € as
mbcs results in \x80, the byte representation of € in the cp1252
encoding. If I would enable beta support for utf-8 encoding in Windows
10 region settings, mbcs will very much if not completely behave like
utf-8. It is still available in python 3.


In python 3, you can simply pass Python 3 type strings to functions that
deal with paths, so you no longer have to make sure that paths are
encoded in the right encoding.


Regards,

Leonard

Op 21-8-2019 om 00:02 schreef Paulius:
Hello everyone,
I hope this is a right place for asking such question.
I was wondering about MBCS encoding in Python 2 quite often used in
NVDA code. Example from the main systrayList add-on file:
"_addonDir = os.path.join(os.path.dirname(__file__), "..", "..")
if sys.version_info.major == 2:
_addonDir = _addonDir.decode("mbcs")"
It seems to me that this encoding actually works only in Python 2 (and
not 3). I have searched about this thing on the web but was unable to
find the good explanation of why this should be used when getting the
proper directory. Can someone explain what is that encoding and why is
it not nesesary in Python 3?
Thanks.
Sincerely,
Paulius Leveris




Re: Automatic braille not working with BAUM

 

Hey Tage,


I've tried this recently with an Ultra but couldn't reproduce the issue. It might be best to file an issue at githu. https://github.com/nvaccess/nvda/issues/new


Regards,

Leonard

Op 20-8-2019 om 21:29 schreef Tage Johansson:

Windows 10


Best regards Tage,


On 8/20/2019 7:23 PM, Leonard de Ruijter wrote:

Hey Tage,


Thanks for your report. What version of Windows are you using?


Regards,

Leonard

On 20-8-2019 17:40, Tage Johansson wrote:
Hi,

The automatic braille display detection doesn't work with my BAUM VarioUltra braille display.
When I unplug and plug the display, nothing appears on it. The braille display tells me that it got connection with the computer, but NVDA doesn't seems to find it.

How ever, if I go to Preferences -> Braille and click on Change and chooses Automatic again, then it just starts to work.

This seems to be a bug in NVDA, and I would be very happy to have it fixed.
So maybe someone can fix it or point me in the right direction how to fix it.

Best regards,
Tage

Re: MBCS encoding in Python 2 (up to NVDA 2019.2)

 

Hey Paulius,


Here is a pretty good article about unicode in Python: https://www.b-list.org/weblog/2017/sep/05/how-python-does-unicode/ . It doesn't tell something about mbcs though, your actual question.


In short, mbcs is the encoding used in Python 2 to deal with system file paths. It is not necessarily one encoding, but it corresponds with the system default encoding. For example, on my Dutch system, encoding € as mbcs results in \x80, the byte representation of € in the cp1252 encoding. If I would enable beta support for utf-8 encoding in Windows 10 region settings, mbcs will very much if not completely behave like utf-8. It is still available in python 3.


In python 3, you can simply pass Python 3 type strings to functions that deal with paths, so you no longer have to make sure that paths are encoded in the right encoding.


Regards,

Leonard

Op 21-8-2019 om 00:02 schreef Paulius:

Hello everyone,
I hope this is a right place for asking such question.
I was wondering about MBCS encoding in Python 2 quite often used in
NVDA code. Example from the main systrayList add-on file:
"_addonDir = os.path.join(os.path.dirname(__file__), "..", "..")
if sys.version_info.major == 2:
	_addonDir = _addonDir.decode("mbcs")"
It seems to me that this encoding actually works only in Python 2 (and
not 3). I have searched about this thing on the web but was unable to
find the good explanation of why this should be used when getting the
proper directory. Can someone explain what is that encoding and why is
it not nesesary in Python 3?
Thanks.
Sincerely,
Paulius Leveris



MBCS encoding in Python 2 (up to NVDA 2019.2)

 

Hello everyone,
I hope this is a right place for asking such question.
I was wondering about MBCS encoding in Python 2 quite often used in
NVDA code. Example from the main systrayList add-on file:
"_addonDir = os.path.join(os.path.dirname(__file__), "..", "..")
if sys.version_info.major == 2:
_addonDir = _addonDir.decode("mbcs")"
It seems to me that this encoding actually works only in Python 2 (and
not 3). I have searched about this thing on the web but was unable to
find the good explanation of why this should be used when getting the
proper directory. Can someone explain what is that encoding and why is
it not nesesary in Python 3?
Thanks.
Sincerely,
Paulius Leveris