Skip to content

Release Notes

Kody Jordan edited this page Aug 13, 2026 · 17 revisions

QualityChecks Release Notes - v1.6.0

Release Status

Version 1.6.0 makes the application degrade gracefully when the PostgREST API host is unreachable. Previously an API outage left users on a blank page for the full network timeout, and sign-in failed with a raw Failed to fetch error. The app now paints immediately, bounds every API request with a timeout, and reports outages in plain language.

This release includes:

  • Added a shared request timeout to every PostgREST call so an unreachable host fails in seconds instead of stalling on the browser network timeout.
  • Removed runtime configuration loading from the critical render path so the sign-in page appears immediately.
  • Added an API availability store that converts network failures into a readable service-unavailable message.
  • Added a static outage switch that can publish a maintenance message while the database is unavailable.
  • Added a service notice banner and connection retry to the sign-in page.

Summary

QualityChecks v1.6.0 replaces blank screens and raw fetch errors during an API outage with fast, readable feedback, and adds a maintenance announcement path that does not depend on the database.

Included in v1.6.0

API Request Timeouts

  • All PostgREST reads, writes, RPC calls, and health checks share a single timeout wrapper with an 8-second default.
  • Each call site can override the timeout; startup configuration uses a shorter 4-second bound.
  • Caller-initiated cancellations, such as navigating away from a page, are no longer misreported as service outages.

Non-Blocking Application Startup

  • The application shell mounts before runtime configuration resolves.
  • Application settings and role values load concurrently rather than sequentially.
  • Built-in defaults cover authentication and role configuration when settings cannot be loaded.

Service Availability Messaging

  • Network failures now surface a service-unavailable message instead of a raw fetch error.
  • The sign-in page shows a service notice banner at the top of the page and a connection retry action within the sign-in card.
  • Microsoft sign-in is disabled while the service is unreachable, so users are not sent through a redirect that cannot succeed.
  • Signed-in sessions show a service banner when the connection is lost mid-session.

Static Maintenance Announcements

  • A deployed status.json file can publish a maintenance message when the database-backed settings are unreachable.
  • Maintenance messages support links so users can be pointed to an external status page.
  • Static maintenance notices are advisory only and do not redirect users to the maintenance page, so sign-in resumes as soon as service is restored.
  • Database-driven maintenance mode continues to redirect non-admin users as before.

Regression Coverage

  • Added tests for request timeout behavior and abort handling.
  • Added tests for availability state transitions on network failure and recovery.

Fixed in v1.6.0

  • Fixed a blank page on load when the API host was unreachable.
  • Fixed sign-in hanging for the full network timeout before failing.
  • Fixed raw Failed to fetch text appearing as the sign-in error message.
  • Fixed maintenance mode being unavailable as an announcement channel during a database outage.

Upgrade Notes

  • No database schema migration required.
  • No Power Automate changes.
  • src/public/status.json ships with maintenance disabled by default. Enable it only to announce an outage, and reset it once service is restored.