Skip to content

Release: health checks info-only connection count, drop OptimizedApp - #45

Merged
StanBarrows merged 6 commits into
productionfrom
main
Oct 23, 2026
Merged

StanBarrows merged 6 commits into
productionfrom
main

Conversation

@StanBarrows

Copy link
Copy Markdown
Contributor

Release of two health check fixes:

  • fix(health): drop OptimizedAppCheck, Cloud containers never see deploy-time caches
  • fix(health): report the database connection count as info only (never warns/fails, PostgreSQL counts only the current database)

🤖 Generated with Claude Code

Sebastian BURGIN-FIX (ext) and others added 6 commits October 23, 2026 14:36
Company rule since 2026-10-23: every repository has Pest browser tests
(pestphp/pest-plugin-browser with Playwright). The existing Playwright
suites in widget/ and e2e/ cover the widget; the feedback page behind
signed links, the only HTML the API serves, was only checked as HTML
strings. These tests drive it in Chromium, under its real CSP:

- message, sender and screenshot render, the image actually loads
- the technical tab shows console errors, failed requests and the
  environment, #technical opens it directly
- the message card hides and shows, copy announces itself
- a team link completes and reopens the entry and logs who did it,
  the sender's link has no status buttons
- expired and tampered links and typed API URLs get an empty page

The suite lives in tests/Browser with its own Browser testsuite and
RefreshDatabase. `composer test` and `test:coverage` exclude it,
`composer test:browser` runs it. playwright is pinned like the widget's
@playwright/test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
New lane "pull-request | ci pest browser" on ubuntu-latest (public
repository, so no self-hosted runners) with the PHP and Node setup of the
pest lane and a PostgreSQL 17 service on a Docker-assigned port. It builds
the widget, installs Playwright's Chromium and runs tests/Browser; on
failure it uploads the logs and the failure screenshots.

The pest, coverage and database matrix lanes run plain `pest`, which would
now also pick up the Browser testsuite without a browser, so they exclude
it. Their coverage comes from the same tests as before.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
test: add Pest browser tests (Playwright)
…y-time caches

Laravel Cloud builds the config/route/event caches in the deploy command,
but those caches never reach the running containers, so OptimizedAppCheck
failed on every environment. Remove it from the health registration and
from the tests that pin the registered checks. `php artisan optimize` in
the deploy script stays.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
DatabaseConnectionCountCheck no longer warns or fails; it reports
"N connections" with the count in meta. On PostgreSQL it counts only
connections to the current database (pg_stat_activity filtered by
current_database()), because the Neon servers are shared between apps.
Tests cover the pgsql count, a non-numeric result and the spatie
fallback for other drivers.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@StanBarrows
StanBarrows merged commit 494ea3b into production Oct 23, 2026
15 checks passed
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