diff --git a/apps/web/src/components/settings/ConnectionsSettings.tsx b/apps/web/src/components/settings/ConnectionsSettings.tsx index c00af9f88164..cf37a4167c4d 100644 --- a/apps/web/src/components/settings/ConnectionsSettings.tsx +++ b/apps/web/src/components/settings/ConnectionsSettings.tsx @@ -1549,6 +1549,18 @@ function SavedBackendListRow({ versionMismatch !== null && (serverUpdateState.status === "idle" || serverUpdateState.status === "failed"); + const statusTooltip = `${ + unsupported + ? (environment.connection.error ?? connectionStatusText(environment.connection)) + : enabled + ? connectionStatusText(environment.connection) + : "Switched off" + }${ + versionMismatch + ? `\nUpdate available: ${versionMismatch.serverVersion} → ${versionMismatch.clientVersion}` + : "" + }`; + return ( + {/* The status can change while the tooltip is open, and base-ui only + re-measures the popup when the trigger's payload changes. */} - {unsupported - ? (environment.connection.error ?? connectionStatusText(environment.connection)) - : enabled - ? connectionStatusText(environment.connection) - : "Switched off"} - {versionMismatch - ? `\nUpdate available: ${versionMismatch.serverVersion} → ${versionMismatch.clientVersion}` - : ""} + {statusTooltip} }