fix: warn that resetting the DB password affects pooler and read replicas (#50649)

## What kind of change does this PR introduce?

Fixes:
[FE-3607](https://linear.app/supabase/issue/FE-3607/re-proper-ui-warning-when-changing-db-password).

## What is the current behavior?

`ResetDbPasswordDialog` (the "Reset database password" dialog, reachable
from Database Settings and the Connect sheet) only validates password
strength. It has no warning about what actually happens when the
password changes: the same password is shared across the direct
connection, the pooler, read replicas, and third-party integrations
(Warehouse, ORMs, backend services) that have it configured. Resetting
it silently breaks any of those still using the old value.

## What is the new behavior?

Adds an `Admonition` warning inside the shared `ResetDbPasswordDialog`
component explaining that the pooler, read replicas, and any
app/ORM/tool using the old password will be disconnected. Added to the
shared dialog itself (not the Database Settings page wrapper) so both
places it's embedded, the Database Settings page and the Connect sheet's
direct-connection step, get the warning automatically.

## Additional context

No behavior change to the reset flow itself, copy-only addition. No new
tests added since this doesn't introduce new logic/branches.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Improvements**
- Added a warning to the database password reset dialog explaining that
the password is shared across all connection methods.
- Clarified that resetting the password disconnects the pooler, read
replicas, and applications, ORMs, or tools using the previous password.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
Monica Khoury authored and GitHub committed 2026-09-21 17:13:33 +03:00
1 parent ce683aa0e3
commit be9c67a761
1 file changed
+5
@@ -14,6 +14,7 @@ import {
DialogTitle,
DialogTrigger,
} from 'ui'
import { Admonition } from 'ui-patterns/Admonition'
import { Input } from 'ui-patterns/DataInputs/Input'
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
@@ -155,6 +156,10 @@ export const ResetDbPasswordDialog = ({
</DialogHeader>
<DialogSectionSeparator />
<DialogSection className="w-full space-y-8">
<Admonition type="warning" title="This password is shared across every connection method">
Resetting it will disconnect the pooler, read replicas, and any app, ORM, or tool still
using the old password. Update it everywhere before switching over.
</Admonition>
<FormItemLayout
layout="vertical"
isReactForm={false}