mirror of
https://github.com/supabase/supabase.git
synced 2026-10-11 20:35:07 +03:00
## What kind of change does this PR introduce? Feature, limited to staging and local. ## What is the current behavior? On High Availability projects, Studio always disables Realtime: the Realtime pages and the Publications pages show an "unavailable" message, the table editor's "Enable Realtime" checkbox is disabled, and the project home shows Realtime as disabled. ## What is the new behavior? A new `useIsRealtimeUnavailable()` hook treats Realtime as unavailable only on High Availability projects outside staging and local (via `IS_STAGING_OR_LOCAL`). Those four places use it instead of checking `high_availability` directly. - **Production:** unchanged. - **Staging and local:** Realtime behaves as on standard projects. ## Additional context Whether a High Availability project is actually registered as a Realtime tenant is gated separately on the platform side. Until then, the pages render but Realtime connections for that project fail. Tests: a new `resolveRealtimeUnavailable` test, and the `TableRealtimeToggle` and `resolveRealtimeServiceStatus` tests updated for the renamed parameter.
11 lines
404 B
TypeScript
11 lines
404 B
TypeScript
import type { ProjectServiceStatus as APIProjectServiceStatus } from '@/data/service-status/service-status-query'
|
|
|
|
export type ProjectServiceStatus = APIProjectServiceStatus | 'DISABLED'
|
|
|
|
export const resolveRealtimeServiceStatus = (
|
|
isRealtimeUnavailable: boolean,
|
|
status?: APIProjectServiceStatus
|
|
): ProjectServiceStatus => {
|
|
return isRealtimeUnavailable ? 'DISABLED' : (status ?? 'UNHEALTHY')
|
|
}
|