Openstatus www.openstatus.dev
6
fork

Configure Feed

Select the types of activity you want to include in your feed.

⚡ Perf improvements (#971)

* 📝 typo

* ⚡ speed improvment

* ci: apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

authored by

Thibault Le Ouay
autofix-ci[bot]
and committed by
GitHub
58d99f64 666e97d6

+56 -49
+6 -4
apps/web/src/app/app/[workspaceSlug]/(dashboard)/incidents/[id]/layout.tsx
··· 13 13 }) { 14 14 const id = params.id; 15 15 16 - const incidents = await api.incident.getIncidentsByWorkspace.query(); 17 - const incident = await api.incident.getIncidentById.query({ 18 - id: Number(id), 19 - }); 16 + const [incidents, incident] = await Promise.all([ 17 + api.incident.getIncidentsByWorkspace.query(), 18 + api.incident.getIncidentById.query({ 19 + id: Number(id), 20 + }), 21 + ]); 20 22 21 23 if (!incident) { 22 24 return notFound();
+15 -11
apps/web/src/app/app/[workspaceSlug]/(dashboard)/monitors/[id]/overview/page.tsx
··· 57 57 }) { 58 58 const id = params.id; 59 59 const search = searchParamsSchema.safeParse(searchParams); 60 + 61 + if (!search.success) { 62 + return notFound(); 63 + } 60 64 const preferredSettings = getPreferredSettings(); 61 65 62 66 const monitor = await api.monitor.getMonitorById.query({ 63 67 id: Number(id), 64 68 }); 65 69 66 - if (!monitor || !search.success) { 70 + if (!monitor) { 67 71 return notFound(); 68 72 } 69 73 ··· 76 80 const isQuantileDisabled = intervalMinutes <= periodicityMinutes; 77 81 const minutes = isQuantileDisabled ? periodicityMinutes : intervalMinutes; 78 82 79 - const metrics = await tb.endpointMetrics(period)({ monitorId: id }); 80 - 81 - const data = await tb.endpointChart(period)({ 82 - monitorId: id, 83 - interval: minutes, 84 - }); 85 - 86 - const metricsByRegion = await tb.endpointMetricsByRegion(period)({ 87 - monitorId: id, 88 - }); 83 + const [metrics, data, metricsByRegion] = await Promise.all([ 84 + tb.endpointMetrics(period)({ monitorId: id }), 85 + tb.endpointChart(period)({ 86 + monitorId: id, 87 + interval: minutes, 88 + }), 89 + tb.endpointMetricsByRegion(period)({ 90 + monitorId: id, 91 + }), 92 + ]); 89 93 90 94 if (!data || !metrics || !metricsByRegion) return null; 91 95
+5 -5
apps/web/src/app/app/[workspaceSlug]/(dashboard)/notifications/(overview)/page.tsx
··· 11 11 import ChannelTable from "./_components/channel-table"; 12 12 13 13 export default async function NotificationPage() { 14 - const workspace = await api.workspace.getWorkspace.query(); 15 - const notifications = 16 - await api.notification.getNotificationsByWorkspace.query(); 17 - const isLimitReached = 18 - await api.notification.isNotificationLimitReached.query(); 14 + const [workspace, notifications, isLimitReached] = await Promise.all([ 15 + api.workspace.getWorkspace.query(), 16 + api.notification.getNotificationsByWorkspace.query(), 17 + api.notification.isNotificationLimitReached.query(), 18 + ]); 19 19 20 20 if (notifications.length === 0) { 21 21 return (
+7 -5
apps/web/src/app/app/[workspaceSlug]/(dashboard)/notifications/[id]/edit/page.tsx
··· 6 6 }: { 7 7 params: { workspaceSlug: string; id: string }; 8 8 }) { 9 - const workspace = await api.workspace.getWorkspace.query(); 10 - const monitors = await api.monitor.getMonitorsByWorkspace.query(); 9 + const [workspace, monitors, notification] = await Promise.all([ 10 + api.workspace.getWorkspace.query(), 11 + api.monitor.getMonitorsByWorkspace.query(), 11 12 12 - const notification = await api.notification.getNotificationById.query({ 13 - id: Number(params.id), 14 - }); 13 + await api.notification.getNotificationById.query({ 14 + id: Number(params.id), 15 + }), 16 + ]); 15 17 16 18 return ( 17 19 <NotificationForm
+3 -3
apps/web/src/app/app/[workspaceSlug]/(dashboard)/status-pages/(overview)/page.tsx
··· 11 11 12 12 export default async function MonitorPage() { 13 13 const pages = await api.page.getPagesByWorkspace.query(); 14 - const isLimitReached = await api.page.isPageLimitReached.query(); 15 14 16 - if (pages?.length === 0) 15 + if (pages?.length === 0) { 17 16 return ( 18 17 <EmptyState 19 18 icon="panel-top" ··· 26 25 } 27 26 /> 28 27 ); 29 - 28 + } 29 + const isLimitReached = await api.page.isPageLimitReached.query(); 30 30 return ( 31 31 <> 32 32 <DataTable columns={columns} data={pages} />
+10 -10
apps/web/src/app/public/monitors/[id]/page.tsx
··· 78 78 const isQuantileDisabled = intervalMinutes <= periodicityMinutes; 79 79 const minutes = isQuantileDisabled ? periodicityMinutes : intervalMinutes; 80 80 81 - const metrics = await tb.endpointMetrics(period)({ monitorId: id }); 82 - 83 - const data = await tb.endpointChart(period)({ 84 - monitorId: id, 85 - interval: minutes, 86 - }); 87 - 88 - const metricsByRegion = await tb.endpointMetricsByRegion(period)({ 89 - monitorId: id, 90 - }); 81 + const [metrics, data, metricsByRegion] = await Promise.all([ 82 + tb.endpointMetrics(period)({ monitorId: id }), 83 + await tb.endpointChart(period)({ 84 + monitorId: id, 85 + interval: minutes, 86 + }), 87 + tb.endpointMetricsByRegion(period)({ 88 + monitorId: id, 89 + }), 90 + ]); 91 91 92 92 if (!data || !metrics || !metricsByRegion) return null; 93 93
+10 -10
apps/web/src/app/status-page/[domain]/monitors/[id]/page.tsx
··· 81 81 const isQuantileDisabled = intervalMinutes <= periodicityMinutes; 82 82 const minutes = isQuantileDisabled ? periodicityMinutes : intervalMinutes; 83 83 84 - const metrics = await tb.endpointMetrics(period)({ monitorId: id }); 85 - 86 - const data = await tb.endpointChart(period)({ 87 - monitorId: id, 88 - interval: minutes, 89 - }); 90 - 91 - const metricsByRegion = await tb.endpointMetricsByRegion(period)({ 92 - monitorId: id, 93 - }); 84 + const [metrics, data, metricsByRegion] = await Promise.all([ 85 + tb.endpointMetrics(period)({ monitorId: id }), 86 + tb.endpointChart(period)({ 87 + monitorId: id, 88 + interval: minutes, 89 + }), 90 + tb.endpointMetricsByRegion(period)({ 91 + monitorId: id, 92 + }), 93 + ]); 94 94 95 95 if (!data || !metrics || !metricsByRegion) return null; 96 96
-1
apps/web/src/components/status-page/monitor-list.tsx
··· 20 20 incidents: Incident[]; 21 21 maintenances: Maintenance[]; 22 22 }) => { 23 - console.log({ maintenances }); 24 23 return ( 25 24 <div className="grid gap-4"> 26 25 {monitors.map((monitor, _index) => {