vaadin / vaadin/framework

Layout issue with TwinColSelect within initially open Window on the very first load (Firefox)

Open
#12,602 0 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.