From 064fc9e6e32dd18dab2c3cd4efd4e03b2d5ba49e Mon Sep 17 00:00:00 2001 From: Billy Vong Date: Fri, 2 May 2025 12:56:04 -0400 Subject: [PATCH] fix(releases): Fix when project not yet loaded yet and drawer is opened Fix when project is undefined (not exactly sure when this happens) --- .../views/releases/utils/useReleaseDeploys.tsx | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/static/app/views/releases/utils/useReleaseDeploys.tsx b/static/app/views/releases/utils/useReleaseDeploys.tsx index 9145b75b72fef1..ab47b9d30e17ba 100644 --- a/static/app/views/releases/utils/useReleaseDeploys.tsx +++ b/static/app/views/releases/utils/useReleaseDeploys.tsx @@ -1,3 +1,7 @@ +import {useEffect, useRef} from 'react'; +import {logger} from '@sentry/react'; + +import type {Project} from 'sentry/types/project'; import type {Deploy} from 'sentry/types/release'; import {useApiQuery} from 'sentry/utils/queryClient'; import useOrganization from 'sentry/utils/useOrganization'; @@ -12,12 +16,24 @@ export function useReleaseDeploys({ }) { const organization = useOrganization(); const project = useProjectFromSlug({organization, projectSlug}); + const prevProject = useRef(undefined); + + useEffect(() => { + if (!project) { + logger.warn('Release: project undefined in useReleaseDeploys', {projectSlug}); + } + if (project && !prevProject.current) { + logger.warn('Release: project is now defined in useReleaseDeploys', {projectSlug}); + } + prevProject.current = project; + }, [project, projectSlug]); + return useApiQuery( [ `/organizations/${organization.slug}/releases/${encodeURIComponent(release)}/deploys/`, { query: { - project: project!.id, // Should be disabled if project is undefined + project: project?.id, // Should be disabled if project is undefined }, }, ],