Widget 2.0 bug fixes/performance improvements

We released a few updates to Widget 2.0 this week to streamline usage of the openArticle and openCategory methods and improve overall performance.

All of these changes touched some architecture for both Widget 2.0 as well as the Modern Widget. Though we tested them pretty aggressively, please let us know if you notice any unusual behaviors in either widget over the next few days!

openArticle/openCategory

Customers who'd been using the openArticle and openCategory methods to open the widget to a specific article or category noticed two behaviors that weren't ideal:

  • If a hyperlink with openArticle or openCategory was clicked multiple times, the widget would properly load the first time, but would show an infinite spinner on subsequent clicks.
  • Sometimes, hyperlinks using this method would scroll the main screen the link appeared on when the widget was clicked.

We made some code changes to handle the repeated clicking of the same openArticle or openCategory link.

We also did some further testing of the hyperlink structures and have updated our documentation to provide different code examples that will prevent and force main page scrolling when clicked. See the bottom section of Open widget to a specific article or category for those new examples.

Widget 2.0 load times

We've had a couple reports of Widget 2.0 loading certain articles or categories slowly. Initially, we thought this was an issue with topic display categories only, but subsequent testing showed it was any category or article with a high volume of files and images. The widget was showing a spinner until it could load and display every single file and image in these scenarios.

Since these issues were only observed in fairly long categories and articles, we've updated the logic so that the widget only shows a spinner while it's grabbing the "above the fold" portion of the content, and will keep loading the remaining files and images after it displays that view. This gives much snappier initial load times while still handling the larger files in the background.