From 4e367b682c803bdd8732399a5a6a45483a7da09f Mon Sep 17 00:00:00 2001 From: Douglas Gubert Date: Tue, 29 Jul 2025 17:43:17 -0300 Subject: [PATCH 1/3] Change view logs button to filter by instance ID --- .../views/marketplace/AppDetailsPage/AppDetailsPage.tsx | 9 +++++++++ .../AppDetailsPage/tabs/AppInstances/AppInstances.tsx | 5 +++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/apps/meteor/client/views/marketplace/AppDetailsPage/AppDetailsPage.tsx b/apps/meteor/client/views/marketplace/AppDetailsPage/AppDetailsPage.tsx index 09612c9fa90d0..dd9f0626df6b3 100644 --- a/apps/meteor/client/views/marketplace/AppDetailsPage/AppDetailsPage.tsx +++ b/apps/meteor/client/views/marketplace/AppDetailsPage/AppDetailsPage.tsx @@ -40,6 +40,7 @@ const AppDetailsPage = ({ id }: AppDetailsPageProps): ReactElement => { const tab = useRouteParameter('tab'); const context = useRouteParameter('context'); const contextualBar = useRouteParameter('contextualBar'); + const { instanceId: instanceLogsFilter } = router.getSearchParameters(); const appData = useAppInfo(id, context || ''); const compactMode = useCompactMode(); @@ -87,6 +88,14 @@ const AppDetailsPage = ({ id }: AppDetailsPageProps): ReactElement => { const logsFilterFormMethods = useAppLogsFilterForm(); + if (instanceLogsFilter) { + logsFilterFormMethods.setValue('instance', instanceLogsFilter); + router.navigate({ + name: 'marketplace', + params: { ...router.getRouteParameters() }, + }); + } + const saveAppSettings = useCallback( async (data: AppDetailsPageFormData) => { try { diff --git a/apps/meteor/client/views/marketplace/AppDetailsPage/tabs/AppInstances/AppInstances.tsx b/apps/meteor/client/views/marketplace/AppDetailsPage/tabs/AppInstances/AppInstances.tsx index 252349242f238..3e74a9800ae12 100644 --- a/apps/meteor/client/views/marketplace/AppDetailsPage/tabs/AppInstances/AppInstances.tsx +++ b/apps/meteor/client/views/marketplace/AppDetailsPage/tabs/AppInstances/AppInstances.tsx @@ -37,11 +37,12 @@ const AppInstances = ({ id }: AppInstanceProps): ReactElement => { const router = useRouter(); - const handleSelectLogs = () => { + const handleSelectLogs = (instanceId: string) => { router.navigate( { name: 'marketplace', params: { ...router.getRouteParameters(), tab: 'logs' }, + search: { instanceId }, }, { replace: true }, ); @@ -80,7 +81,7 @@ const AppInstances = ({ id }: AppInstanceProps): ReactElement => { items={[ { content: t('View_Logs'), - onClick: handleSelectLogs, + onClick: () => handleSelectLogs(instance.instanceId), id: 'view-logs', icon: 'desktop-text', }, From e5aa66d7d5bf4c0f0897be6368de52f818e14345 Mon Sep 17 00:00:00 2001 From: Douglas Gubert Date: Wed, 30 Jul 2025 09:41:01 -0300 Subject: [PATCH 2/3] Change approach --- .../marketplace/AppDetailsPage/AppDetailsPage.tsx | 9 --------- .../AppDetailsPage/tabs/AppLogs/AppLogs.tsx | 13 ++++++++++++- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/apps/meteor/client/views/marketplace/AppDetailsPage/AppDetailsPage.tsx b/apps/meteor/client/views/marketplace/AppDetailsPage/AppDetailsPage.tsx index dd9f0626df6b3..09612c9fa90d0 100644 --- a/apps/meteor/client/views/marketplace/AppDetailsPage/AppDetailsPage.tsx +++ b/apps/meteor/client/views/marketplace/AppDetailsPage/AppDetailsPage.tsx @@ -40,7 +40,6 @@ const AppDetailsPage = ({ id }: AppDetailsPageProps): ReactElement => { const tab = useRouteParameter('tab'); const context = useRouteParameter('context'); const contextualBar = useRouteParameter('contextualBar'); - const { instanceId: instanceLogsFilter } = router.getSearchParameters(); const appData = useAppInfo(id, context || ''); const compactMode = useCompactMode(); @@ -88,14 +87,6 @@ const AppDetailsPage = ({ id }: AppDetailsPageProps): ReactElement => { const logsFilterFormMethods = useAppLogsFilterForm(); - if (instanceLogsFilter) { - logsFilterFormMethods.setValue('instance', instanceLogsFilter); - router.navigate({ - name: 'marketplace', - params: { ...router.getRouteParameters() }, - }); - } - const saveAppSettings = useCallback( async (data: AppDetailsPageFormData) => { try { diff --git a/apps/meteor/client/views/marketplace/AppDetailsPage/tabs/AppLogs/AppLogs.tsx b/apps/meteor/client/views/marketplace/AppDetailsPage/tabs/AppLogs/AppLogs.tsx index d47e7e68bd9ea..95c39686d4cb9 100644 --- a/apps/meteor/client/views/marketplace/AppDetailsPage/tabs/AppLogs/AppLogs.tsx +++ b/apps/meteor/client/views/marketplace/AppDetailsPage/tabs/AppLogs/AppLogs.tsx @@ -1,5 +1,6 @@ import type { ILogItem } from '@rocket.chat/core-typings'; import { Box, Pagination } from '@rocket.chat/fuselage'; +import { useRouter } from '@rocket.chat/ui-contexts'; import { useEffect, useMemo, useReducer, type ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; @@ -36,7 +37,17 @@ function expandedReducer( const AppLogs = ({ id }: { id: string }): ReactElement => { const { t } = useTranslation(); - const { watch } = useAppLogsFilterFormContext(); + const router = useRouter(); + + const { instanceId: instanceLogsFilter } = router.getSearchParameters(); + + const { watch, setValue } = useAppLogsFilterFormContext(); + + useEffect(() => { + if (instanceLogsFilter) { + setValue('instance', instanceLogsFilter); + } + }, [instanceLogsFilter, setValue]); const { startTime, endTime, startDate, endDate, event, severity, instance } = watch(); From 8e1666fae5577de2728fc50222c45da3b9b048d0 Mon Sep 17 00:00:00 2001 From: Douglas Gubert Date: Wed, 30 Jul 2025 10:02:02 -0300 Subject: [PATCH 3/3] Add changeset --- .changeset/soft-fishes-leave.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/soft-fishes-leave.md diff --git a/.changeset/soft-fishes-leave.md b/.changeset/soft-fishes-leave.md new file mode 100644 index 0000000000000..a67e13da83fba --- /dev/null +++ b/.changeset/soft-fishes-leave.md @@ -0,0 +1,5 @@ +--- +'@rocket.chat/meteor': patch +--- + +Fixes "View Logs" button not filtering logs by instance id