From df901b132e8f5515747d9380892ea04c290eebc6 Mon Sep 17 00:00:00 2001 From: M-ZubairAhmed Date: Tue, 24 Sep 2024 10:40:33 +0000 Subject: [PATCH] [MM-60514] Accessing bot_accounts page directly fails to load (#28247) --- webapp/channels/src/components/root/root.test.tsx | 13 +++++++++++++ webapp/channels/src/components/root/root.tsx | 5 ++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/webapp/channels/src/components/root/root.test.tsx b/webapp/channels/src/components/root/root.test.tsx index 9024726413..0ce71ab3f9 100644 --- a/webapp/channels/src/components/root/root.test.tsx +++ b/webapp/channels/src/components/root/root.test.tsx @@ -403,4 +403,17 @@ describe('doesRouteBelongToTeamControllerRoutes', () => { expect(doesRouteBelongToTeamControllerRoutes('/login')).toBe(false); expect(doesRouteBelongToTeamControllerRoutes('/error')).toBe(false); }); + + test('should return false for admin_console routes', () => { + expect(doesRouteBelongToTeamControllerRoutes('/admin_console/about')).toBe(false); + expect(doesRouteBelongToTeamControllerRoutes('/admin_console/reporting')).toBe(false); + expect(doesRouteBelongToTeamControllerRoutes('/admin_console/user_management')).toBe(false); + expect(doesRouteBelongToTeamControllerRoutes('/admin_console/environment')).toBe(false); + expect(doesRouteBelongToTeamControllerRoutes('/admin_console/site_config')).toBe(false); + expect(doesRouteBelongToTeamControllerRoutes('/admin_console/plugins/')).toBe(false); + expect(doesRouteBelongToTeamControllerRoutes('/admin_console/integrations/')).toBe(false); + expect(doesRouteBelongToTeamControllerRoutes('/admin_console/integrations/bot_accounts')).toBe(false); + expect(doesRouteBelongToTeamControllerRoutes('/admin_console/compliance')).toBe(false); + expect(doesRouteBelongToTeamControllerRoutes('/admin_console/experimental')).toBe(false); + }); }); diff --git a/webapp/channels/src/components/root/root.tsx b/webapp/channels/src/components/root/root.tsx index e13e8f709d..804fff735c 100644 --- a/webapp/channels/src/components/root/root.tsx +++ b/webapp/channels/src/components/root/root.tsx @@ -571,6 +571,9 @@ export default class Root extends React.PureComponent { } export function doesRouteBelongToTeamControllerRoutes(pathname: RouteComponentProps['location']['pathname']): boolean { - const TEAM_CONTROLLER_PATH_PATTERN = /^\/([a-z0-9\-_]+)\/(channels|messages|threads|drafts|integrations|emoji)(\/.*)?$/; + // Note: we have specifically added admin_console to the negative lookahead as admin_console can have integrations as subpaths (admin_console/integrations/bot_accounts) + // and we don't want to treat those as team controller routes. + const TEAM_CONTROLLER_PATH_PATTERN = /^\/(?!admin_console)([a-z0-9\-_]+)\/(channels|messages|threads|drafts|integrations|emoji)(\/.*)?$/; + return TEAM_CONTROLLER_PATH_PATTERN.test(pathname); }