Skip to content

Workbench miss relayout after viewport size changes #108267

@rebornix

Description

@rebornix

Only reproducible on Codespace on iPadOS.

Steps to Reproduce:

  1. Open Codespace on iPadOS 14.
  2. Type in either the editor or terminal, the keyboard help toolbar shows up
  3. Click the keyboard icon on the toolbar (rightmost) to hide the toolbar
  4. The workbench should resize itself when the toolbar shows or hides

We listen to resize event on window.visualViewport

this._register(addDisposableListener(viewport, EventType.RESIZE, () => workbench.layout()));
on iPadOS but

  • when testing OSS, I can never reproduce
  • when testing codespace, I can reproduce more than 50% of the time
  • In Safari Devtools, if I add a resize listener to window.visualViewport and print the viewport size when it changes, it always emits the event when the viewport resizes. It might mean that Safari is emitting events out correctly.
  • In Safari Devtools, whenever I open the bundled js or try to inspect the workbench Dom element, devtools crash so I can't debug at all

@bpasero do you have ideas about how we can add some log (maybe emit to outputs channel, behind a flag) and then we can continue our investigation which part might misbehave?

Does this issue occur when all extensions are disabled?: Yes/No

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions