* Initial refactor and consolidation of the DataSourcePoller code
* Move transient logic into DataSourcePoller class
* Fix function name
* Fix tests
* Add changelog
* Fix tests and update use of DataSourcePoller
* Make use of ID's in the DataSourcePoller
* Fix parsing error
* Update data_sources filter
* Add default free extensions to REST API response
* Use data store to retrieve free extensions
* Add back in product link click tracks
* Handle visibility and evaluation server-side
* Update sprintf to use entire link tag
* Fix up remote free extensions rule evaluation
* Add visibility rules to mailpoet
* Fix fallback to default payment gateways if polling fails
* Add changelog entry
* Fix empty array check
Co-authored-by: Matt Sherman <matt@jam123.com>
* transform data
* working
* better
* check for marketplace suggestions
* changelog
* copy initialInstallableExtensions before transform
* parse locales server side
* deep equality
* Match remote data to local data
* reflect changes on UI
* fix keys