diff --git a/web/packages/teleterm/src/ui/Documents/DocumentsRenderer.tsx b/web/packages/teleterm/src/ui/Documents/DocumentsRenderer.tsx
index 0d14b71722f03..b259725cb7883 100644
--- a/web/packages/teleterm/src/ui/Documents/DocumentsRenderer.tsx
+++ b/web/packages/teleterm/src/ui/Documents/DocumentsRenderer.tsx
@@ -18,6 +18,7 @@ import React, { useMemo } from 'react';
import { createPortal } from 'react-dom';
import styled from 'styled-components';
+import { Text } from 'design';
/* eslint-disable @typescript-eslint/ban-ts-comment*/
// @ts-ignore
import { DocumentAccessRequests } from 'e-teleterm/ui/DocumentAccessRequests/DocumentAccessRequests';
@@ -41,7 +42,7 @@ import {
import { DocumentGatewayKube } from 'teleterm/ui/DocumentGatewayKube';
import Document from 'teleterm/ui/Document';
-import { RootClusterUri } from 'teleterm/ui/uri';
+import { RootClusterUri, isDatabaseUri } from 'teleterm/ui/uri';
import { ResourcesContextProvider } from '../DocumentCluster/resourcesContext';
@@ -121,8 +122,21 @@ function MemoizedDocument(props: { doc: types.Document; visible: boolean }) {
switch (doc.kind) {
case 'doc.cluster':
return ;
- case 'doc.gateway':
- return ;
+ case 'doc.gateway': {
+ if (isDatabaseUri(doc.targetUri)) {
+ return ;
+ }
+ return (
+
+
+ Cannot create a gateway for the target "{doc.targetUri}".
+
+ Only database and kube targets are supported.
+
+
+ );
+ }
+
case 'doc.gateway_cli_client':
return ;
case 'doc.gateway_kube':
@@ -140,7 +154,9 @@ function MemoizedDocument(props: { doc: types.Document; visible: boolean }) {
default:
return (
- Document kind "{doc.kind}" is not supported
+
+ Document kind "{doc.kind}" is not supported.
+
);
}
diff --git a/web/packages/teleterm/src/ui/TopBar/Connections/ConnectionsFilterableList/ConnectionItem.tsx b/web/packages/teleterm/src/ui/TopBar/Connections/ConnectionsFilterableList/ConnectionItem.tsx
index 72b52b28ed7b1..a76676451906d 100644
--- a/web/packages/teleterm/src/ui/TopBar/Connections/ConnectionsFilterableList/ConnectionItem.tsx
+++ b/web/packages/teleterm/src/ui/TopBar/Connections/ConnectionsFilterableList/ConnectionItem.tsx
@@ -20,7 +20,7 @@ import { Trash, Unlink } from 'design/Icon';
import { ExtendedTrackedConnection } from 'teleterm/ui/services/connectionTracker';
import { ListItem } from 'teleterm/ui/components/ListItem';
-import { assertUnreachable } from 'teleterm/ui/utils';
+import { isDatabaseUri } from 'teleterm/ui/uri';
import { useKeyboardArrowsNavigation } from 'teleterm/ui/components/KeyboardArrowsNavigation';
@@ -105,7 +105,7 @@ export function ConnectionItem(props: ConnectionItemProps) {
border-radius: 4px;
`}
>
- {getKindName(props.item.kind)}
+ {getKindName(props.item)}