#33548·OpenMetadata

Guided tour fetches real permissions for its mock table, so the profiler step renders empty

Author: harshachCreated Sep 18, 2026Updated Sep 18, 2026

The guided tour renders a mock table — tourMockDatasetData, an entity that does not exist on the server. TableDetailsPageV1 already knows this for the entity fetch:

typescript
Boolean(tableFqn && canViewTableInQuery && !isTourOpen && !isTourPage),   // line 242

but both useEntityPermissions calls run unconditionally, so during the tour the page asks the API for permissions on a fully-qualified name that has no entity behind it, and then drives the tour's tabs from whatever that returns.

mockTablePermission — the grant set written for exactly this purpose in src/constants/mockTourData.constants.ts — is dead code: nothing imports it.

What this breaks

The profiler step of the tour. ViewDataProfile is not among the permissions the page ends up with, so #profilerDetails never renders and step 13 shows an empty panel. The tour's own Playwright spec advances through step 13 without asserting anything is there, so nothing catches it.

It also means every tour run issues at least one pointless permission request, and pollutes the permission cache with an entry for a non-existent entity.

How we know it is fixed

  • Both useEntityPermissions calls are disabled for the tour via the hook's existing { enabled } option, so no request is issued for the mock FQN.
  • The tour's grants come from mockTablePermission, which gains the ViewDataProfile: true it needs and is no longer dead code.
  • TableDetailsPageV1.test.tsx asserts the hook is called with { enabled: true } outside the tour.
  • Tour.spec.ts asserts #profilerDetails is visible at step 13, so the empty panel cannot come back unnoticed.

Source: open-metadata/OpenMetadata