Skip to content
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

nvda does not automatically read messages received on skype for business #9295

Closed
fernando-jose-silva opened this issue Feb 19, 2019 · 3 comments · Fixed by #12122
Closed
Labels
app/skype Skype for desktop or Skype for business (linc)
Milestone

Comments

@fernando-jose-silva
Copy link

Steps to reproduce:

I'm sure I've seen this working for some time.
I have not used skype for business for a long time but in my current work I'm making use of it again, and when I received a message on skype for business, nvda did not automatically read the received message.
Open a conversation on skype for business type something and wait inside the conversation for your partner to respond.

Actual behavior:

The nvda is mute.

Expected behavior:

Nvda should automatically announce the response received.

System configuration

NVDA installed/portable/running from source:

install

NVDA version:

2018.4.1

Windows version:

10 17134.556

Name and version of other software in use when reproducing the issue:

office 16.0.4266.1001

Other information about your system:

Other questions

Does the issue still occur after restarting your PC?

yes

Have you tried any other versions of NVDA?

no

@Adriani90
Copy link
Collaborator

@fernando-jose-silva is this issue also reproducible in NVDA 2019.1.1?

@fernando-jose-silva
Copy link
Author

yes, this is still a problem, tested on nvda 2019.1.1 and alpha 17077.
Thank you.

@ehollig ehollig added the app/skype Skype for desktop or Skype for business (linc) label Feb 6, 2020
@CyrilleB79
Copy link
Collaborator

I have just reproduced the issue here with NVDA 2020.4 and Skype for business 2016 (16.0.5095.1000).

Technical details

When a new message occurs in the conversation, the following error appears in the log and the message is not vocalized:

ERROR - eventHandler.executeEvent (14:58:49.118) - MainThread (13480):
error executing event: liveRegionChange on <appModules.lync.NetUIRicherLabel object at 0x00A49150> with extra args of {}
Traceback (most recent call last):
File "eventHandler.pyc", line 246, in executeEvent
File "eventHandler.pyc", line 96, in __init__
File "eventHandler.pyc", line 105, in next
File "appModules\lync.pyc", line 26, in event_liveRegionChange
AttributeError: 'NoneType' object has no attribute 'replace'

If I put the navigation object (and the focus) on the last message and open the log, I get the following dev info:

INFO - globalCommands.GlobalCommands.script_navigatorObject_devInfo (15:00:46.107) - MainThread (13480):
Developer info for navigator object:
name: 'DOE John : , , hello\r\n\r\ngoodbye, , 15:00.'
role: ROLE_LISTITEM
roleText: None
states: STATE_FOCUSABLE, STATE_SELECTABLE, STATE_FOCUSED, STATE_SELECTED
isFocusable: True
hasFocus: True
Python object: <NVDAObjects.Dynamic_ColumnsReview64ListItemUIA object at 0x067E15B0>
Python class mro: (<class 'NVDAObjects.Dynamic_ColumnsReview64ListItemUIA'>, <class 'globalPlugins.columnsReview.ColumnsReview64'>, <class 'globalPlugins.columnsReview.ColumnsReview'>, <class 'NVDAObjects.behaviors.RowWithFakeNavigation'>, <class 'NVDAObjects.UIA.ListItem'>, <class 'NVDAObjects.UIA.UIA'>, <class 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class 'documentBase.TextContainerObject'>, <class 'baseObject.ScriptableObject'>, <class 'baseObject.AutoPropertyObject'>, <class 'garbageHandler.TrackedObject'>, <class 'object'>)
description: ''
location: RectLTWH(left=101, top=298, width=411, height=82)
value: None
appModule: <'lync' (appName 'lync', process ID 12568) at address 886e90>
appModule.productName: 'Microsoft Office 2016'
appModule.productVersion: '16.0.5095.1000'
TextInfo: <class 'NVDAObjects.NVDAObjectTextInfo'>
windowHandle: 4262932
windowClassName: 'NetUIHWND'
windowControlID: 0
windowStyle: 1442840576
extendedWindowStyle: 0
windowThreadID: 9660
windowText: ''
displayText: ''
UIAElement: <POINTER(IUIAutomationElement) ptr=0x818db28 at 751fc60>
UIA automationID:
UIA frameworkID:
UIA runtimeID: (42, 4262932, 4, 614633560, 0)
UIA providerDescription: [pid:12568,providerId:0x0 Main(parent link):Unidentified Provider (unmanaged:mso40uiwin32client.dll)]
UIA className: NetUIListViewItem
UIA patterns available: ScrollItemPattern, SelectionItemPattern, LegacyIAccessiblePattern

Looking at the comments in lync.py appModule that manages this application, it is clear that it was not expected that the object containing the message have a value set to None.
Probably it was different in a previous version of Skype for business / Lync.

seanbudd pushed a commit that referenced this issue Nov 29, 2021
…s of Skype for Business. (#12122)

Fixes #9295

Summary of the issue:
In Skype for Business (at least Office 2016, version 16.0.5095.1000), the incoming messages are not reported and an error occurs in the log instead.
This error show that the message has a value set to None whereas the code expects a string in order to parse it.
(cf. #9295 (comment) for more details)

Description of how this pull request fixes the issue:
If the message value is None, parse only the message name to split the content from author and timestamp parts. For this, we just look at ", , " separators.
If the message is not None, use as previously the message name and the message value to split author, content and timestamp of the message.
@nvaccessAuto nvaccessAuto added this to the 2022.1 milestone Nov 29, 2021
seanbudd pushed a commit that referenced this issue Jul 14, 2022
Fix-up of #9295 .

Summary of the issue:
Some excessive errors were logged in the log while using Skype for Business.
In #9295, an error is logged when the new chat message does not follow the person+content+timestamp message.
The majority of message have such pattern but some information message don't, e.g.:

message indicating the start or end of a call
first message of the chat containing a warning about privacy
Excessive error logging is misleading when making NVDA or add-on tests.

Description of how this pull request fixes the issue:
log.error replaced by log.debug since this codepath is expected.
The log is still kept in case an unknown message pattern is found in another version of Skype or with another usage.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
app/skype Skype for desktop or Skype for business (linc)
Projects
None yet
5 participants