Skip to content

feat: custom user-agent, refresh checks, vite plugin switch, CI updates - #1

Merged
fclairamb merged 21 commits into
mainfrom
chore/batch-updates
Mar 23, 2026
Merged

fclairamb merged 21 commits into
mainfrom
chore/batch-updates

Conversation

@fclairamb

Copy link
Copy Markdown
Owner

Summary

  • Custom User-Agent: Add configurable user-agent via SP_USERAGENT env var, defaulting to solidping.io/{version}
  • Refresh checks list: Invalidate infinite checks query on create/update/delete so the list stays in sync
  • Switch Vite plugin: Replace @vitejs/plugin-react-swc with @vitejs/plugin-react
  • CI workflows: Switch all remaining workflows from self-hosted to ubuntu-24.04
  • Results improvements: Increase default size to 100 (max 1000), use hourly aggregations for week/month time ranges
  • Release-please: Add configuration for automated releases
  • Dash0 fix: Fix favicon path

Test plan

  • Verify user-agent header is solidping.io/{version} by default
  • Verify SP_USERAGENT overrides the default
  • Confirm checks list refreshes after adding/editing/deleting a check
  • Confirm dash0 builds and runs correctly with new vite plugin
  • Verify CI workflows run on ubuntu-24.04

🤖 Generated with Claude Code

fclairamb and others added 21 commits March 23, 2026 20:05
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add version.UserAgent global (default "solidping.io")
- Add SP_USERAGENT config support
- HTTP checker uses version.UserAgent for User-Agent header
- SMTP checker uses version.UserAgent as default EHLO domain

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…Check

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The checks index page uses useInfiniteChecks with query key
["checks", "infinite", org, ...] which wasn't matched by the
existing invalidation of ["checks", org].

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…tejs/plugin-react

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Vite recommends this for improved performance with the Rolldown bundler
when no SWC plugins are used.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ions, and release-please config

- Include version in default user-agent string (solidping.io/{version})
- Increase results default size to 100 and max to 1000
- Use hourly aggregations for week/month time ranges in response time chart
- Fix favicon path in dash0
- Add release-please configuration
- Add check-started-result spec

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@fclairamb
fclairamb merged commit cc00858 into main Mar 23, 2026
10 checks passed
This was referenced Mar 24, 2026
@fclairamb
fclairamb deleted the chore/batch-updates branch May 5, 2026 21:20
fclairamb added a commit that referenced this pull request Jun 23, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.1.0](v0.0.0...v0.1.0)
(2026-06-22)


### Features

* add check type registry, sample configs, notification senders, and
observability integrations
([eea049e](eea049e))
* batch — Warning/Degraded statuses, SSL/Docker check upgrades, MCP
OAuth 2.1, config-as-code
([#85](#85))
([936d830](936d830))
* batch spec implementations (dashboard UI, jobs, notifications, SaaS,
perf) ([#78](#78))
([fe003e4](fe003e4))
* bulk feature integration (discovery, web push, badges, webhooks, and
more) ([#73](#73))
([a976856](a976856))
* custom user-agent, refresh checks, vite plugin switch, CI updates
([#1](#1))
([cc00858](cc00858))
* documentation site served at /docs (co-located in web/docs)
([#88](#88))
([27d9ccd](27d9ccd))
* email check frontend (spec 03)
([#30](#30))
([aebd106](aebd106))
* email inbox foundation via JMAP (spec 01)
([#24](#24))
([0f3b0c1](0f3b0c1))
* email passive checks (spec 02)
([#27](#27))
([ba5536f](ba5536f))
* **entitlements:** trim to MaxSSOUsers + MaxChecksPerMinute + status
page history fixes
([#50](#50))
([a007de0](a007de0))
* **entitlements:** trim to MaxSSOUsers + MaxChecksPerMinute, enforce
both ([#49](#49))
([d25cc5f](d25cc5f))
* group incident correlation (spec 04 backend v1)
([#31](#31))
([1883986](1883986))
* **observability:** instrument hot path + add bench harness
([#60](#60))
([c6604cc](c6604cc))
* **oncall:** searchable timezone dropdown + sidebar logo polish
([#46](#46))
([4396898](4396898))
* per-IP HTTP rate limiting and concurrency limiting
([#59](#59))
([f9cc273](f9cc273))
* soften HTTP rate limits with bounded queues + request timeout
([#63](#63))
([025501b](025501b))
* SolidPing — distributed uptime monitoring platform
([eef4383](eef4383))
* **statuspages:** drag-and-drop resource reordering + dash conventions
([#41](#41))
([cf910d4](cf910d4))


### Bug Fixes

* **deps:** update dependency i18next to v26
([#26](#26))
([d5d1b7e](d5d1b7e))
* **deps:** update dependency lucide-react to v1
([#28](#28))
([cdc8e8c](cdc8e8c))
* **deps:** update dependency react-i18next to v17
([#29](#29))
([13135d8](13135d8))
* **deps:** update dependency recharts to v3.8.1
([#14](#14))
([5d95a3b](5d95a3b))
* **deps:** update go dependencies (non-major)
([#16](#16))
([2450f13](2450f13))
* **deps:** update go dependencies (non-major)
([#19](#19))
([f842310](f842310))
* **deps:** update go dependencies (non-major)
([#37](#37))
([c020eca](c020eca))
* **deps:** update go dependencies (non-major)
([#44](#44))
([ff0bcd0](ff0bcd0))
* **deps:** update go dependencies (non-major)
([#52](#52))
([2e3bc28](2e3bc28))
* **deps:** update go dependencies (non-major)
([#69](#69))
([a65ed4c](a65ed4c))
* **deps:** update go dependencies (non-major)
([#77](#77))
([a0920ff](a0920ff))
* **deps:** update go dependencies (non-major) to v1.4.2
([#86](#86))
([1eb7504](1eb7504))
* **deps:** update module github.com/aws/aws-sdk-go-v2/config to
v1.32.18 ([#72](#72))
([6406537](6406537))
* **deps:** update module github.com/aws/aws-sdk-go-v2/service/s3 to
v1.101.0 ([#39](#39))
([f9c9563](f9c9563))
* **deps:** update module github.com/go-webauthn/webauthn to v0.17.3
([#45](#45))
([593931a](593931a))
* **deps:** update module github.com/go-webauthn/webauthn to v0.17.4
([#70](#70))
([fca1c97](fca1c97))
* **deps:** update module github.com/ibm/sarama to v1.48.1
([#47](#47))
([93ccf3a](93ccf3a))
* **deps:** update module github.com/ibm/sarama to v1.48.2
([#54](#54))
([e84d868](e84d868))
* **deps:** update module github.com/ibm/sarama to v1.49.0
([#64](#64))
([fd61bd7](fd61bd7))
* **deps:** update module github.com/oapi-codegen/runtime to v1.4.1
([#65](#65))
([a3a3e9f](a3a3e9f))
* **deps:** update module github.com/prometheus/common to v0.67.5
([#61](#61))
([095dd6f](095dd6f))
* **deps:** update module github.com/slack-go/slack to v0.24.0
([#75](#75))
([6e86d5b](6e86d5b))
* **deps:** update module golang.org/x/sys to v0.44.0
([#42](#42))
([a245730](a245730))
* **deps:** update module golang.org/x/sys to v0.45.0
([#67](#67))
([49c3d90](49c3d90))
* **deps:** update module golang.org/x/term to v0.43.0
([#43](#43))
([4a934f1](4a934f1))
* **deps:** update module google.golang.org/grpc to v1.81.0
([#36](#36))
([1be183a](1be183a))
* **deps:** update module google.golang.org/grpc to v1.81.1
([#55](#55))
([6bfac2d](6bfac2d))
* status lifecycle improvements and created/running result handling
([#5](#5))
([fc64c7d](fc64c7d))
* **status0:** white page header and de-duplicated footer
([#48](#48))
([77506a7](77506a7))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
fclairamb added a commit that referenced this pull request Aug 1, 2026
Registers "msteams" in the ConnectionType union/capability map, the
new-integration picker, the icon/label registry, and the discord/googlechat/
mattermost webhook_url form panel (with a Teams Workflow setup hint — the
#1 setup confusion since the legacy connector is retired). Adds en/fr/de/es
labels and hints, and a light E2E test creating an msteams channel and
verifying the webhook URL persists across reload.
fclairamb added a commit that referenced this pull request Aug 4, 2026
Registers "msteams" in the ConnectionType union/capability map, the
new-integration picker, the icon/label registry, and the discord/googlechat/
mattermost webhook_url form panel (with a Teams Workflow setup hint — the
#1 setup confusion since the legacy connector is retired). Adds en/fr/de/es
labels and hints, and a light E2E test creating an msteams channel and
verifying the webhook URL persists across reload.
This was referenced Sep 8, 2026
fclairamb added a commit that referenced this pull request Sep 14, 2026
Three bumps close every open Dependabot alert on the repo.

- kin-openapi 0.142.0 -> 0.144.0 (alerts #6 critical, #7 medium):
  ValidationHandler.Load() fail-open auth bypass via the default
  NoopAuthenticationFunc, and an unauthenticated nil-pointer panic in
  openapi3filter when validating a `content` parameter whose media type
  carries no schema. Indirect, pulled by oapi-codegen.

- goxmldsig 1.4.0 -> 1.6.0 (alert #1 high): loop-variable capture in
  validateSignature let a crafted document bypass signature validation.
  Indirect, pulled by crewjam/saml.

- github.com/docker/docker -> github.com/moby/moby/{client,api}
  (alerts #2, #3, #4, #5): docker/docker stopped publishing Go modules
  at v28.5.2 — Docker 29 split the Go client into
  github.com/moby/moby/client and the API types into
  github.com/moby/moby/api. There is no patched v28, so the only way off
  the vulnerable module is the migration.

The moby migration is mechanical but not a pure import rewrite, because
the split client reshaped its call signatures:

- every call takes an options struct and returns a result struct
  (ContainerInspect/List/Start/Remove/Logs, CopyTo/FromContainer,
  ImagePull, Ping);
- InspectResponse is flat — the ContainerJSONBase embedding is gone;
- Summary.State is container.ContainerState and Health.Status is
  container.HealthStatus, both typed strings now;
- container.Port is container.PortSummary;
- port sets/maps moved to the network package with a real Port type
  (network.MustParsePort) and netip.Addr host IPs, replacing
  docker/go-connections/nat — which drops to indirect;
- EndpointSettings.Gateway is a netip.Addr, not a string.

Behaviour is unchanged for the docker check and container discovery. The
one compatibility note: the split client's floor is Docker API 1.40
(Docker 19.03, 2019), up from 1.24. API-version negotiation still runs,
so Podman and older-but-supported daemons are unaffected.

go mod tidy also promotes chromedp/cdproto to a direct requirement — it
is directly imported by internal/checkers/checkbrowser and was mislabeled
indirect.

Verified: make lint-back, go vet ./... , go vet -tags slowtests ./... ,
and the full `make test` suite all green; oapi-codegen still builds
against kin-openapi 0.144.0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
fclairamb added a commit that referenced this pull request Sep 14, 2026
Three bumps close every open Dependabot alert on the repo.

- kin-openapi 0.142.0 -> 0.144.0 (alerts #6 critical, #7 medium):
  ValidationHandler.Load() fail-open auth bypass via the default
  NoopAuthenticationFunc, and an unauthenticated nil-pointer panic in
  openapi3filter when validating a `content` parameter whose media type
  carries no schema. Indirect, pulled by oapi-codegen.

- goxmldsig 1.4.0 -> 1.6.0 (alert #1 high): loop-variable capture in
  validateSignature let a crafted document bypass signature validation.
  Indirect, pulled by crewjam/saml.

- github.com/docker/docker -> github.com/moby/moby/{client,api}
  (alerts #2, #3, #4, #5): docker/docker stopped publishing Go modules
  at v28.5.2 — Docker 29 split the Go client into
  github.com/moby/moby/client and the API types into
  github.com/moby/moby/api. There is no patched v28, so the only way off
  the vulnerable module is the migration.

The moby migration is mechanical but not a pure import rewrite, because
the split client reshaped its call signatures:

- every call takes an options struct and returns a result struct
  (ContainerInspect/List/Start/Remove/Logs, CopyTo/FromContainer,
  ImagePull, Ping);
- InspectResponse is flat — the ContainerJSONBase embedding is gone;
- Summary.State is container.ContainerState and Health.Status is
  container.HealthStatus, both typed strings now;
- container.Port is container.PortSummary;
- port sets/maps moved to the network package with a real Port type
  (network.MustParsePort) and netip.Addr host IPs, replacing
  docker/go-connections/nat — which drops to indirect;
- EndpointSettings.Gateway is a netip.Addr, not a string.

Behaviour is unchanged for the docker check and container discovery. The
one compatibility note: the split client's floor is Docker API 1.40
(Docker 19.03, 2019), up from 1.24. API-version negotiation still runs,
so Podman and older-but-supported daemons are unaffected.

go mod tidy also promotes chromedp/cdproto to a direct requirement — it
is directly imported by internal/checkers/checkbrowser and was mislabeled
indirect.

Verified: make lint-back, go vet ./... , go vet -tags slowtests ./... ,
and the full `make test` suite all green; oapi-codegen still builds
against kin-openapi 0.144.0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant