diff --git a/apps/studio/components/interfaces/Settings/Database/DatabaseSettings/DatabaseConnectionString.tsx b/apps/studio/components/interfaces/Settings/Database/DatabaseSettings/DatabaseConnectionString.tsx index d728f2e2299..40cb5bac8b7 100644 --- a/apps/studio/components/interfaces/Settings/Database/DatabaseSettings/DatabaseConnectionString.tsx +++ b/apps/studio/components/interfaces/Settings/Database/DatabaseSettings/DatabaseConnectionString.tsx @@ -192,7 +192,7 @@ export const DatabaseConnectionString = () => {

You can use the following URI format to switch to a different database or user - when using connection pooling. + {usePoolerConnection ? ' when using connection pooling' : ''}.

{poolerConnStringSyntax.map((x, idx) => { diff --git a/apps/studio/components/interfaces/Settings/Database/UsePoolerCheckbox.tsx b/apps/studio/components/interfaces/Settings/Database/UsePoolerCheckbox.tsx index 466b3c71898..8a3a7b2c292 100644 --- a/apps/studio/components/interfaces/Settings/Database/UsePoolerCheckbox.tsx +++ b/apps/studio/components/interfaces/Settings/Database/UsePoolerCheckbox.tsx @@ -3,6 +3,7 @@ import { Badge, Checkbox_Shadcn_ } from 'ui' import { Markdown } from 'components/interfaces/Markdown' import { usePoolingConfigurationQuery } from 'data/database/pooling-configuration-query' +import { useProjectSettingsQuery } from 'data/config/project-settings-query' interface UsePoolerCheckboxInterface { id: string @@ -13,9 +14,9 @@ interface UsePoolerCheckboxInterface { export const UsePoolerCheckbox = ({ id, checked, onCheckedChange }: UsePoolerCheckboxInterface) => { const { ref: projectRef } = useParams() const { data, isSuccess } = usePoolingConfigurationQuery({ projectRef }) + const { data: settings, isSuccess: isSuccessSettings } = useProjectSettingsQuery({ projectRef }) - // [Joshen] TODO this needs to be obtained from BE as 26th Jan is when we'll start - projects will be affected at different rates - const resolvesToIpV6 = !data?.supavisor_enabled && false // Number(new Date()) > Number(dayjs.utc('01-26-2024', 'MM-DD-YYYY').toDate()) + const resolvesToIpV6 = !data?.supavisor_enabled && settings?.project.db_ip_addr_config === 'ipv6' return (

@@ -32,13 +33,15 @@ export const UsePoolerCheckbox = ({ id, checked, onCheckedChange }: UsePoolerChe Supavisor )} - - {checked - ? 'Resolves to IPv4' - : resolvesToIpV6 - ? 'Resolves to IPv6' - : 'Resolves to IPv4'} - + {isSuccessSettings && ( + + {checked + ? 'Resolves to IPv4' + : resolvesToIpV6 + ? 'Resolves to IPv6' + : 'Will resolve to IPv6'} + + )} > @@ -91,10 +64,10 @@ export const useProjectSettingsQuery = ( ({ signal }) => getProjectSettings({ projectRef }, signal), { enabled: enabled && typeof projectRef !== 'undefined', - refetchInterval(data, query) { - const apiService = ( - (data as unknown as ProjectSettingsData | undefined)?.services ?? [] - ).find((x) => x.app.id == DEFAULT_PROJECT_API_SERVICE_ID) + refetchInterval(data) { + const apiService = ((data as ProjectSettings)?.services ?? []).find( + (x) => x.app.id == DEFAULT_PROJECT_API_SERVICE_ID + ) const apiKeys = apiService?.service_api_keys ?? [] const interval = apiKeys.length === 0 ? 2000 : 0