The PagePreviews will fire AJAX call every time PagePreviews switch to `LINK_DWELL` state (more information: https://phabricator.wikimedia.org/T193055#4277206)
Yes, there is always a value in aborting requests:
* from the user side - fewer data sent to the user
* from the service side - there is some value, but it will not make any considerable difference. 99% of summary requests are stored in varnish and never reach restbase. But for remaining 1% aborting request will reduce the server load (first restbase checks Cassandra cache, and if the summary is not present it calls MCS).
We should prevent unnecessary AJAX calls to the service, and additionally, if it's possible - code should abort the ongoing requests. When there is [[ https://github.com/wikimedia/mediawiki-extensions-Popups/blob/master/src/reducers/preview.js#L36 | a new interaction ]] code should:
- clear the timed AJAX request
- if there is ongoing AJAX request it should abort it
= Developer notes
The current implementation does not store timedAction nor the request object in the state tree, we need to preserve those and on another `LINK_DWELL` we use these variables to clear the state.