Updates have been made such that when a user favorites or unfavorites a portlet, the code will first remove any orphaned favorites (favorites for portlets that have been deleted). What was happening previously was that the UserLayoutManager.saveLayout() method was finding the orphaned favorites and pruning the node "linked-list" at that point, resulting in all favorites coming after in the list to be deleted along with the orphan.
…ted portlet gets deleted and a user subequently favorites another portlet or unfavorites a portlet
Checklist
Description of change
See Issue #2800
Updates have been made such that when a user favorites or unfavorites a portlet, the code will first remove any orphaned favorites (favorites for portlets that have been deleted). What was happening previously was that the UserLayoutManager.saveLayout() method was finding the orphaned favorites and pruning the node "linked-list" at that point, resulting in all favorites coming after in the list to be deleted along with the orphan.