// @ts-nocheck import { PermissionAction } from '@supabase/shared-types/out/constants' import { useParams } from 'common' import { isEqual } from 'lodash' import { ExternalLink, Loader2, Megaphone } from 'lucide-react' import Link from 'next/link' import { useEffect, useState } from 'react' import DataGrid, { Row } from 'react-data-grid' import { Button, cn, IconBroadcast, IconDatabaseChanges, IconPresence } from 'ui' import { GenericSkeletonLoader } from 'ui-patterns' import type { LogData } from './Messages.types' import MessageSelection from './MessageSelection' import NoChannelEmptyState from './NoChannelEmptyState' import { ColumnRenderer } from './RealtimeMessageColumnRenderer' import { DocsButton } from '@/components/ui/DocsButton' import NoPermission from '@/components/ui/NoPermission' import ShimmerLine from '@/components/ui/ShimmerLine' import { ShortcutTooltip } from '@/components/ui/ShortcutTooltip' import { useSendEventMutation } from '@/data/telemetry/send-event-mutation' import { useAsyncCheckPermissions } from '@/hooks/misc/useCheckPermissions' import { useSelectedOrganizationQuery } from '@/hooks/misc/useSelectedOrganization' import { DOCS_URL } from '@/lib/constants' import { SHORTCUT_IDS } from '@/state/shortcuts/registry' export const isErrorLog = (l: LogData) => { return l.message === 'SYSTEM' && l.metadata?.status === 'error' } const NoResultAlert = ({ enabled, hasChannelSet, showSendMessage, }: { enabled: boolean hasChannelSet: boolean showSendMessage: () => void }) => { const { ref } = useParams() const { can: canReadAPIKeys, isLoading: isLoadingPermissions } = useAsyncCheckPermissions( PermissionAction.READ, 'service_api_keys' ) const broadcastButton = ( ) return (
No Realtime messages found
}Realtime message logs will be shown here
Create a Broadcast message
Send a message in the channel
Join from another browser tab
Send messages between multiple clients
Listen to a table for changes
Tables must have realtime enabled
Not sure what to do?
Browse our documentation