Issue
When an admin user tries to send a chat to a non-admin user, we see the string {conservation.name} that copies the conversation multiples times.
Steps to reproduce
- Log in as an affected admin user
- In separate browser, impersonate non-admin user
- The admin should send message Test to non-admin user
- Non-admin User would receive multiples times the same messages with string {conservation.name}
Another option is to just login as non-admin user, and then navigate to https://<instance>.service-now.com/$collaboration.do#/chat/, refresh the browser, you will see chat entries multiplies
Observations
The following Javascript error is visible in browser console for non-admin users when opening up the chat window:
============
TypeError: Cannot read property 'table' of null
at js_includes_ng_chat.jsx?v=11-08-2016_1607&lp=Sun_Feb_05_01_58_09_PST_2017&c=4_64:12626
at Object.n [as forEach] (angular_includes_1.4.jsx?v=11-08-2016_1607:9)
at Object.get members [as members] (js_includes_ng_chat.jsx?v=11-08-2016_1607&lp=Sun_Feb_05_01_58_09_PST_2017&c=4_64:12625)
at Object.get avatarMembers [as avatarMembers] (js_includes_ng_chat.jsx?v=11-08-2016_1607&lp=Sun_Feb_05_01_58_09_PST_2017&c=4_64:12640)
at fn (eval at compile (angular_includes_1.4.jsx?v=11-08-2016_1607:215), <anonymous>:4:142)
at angular_includes_1.4.jsx?v=11-08-2016_1607:76
at n (angular_includes_1.4.jsx?v=11-08-2016_1607:10)
at ba (angular_includes_1.4.jsx?v=11-08-2016_1607:75)
at D (angular_includes_1.4.jsx?v=11-08-2016_1607:63)
at angular_includes_1.4.jsx?v=11-08-2016_1607:71
=========
Cause
One of the chat groups was having the issue: https://<instancename>.service-now.com/nav_to.do?uri=live_group_profile.do?sys_id
To be specific, one of the live group member records involved with the chat group record was missing the member value: https://<instance-name>.service-now.com/nav_to.do?uri=live_group_member.do?sys_id=
The reported issue was occurring for all the members who are part of a chat group.
Resolution
This issue can be resolved by:
- Adding the missing member in the offending live group member record
- Take a backup and delete the offending live group member record