Skip to content

Fix Impersonate Roles dialog rendering with a hugely oversized column - #7901

Merged
labkey-tchad merged 1 commit into
developfrom
fb_impersonate_roles_grid_width
Aug 3, 2026
Merged

Fix Impersonate Roles dialog rendering with a hugely oversized column#7901
labkey-tchad merged 1 commit into
developfrom
fb_impersonate_roles_grid_width

Conversation

@labkey-tchad

@labkey-tchad labkey-tchad commented Jul 31, 2026

Copy link
Copy Markdown
Member

Rationale

The "Impersonate Roles" dialog intermittently rendered with its role grid massively oversized (column width in the tens of thousands of pixels), spilling the dialog content far outside its window frame. This was traced to a race in ExtJS 4's box layout: the grid's single flex: 1 column can be laid out before the containing Ext.window.Window has a final, resolved width, leaving the column stuck at ExtJS's internal 20000px measurement placeholder (Ext.layout.container.Box.beginLayoutCycle) instead of being corrected to the real width. This is more likely to reproduce under CI timing than in normal local use.

image

Related Pull Requests

None

Changes

  • core/webapp/Impersonate.js: added a show listener on the ImpersonateRoles window that forces the role grid to relayout once the window is fully shown, so the flex column recalculates against the window's actual final width.

The role grid's single flex column could be laid out before the containing window had a final, on-screen width, leaving the column (and its header) stuck at ExtJS's internal 20000px box-layout measurement placeholder instead of the real rendered width, which pushed the dialog's contents far outside the window frame.
Force the grid to relayout once the window's `show` event fires, guaranteeing the flex column recalculates against the window's actual, final size.
@labkey-tchad labkey-tchad self-assigned this Jul 31, 2026

@cnathe cnathe left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I pulled the change down locally and did some quick manual testing as well.

@labkey-tchad
labkey-tchad merged commit a709083 into develop Aug 3, 2026
9 of 10 checks passed
@labkey-tchad
labkey-tchad deleted the fb_impersonate_roles_grid_width branch August 3, 2026 22:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants