Grid not updating until other component in view is selected

I’m working on a Vaadin demo for JSpring in two weeks. I will invite the attendees of the talk to test my app running on a Raspberry Pi. Yes, live at a conference, with WiFi, what can go wrong… :wink:

For this goal, I created a demo you can see here: https://www.youtube.com/watch?v=m_d8zGC1faQ

My idea was to have a grid to show what other people have selected for the same electronic component. In the video you can see that the changes are shown in the active window, but only “popup at once” in another view if one of its components is selected. Any ideas what could be wrong? I know it’s probably hard to tell from the video, but the sources are available here: https://github.com/FDelporte/Vaadin-examples/blob/main/src/main/java/be/webtechie/vaadin/pi4j/views/component/LogGrid.java#L30

Just in case anyone ones to help solve this and get a mention during the talk :wink:
Anyhow I will probably be testing this later today (16:15 CEST) in a live stream together with Bruno Souza and maybe others as a preparation for the conference.

To get this to work like you would expect, you probably need push and a broadcaster Implementation for all active views

broadcaster is new to me, but I have a listener system integrated

https://github.com/FDelporte/Vaadin-examples/blob/main/src/main/java/be/webtechie/vaadin/pi4j/service/matrix/MatrixListener.java

Used when the matrix changes:
https://github.com/FDelporte/Vaadin-examples/blob/main/src/main/java/be/webtechie/vaadin/pi4j/service/Pi4JService.java#L222

Aha, you problably mean this
https://vaadin.com/docs/latest/advanced/server-push#push.broadcaster.sending

Thanks, I learned something new again :slightly_smiling_face:

Note that the broadcaster is just a pattern; it’s not the only or necessarily the best way to implement communication between users. If you’re running Spring or JEE, you might use their event systems, for example. The important thing is to keep session locking in mind, as is explained here: Server Push | Advanced Topics | Vaadin Docs

Thanks a lot @vital-koala and @quirky-zebra , works as expected now and I could simplify the code. What else could I want :slightly_smiling_face:

The mark of a senior software engineer is that they remove at least as much code as what they add :smile:

in that case, I’m now very old euh senior :slightly_smiling_face:

BTW … if you want to try out here it is running

https://2131-81-165-234-234.ngrok-free.app/matrix

Who has sent me a heart? :slightly_smiling_face:

I guess it was me :smile:
Only couldn’t see the receiving side of course :slightly_smiling_face:

This was a test with more people live via YouTube live…
https://www.youtube.com/live/WssGqcV06TA?feature=share&t=638