The Connect Chat window does not open and conversations are not displayed on the sidebar for users that belong to the same chat group if one of the user's user ID has been changed.
Steps to Reproduce
Impersonate a user (for example, Abel Tuter) and create a new incident.
Assign the incident to a different user (for example, David Loo).
Impersonate David Loo.
Open Connect Mini/Full.
Attach a file from the chat.
Rename Abel Tuter's user ID.
Notice neither Abel nor David are able to launch the Connect Chat window and the connect sidebar does not show any of the conversations/chats that the users are part of.
This issue is fixed in the latest available releases. If you are able to upgrade, review the Fixed In field to determine whether any versions have a permanent fix.
Steps to find the missing User ID and Attachment which needs to be updated.
1. Impersonate the user and open the Connect sidebar, if this is blank you most likely are running into the issue.
2. Impersonate back to yourself
3. Turn on Debug SQL and Debug Log
4. Impersonate the user again
5. Open the browser Dev tools and make sure you are on the network tab.
6. Check Preserve Log in the dev tools to keep all network info on refresh
7. Refresh the main page so the sidebar also refreshes.
8. You should see a Red transaction in the Dev Tools network tab for "conversations"
9. Right-click this and Select Replay XHR
10. In a new tab navigate to a page that does not exist, i.e. /newpage.do, so the debug info will be output for that last transaction you replayed.
11. Search that page for "api/now/connect/conversations" which will be output at the start and end of the Log and SQL info for that transaction.
12. Scroll down or search for the Null Pointer Exception ( java.lang.NullPointerException )
13. Right above the null pointer, there should be a SQL statement for sys_user and sys_attachment with the information you need.
Here is an example.
09:05:30.487: Time: 0:00:00.001 for: delltechuat_1[glide.8] SELECT ... FROM sys_attachment sys_attachment0 WHERE sys_attachment0.`sys_id` = '24e13695db1507806f6776731f961913' /*...*/
09:05:30.490: Time: 0:00:00.001 for: delltechuat_1[glide.14] SELECT ... FROM sys_user sys_user0 WHERE sys_user0.`user_name` = '173573' /*...*/
That sys_id in the sys_attachment line is the record which is causing the issue. You can then go to sys_attachment and search for sys_id is that ID and it will give you the broken record.
Related Problem: PRB1082395