* Make remote commands accept local paths with and without extension definition
* Use constants for dle and tiq urls
* Share a ResourceRetriever and ResourceRefresher for RemoteCommands and RemotePublishSettings
Fix RemoteCommands issues:
- load url remote commands successfully after others have been previously added
- refresh remote commands on interval
- fix cache usage for remote commands
- use etag instead of if-not-modified-since
- safely extract fileName from url
- always use commandId to access different remote commands instead of a mix of commandId and fileName
Fix ResourceRetriever to accept all 20x responses as correct
* Add retry mechanism for ResourceRetriever and improve shouldRefresh checks in ResourceRefresher
Move the should refresh entirely inside of the resource refresher
Move the logging in the delegate calls instead
* Fix refresh logic with wrong conditions
Add delegate call for cached/bundle settings
Fix old tests
* Remove resource retriever forced refresh when not cached and add backoff for cooldown Interval
* Make condition clearer for when to use local bundle RemoteCommand config
* Use commandId instead of filename for remote commands cache and asset bundle for url remote commands
Create an internal bundle option just for tests
* Reorganize files
* Improve VisitorServiceRetriever urlSession and completion calls
* Simplify Resource Refresher error handling
* Improve Collect urlSession and Completion calls
* Test ResourceRetriever with a new MockURLSession
* Fix ResourceRefresher Cooldown logic and add some tests
* Add ResourceRefresher tests and create ErrorCooldown utility to help with tests
* Improve and test ErrorCooldown
Make sure that when errorCooldown is nil the normal refreshInterval is used
* Remove settings from bundle option
* Fix old remote commands manager tests
* Fix collect completion
* Fix remaining old tests for remote commands
Remove MockRemoteCommandsDiskStorage
* Add RemoteCommands tests for bundle and refreshes
* Fix TagManagement flaky tests
* Reload webview after session updates
* Add some documentation and improve isFileCached
* Fix comment spacing
* Fix inAppPurchase tests
* Improve readability of dynamicTrack and fix mock webview in tests
* Try to use M1 mac on CICD
* Fix wrong macos specification
* Reset ErrorCooldown counter on non-errors
* Make publishsettings tests more reliable
* Ignore 304 errors from ResourceRetriever in ResourceRefresher's ErrorCooldown
* Try to make Autotracking UI tests more reliable on slow CICD