* feat(suite): Implement Suites
Fixes#1230
* Update docs
* Fix variable alignment
* Prevent always-run endpoint from running if a context placeholder fails to resolve in the URL
* Return errors when a context placeholder path fails to resolve
* Add a couple of unit tests
* Add a couple of unit tests
* fix(ui): Update group count properly
Fixes#1233
* refactor: Pass down entire config instead of several sub-configs
* fix: Change default suite interval and timeout
* fix: Deprecate disable-monitoring-lock in favor of concurrency
* fix: Make sure there are no duplicate keys
* Refactor some code
* Update watchdog/watchdog.go
* Update web/app/src/components/StepDetailsModal.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* chore: Remove useless log
* fix: Set default concurrency to 3 instead of 5
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* feat(storage): Add support for 30d uptime badge
Fix#714
* Fix typo
* Fix test
* Fix typo
* Improve implementation
* Add check in existing test
* Add extra test to ensure functionality works
* Add support for 30d response time chart too
* refactor: Partially break core package into dns, result and ssh packages
* refactor: Move core package to config/endpoint
* refactor: Fix warning about overlapping imported package name with endpoint variable
* refactor: Rename EndpointStatus to Status
* refactor: Merge result pkg back into endpoint pkg, because it makes more sense
* refactor: Rename parameter r to result in Condition.evaluate
* refactor: Rename parameter r to result
* refactor: Revert accidental change to endpoint.TypeDNS
* refactor: Rename parameter r to result
* refactor: Merge util package into endpoint package
* refactor: Rename parameter r to result