No rendering of tab in tab sheet. UIServerRpc.poll not called? (Vaadin 7.7.

I have to maintain an application not being a Vaadin specialist so sorry for my maybe clumsy description.

WHAT HAPPENS?

Our application is supposed to open a tab in a tab sheet programmatically. In certain circumstances that won’t happen or not happen for a long time. The application is like frozen. The tab opens though as soon as some event is happening (a button is clicked or the browser debugging is opened with F12 (which is probably causing a resize). I can only reproduce it on IE11 but that’s exactly the browser the customer uses. Maybe it happens in Chrome too. It’s just that even trying many many times it never happened on Chrome.

WHAT I FOUND OUT

I used the debug window of Vaadin (why is it not possible to save log messages there? but that’s another topic) and I could see that when everything works fine the whole “rendering” of the tab seems to be triggered by this sequences:

454msTotal layout phase time: 7ms
... not hanging here
476msRPC invocations to be sent to the server:
478ms   2778 (class com.vaadin.client.ui.table.TableConnector) :
478ms      v.v(pagelength : 48)
479ms   2730 (class com.vaadin.client.ui.ui.UIConnector) :
480ms      com.vaadin.shared.ui.ui.UIServerRpc.resize([1113, 2443, 2443, 1113]
)
481ms      com.vaadin.shared.ui.ui.UIServerRpc.poll([])
483msSending xhr message to server: {"csrfToken":"ba4eb440-92e4-42e8-a1ea-c85858fde13b","rpc":[["2778","v","v",["pagelength",["i",48]
]],["2730","com.vaadin.shared.ui.ui.UIServerRpc","resize",[1113,2443,2443,1113]
],["2730","com.vaadin.shared.ui.ui.UIServerRpc","poll",[]
]],"syncId":0,"clientId":0,"wsver":"7.7.17"}
512msServer visit took 29.8ms
514msJSON parsing took 0.8ms

whereas when the UI “hangs” it looks like this

786msTotal layout phase time: 53ms
... it hangs here until I press a button (or open browser debugging via F12) 
114322msRPC invocations to be sent to the server:
114324ms   2583 (class com.vaadin.client.ui.table.TableConnector) :
114324ms      v.v(pagelength : 48)
114325ms   2535 (class com.vaadin.client.ui.ui.UIConnector) :
114325ms      com.vaadin.shared.ui.ui.UIServerRpc.resize([1113, 2443, 2443, 1113]
)
114325ms   2589 (class com.vaadin.client.ui.button.ButtonConnector) :
114326ms      com.vaadin.shared.ui.button.ButtonServerRpc.click([LEFT,1789,60,false,false,false,false,1,22,18]
)
114329msSending xhr message to server: {"csrfToken":"ba4eb440-92e4-42e8-a1ea-c85858fde13b","rpc":[["2583","v","v",["pagelength",["i",48]
]],["2535","com.vaadin.shared.ui.ui.UIServerRpc","resize",[1113,2443,2443,1113]
],["2589","com.vaadin.shared.ui.button.ButtonServerRpc","click",[{"altKey":false,"button":"LEFT","clientX":1789,"clientY":60,"ctrlKey":false,"metaKey":false,"relativeX":22,"relativeY":18,"shiftKey":false,"type":1}]
]],"syncId":0,"clientId":0,"wsver":"7.7.17"}
114351msServer visit took 22.4ms
114353msJSON parsing took 0.8ms

Apart from the above difference I don’t see any obvious differences before and after the event that triggers the rendering.

The call to UIServerRpc.poll seems to be missing in the freezing case.

What’s happening here? Can I somehow force this event to happen?

Thanks in advance

You probably have encountered this problem https://github.com/vaadin/framework/issues/10769

We investigated it back in time, and closed it as won’t fix, as it appeared to be IE11 bug beyond our control.

The call to UIServerRpc.poll seems to be missing in the freezing case.

Naturally, since IE11 has stopped executing JavaScript.

Tatu Lund:
You probably have encountered this problem https://github.com/vaadin/framework/issues/10769

We investigated it back in time, and closed it as won’t fix, as it appeared to be IE11 bug beyond our control.

The call to UIServerRpc.poll seems to be missing in the freezing case.

Naturally, since IE11 has stopped executing JavaScript.

Thanks Tatu. That’s very helpful.

The thing is though that it seems to be dependent on what is displayed outside tabsheet (sounds a little crazy but it is indeed relevant). If there’s something relatively complex then this never happens. In the screenshot the tabsheet is on the left in red. So if there is something “simple” on right side (green) then this freezing can happen (at customer site almost every time). If there is something “complex” it seems to never happen. I know, what does “simple” vs. “complex” mean? As a non Vaadin specialist I can only speculate that there must be something on the right side that makes that refresh happen. In the screenshot you see the even more simplified version where I just placed a button on the right side for testing purposes.
The problem is the customer will probably not accept the answer that it’s a bug because they will say if we have (complex) viewer A on right side everything works fine and if we have (simple) viewer B on right side it often wont’ work.

![aclient.png]
(https://i.postimg.cc/qMysHvkz/aclient.png)

I tried to read up on this a little bit with poll and push but I am afraid I don’t understand the underlying concepts properly.

QUESTION: Can I somehow force this update from the server side like I do when pressing the button, or is this exactly the problem of the following thread that this isn’t possible with the poll model?

https://vaadin.com/forum/thread/231272/updating-ui-from-another-thread