* add module name to service_error when check times out
Otherwise, it can sometimes remain unclear in the diagnostics, whether
it was InstallationV2 or InstallationV2CacheBust that timed out.
* Remove duplicate timeout logic
The current production logs show two types of verification timeouts:
* service_error: "Unhandled Browserless response status: 408" (vast
majority of cases)
* service_error: :timeout (only a few cases)
The latter happens when we hit the Req receive_timeout
(endpoint_timeout + 2s). I've seen Browserless not respect the timeout
param from time to time, so it's better to keep the timeout logic
"in-house" only.
* make service_error into a map with code and extra
* interpret temporary service errors
...but still consider them "unhandled" for telemetry, also notifying Sentry
and logging the warning.
* separate sentry messages (verification)
* make Verification.ChecksTest more DRY
* organize tests into describe blocks
* test verification telemetry and logging
* fix codespell
* get rid of legacy verification
* rename Checks.InstallationV2 -> Checks.VerifyInstallation
* delete Live.Installation and rename Live.InstallationV2 -> Live.Installation
* rename installationv2 (live) files as well
* delete old change-domain routes
Also rename current liveview modules and routes, removing the v2 suffix
* rename domain_change_v2 files, removing v2 suffix
* remove legacy JS verifier code
Also fix dockerignore and elixir.yml referencing a wrong priv path
* rename verification_v2_test -> verification_test
* remove v2 prefix from logs and sentry messages
* clean up duplicate external_sites_controller_test.exs tests
* remove flag
* fix typespec
* pass timeout as query param to Browserless too
* Fixup external sites controller test module (#5826)
* fix test description
---------
Co-authored-by: Artur Pata <artur.pata@gmail.com>
* Start passing official installs that are using legacy .compat installation
* Pass the first domain for verifying legacy compat installs
* Fix variable access issue
* Fix non-existent function call
* Comment why split domainString
* Add logic to find Plausible script tag
* Clarify where cookies fixtures come from
* Add case for snippet not found
* Fix issue with installation type not propagating to diagnostics
* Better struct definition
* Refactor verification tests to be more comprehensive
* Fix compile error related to Test.Support.DNS
* Fix DNS imports for CE
* Refactor when tracker is in HTML is detected
* Accept cookies (WIP)
* Make resolving Plausible function call a priority
* Update tracker script version
* Remove cookieBannerLikely, replace with debug-only cookiesConsentResult
* Use compact rules
* Make verifier tests less flaky
* Add fixtures for accepting cookies
* Limit CMPs
* Fix dep position
* Improve "back to settings" button
* Dark mode support for change domain
* Purge CDN cache on domain change
* Allow npm installation_type
* Detect npm installation type in detector
* Support npm installation type in onboarding
* Show warning in change domain flow for npm
* Make CE tests happy
* Cleanup
* npm_likely -> npm
* Cleanup
* Add fast failing dns check to verification
* Convert Detection to a checks pipeline
* Convert detection to checks pipeline
* Unify browserless checks, set retry policy, timeouts
* Fix spelling
* Update change domain v2
* Fix issue with handling errors with detection
* Include timeoutMs in detector function args
* Allow saving npm installation type (#5639)
* small code style/comment improvements
---------
Co-authored-by: RobertJoonas <56999674+RobertJoonas@users.noreply.github.com>
Co-authored-by: Robert Joonas <robertjoonas16@gmail.com>
* fix comment on localhost dogfood tracking
* improve detector script and integrate into Elixir
* wait for window.plausible.l instead of window.plausible
* do not touch source files during compilation
* stop referencing compiler hint module attr