Layout issue with TwinColSelect within initially open Window on the very first load (Firefox)
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 1.8k
- Forks
- 717
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 3
Description
On Firefox, if the UI has an initially open fixed width Window, and a full width TwinColSelect inside it, the width calculations for the TwinColSelect columns are broken on the first rendering after the development server has been started. The columns won't fit side-by-side within the Window and the right column gets dropped below the left column and out of view. Any interacting with the UI that causes relayouting will fix the issue (columns will become narrower and fit again), and it won't be present again for that browser until the development server gets restarted.
This issue doesn't happen at all if the Window isn't already open when the UI is rendered for the first time, and is consequently unlikely to affect most applications.
My initial theory is that the issue might be caused by the width calculations happening on Firefox before the styles have been applied, and relayouting not getting triggered after they have, but haven't looked into it more closely.
See WindowTwinColSelect test UI before https://github.com/vaadin/framework-es/pull/213 for a reproducible example.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the WindowTwinColSelect test UI referenced before pull request 213 and reproduce the first-load behavior in Firefox after restarting the development server. Compare the initial layout with the layout after an interaction; done means both TwinColSelect columns fit side-by-side inside the initially open fixed-width Window on the first render.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100