mirror of
https://github.com/supabase/supabase.git
synced 2026-10-05 09:25:06 +03:00
fix(studio): hide shared pooler chart for high availability projects (#49904)
High Availability projects run Multigres and don't have Supavisor, so the Shared Pooler (Supavisor) client connections chart in the database report only ever rendered an "Unable to load data" error for them. This hides the chart for HA projects, following the same pattern as the Disk IO Burst Balance chart. **Changed:** - `supavisor-connections-active` chart is now hidden when `project.high_availability` is true **Added:** - Unit tests covering the shared pooler chart's visibility for standard, HA, and unentitled projects ## To test - Open Reports → Database on a High Availability project – the Shared Pooler (Supavisor) client connections chart should no longer appear - Open the same report on a standard Pro project – the chart should still render as before <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * The active connection chart is now hidden for High Availability projects and projects without the database entitlement, preventing empty or unavailable data from being displayed. * **Tests** * Added coverage to verify the chart appears only for eligible standard projects. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Co-authored-by: Alaister Young <10985857+alaister@users.noreply.github.com>
This commit is contained in:
1 parent
9aaa753306
commit
c6435f1cbe
2 files changed
+25
-1
No files matched your search
@@ -77,6 +77,29 @@ describe('getReportAttributesV2 dedicated pooler chart', () => {
|
||||
})
|
||||
})
|
||||
|
||||
const getSupavisorChart = (project: Project) =>
|
||||
getReportAttributesV2(ENTITLED_FEATURES, project).find(
|
||||
(chart) => chart.id === 'supavisor-connections-active'
|
||||
)
|
||||
|
||||
describe('getReportAttributesV2 shared pooler chart', () => {
|
||||
it('shows the chart for standard projects', () => {
|
||||
expect(getSupavisorChart(buildProject())?.hide).toBe(false)
|
||||
})
|
||||
|
||||
it('hides the chart for high availability projects', () => {
|
||||
expect(getSupavisorChart(buildProject({ high_availability: true }))?.hide).toBe(true)
|
||||
})
|
||||
|
||||
it('hides the chart when the database entitlement is missing', () => {
|
||||
expect(
|
||||
getReportAttributesV2([], buildProject()).find(
|
||||
(chart) => chart.id === 'supavisor-connections-active'
|
||||
)?.hide
|
||||
).toBe(true)
|
||||
})
|
||||
})
|
||||
|
||||
describe('getReportAttributesV2 disk-io-burst-balance chart', () => {
|
||||
it('shows the chart for burstable non high availability projects', () => {
|
||||
expect(getBurstBalanceChart(buildProject())?.hide).toBe(false)
|
||||
|
||||
@@ -541,7 +541,8 @@ export const getReportAttributesV2: (
|
||||
valuePrecision: 0,
|
||||
entitlement: 'database',
|
||||
requiredPlan: 'Pro',
|
||||
hide: !entitledFeatures.includes('database'),
|
||||
// High Availability projects don't run Supavisor, so there's no data to show.
|
||||
hide: !entitledFeatures.includes('database') || isHighAvailability,
|
||||
showTooltip: true,
|
||||
showLegend: false,
|
||||
showMaxValue: false,
|
||||
|
||||
Reference in new issue
Block a user