diff --git a/components/metrics/MetricsTable.js b/components/metrics/MetricsTable.js index 3ad7f434..3bb313cd 100644 --- a/components/metrics/MetricsTable.js +++ b/components/metrics/MetricsTable.js @@ -73,7 +73,10 @@ export function MetricsTable({ const filteredData = useMemo(() => { if (data) { - let items = percentFilter(dataFilter ? dataFilter(data, filterOptions) : data); + const dataWithoutNullValues = data.filter(val => val.x !== null); + let items = percentFilter( + dataFilter ? dataFilter(dataWithoutNullValues, filterOptions) : dataWithoutNullValues, + ); if (limit) { items = items.filter((e, i) => i < limit); } diff --git a/docker-compose.yml b/docker-compose.yml index bd63c68b..b8da9373 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -10,7 +10,8 @@ services: DATABASE_TYPE: postgresql APP_SECRET: replace-me-with-a-random-string depends_on: - - db + db: + condition: service_healthy restart: always db: image: postgres:15-alpine @@ -19,8 +20,12 @@ services: POSTGRES_USER: umami POSTGRES_PASSWORD: umami volumes: - - ./sql/schema.postgresql.sql:/docker-entrypoint-initdb.d/schema.postgresql.sql:ro - umami-db-data:/var/lib/postgresql/data restart: always + healthcheck: + test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"] + interval: 5s + timeout: 5s + retries: 5 volumes: umami-db-data: diff --git a/pages/realtime/[id]/index.js b/pages/realtime/[id]/index.js index 43475fa5..ba13ded3 100644 --- a/pages/realtime/[id]/index.js +++ b/pages/realtime/[id]/index.js @@ -10,7 +10,7 @@ export default function RealtimeDetailsPage() { const { formatMessage, labels } = useMessages(); const { get, useQuery } = useApi(); const { data: website } = useQuery(['websites', websiteId], () => - get(`/websites/${websiteId}`, { enabled: !!websiteId }), + websiteId ? get(`/websites/${websiteId}`, { enabled: !!websiteId }) : null, ); const title = `${formatMessage(labels.realtime)}${website?.name ? ` - ${website.name}` : ''}`;