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 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', }, 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 d321dd0684c49..f3de52eb489ff 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'; @@ -43,7 +44,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();