From 03871fc22d308adb663171ec08195985d0c606b0 Mon Sep 17 00:00:00 2001 From: Blake Niemyjski Date: Fri, 25 Sep 2026 17:37:51 -0500 Subject: [PATCH 1/2] Keep investigation tour query reactive while organization loads --- .../ClientApp/src/lib/features/events/api.svelte.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Exceptionless.Web/ClientApp/src/lib/features/events/api.svelte.ts b/src/Exceptionless.Web/ClientApp/src/lib/features/events/api.svelte.ts index 99f95fdc8e..28fd81d323 100644 --- a/src/Exceptionless.Web/ClientApp/src/lib/features/events/api.svelte.ts +++ b/src/Exceptionless.Web/ClientApp/src/lib/features/events/api.svelte.ts @@ -464,7 +464,7 @@ export function getOrganizationEventsQuery(request: GetOrganizationEventsRequest : undefined; return { - enabled: () => !!accessToken.current && !!organizationId && (request.enabled?.() ?? true), + enabled: () => (request.enabled?.() ?? true) && !!accessToken.current && !!organizationId, placeholderData: keepPreviousData, queryFn: async () => { const client = useFetchClient(); From 670c17e9b88692cc578b0921aa53d24228b3f44f Mon Sep 17 00:00:00 2001 From: Blake Niemyjski Date: Fri, 25 Sep 2026 21:22:47 -0500 Subject: [PATCH 2/2] Track tour query gate explicitly and reject placeholder availability --- .../ClientApp/src/lib/features/events/api.svelte.ts | 3 ++- .../features/product-tours/components/product-tour-host.svelte | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Exceptionless.Web/ClientApp/src/lib/features/events/api.svelte.ts b/src/Exceptionless.Web/ClientApp/src/lib/features/events/api.svelte.ts index 28fd81d323..fbf7faa1d7 100644 --- a/src/Exceptionless.Web/ClientApp/src/lib/features/events/api.svelte.ts +++ b/src/Exceptionless.Web/ClientApp/src/lib/features/events/api.svelte.ts @@ -456,6 +456,7 @@ export function getOrganizationCountQuery(request: GetOrganizationCountRequest) export function getOrganizationEventsQuery(request: GetOrganizationEventsRequest) { return createQuery[]>, ProblemDetails>(() => { + const requestEnabled = request.enabled?.() ?? true; const organizationId = request.route.organizationId; const params = request.params ? { @@ -464,7 +465,7 @@ export function getOrganizationEventsQuery(request: GetOrganizationEventsRequest : undefined; return { - enabled: () => (request.enabled?.() ?? true) && !!accessToken.current && !!organizationId, + enabled: () => !!accessToken.current && !!organizationId && requestEnabled, placeholderData: keepPreviousData, queryFn: async () => { const client = useFetchClient(); diff --git a/src/Exceptionless.Web/ClientApp/src/lib/features/product-tours/components/product-tour-host.svelte b/src/Exceptionless.Web/ClientApp/src/lib/features/product-tours/components/product-tour-host.svelte index e1543b9909..dba195af77 100644 --- a/src/Exceptionless.Web/ClientApp/src/lib/features/product-tours/components/product-tour-host.svelte +++ b/src/Exceptionless.Web/ClientApp/src/lib/features/product-tours/components/product-tour-host.svelte @@ -99,7 +99,7 @@ } }); const errorEventAvailability = $derived.by((): ProductTourContext['errorEventAvailability'] => { - if (!organizationId || !catalogOpen || errorEventsQuery.isPending) { + if (!organizationId || !catalogOpen || errorEventsQuery.isPending || errorEventsQuery.isPlaceholderData) { return 'loading'; }