When using Service Portal in IE11, memory usage is consistently increasing (about 35MB) when moving around the site and, particularly, when performing searches.
Full-page refreshes are very memory-expensive on IE11. Frequent, full-page refreshes cause memory usage to skyrocket on IE11 due to memory management issues with the browser. Because the base system Typeahead Search widget triggers a full page refresh, the browser can crash for users on IE11.
Steps to Reproduce
- Navigate to System Definition > Plugins.
- Search for Service Portal for Enterprise Service Management. If the plugin is not Active, activate the plugin.
- Using IE11, load developer tools (F12).
- Select the memory tab.
- Navigate to http://<instance name>.service-now.com/sp.
- In the main search bar, search for "iphone" and let the results load.
- Search for "status" and let the results load.
- Search for "access" and let the results load.
Note that the memory usage consistently goes up. Reviewing the diagnostic summary during the session in IE11 shows memory consistently increasing, eventually crashing the browser.
This workaround is for Helsinki instances only and is NOT applicable to Istanbul instances.
Attached is an unload XML file with a modified clone of the Typeahead Widget named Typeahead Search Without Page Refresh (typehead-search-without-page-reload.xml).
Following the steps below should greatly reduce memory consumption in IE11 and prevent search-related crashes.
- Install the attached update XML (containing the replacement Typeahead Search widget) on the instance.
- Update an Angular Template reference.
- Navigate to <instance>/sp_ng_template_list.do.
- Find a row in the list where the Widget field is referencing the widget Typeahead Search.
- Change the reference to Typeahead Search Without Page Refresh.
- Replace all usages of the Typeahead Search widget on every page with the new widget.
Most of these references can be found by navigating to the widget record in the platform UI and scrolling to the Included In Pages related list. Note that one usage of the Typeahead Search widget is embedded inside the Homepage Search widget, so the Homepage Search widget needs to be cloned and updated to reference the new Typeahead Search Without Page Refresh widget.
Related Problem: PRB716958