Use websockets to dynamically load "Recently listened"
What is the problem you are facing?
Currently, the "Recently listened" and "Recently Favorited" widgets on the homepage are static calls to different endpoints. This means that they are only refreshed on page load. Users need to navigate away from the home page and back in order to see new changes. This breaks with user expectations if they are not moving around the application frequently.
Since listens are dispatched to the websocket, we should look into using this to refresh the widget's information whenever a new listen is triggered.
What are the possible drawbacks or issues with the requested changes?
On a busy instance, this could lead to frequent updates and potential performance degradation. A "slow mode" with a refresh buttoon akin to what we previously had may be a nice alternative for users (set through a switch in preferences).