Block UI, until Backend is launched completely


I have a question regarding the lifecycle & interaction between Theia frontend and backend.

In my use-case I have some microservices (not Theia-based), which are started/triggered from within a Theia BackendApplication.
This could take a while since it is a quite complex environment.
I have many (frontend) extensions which needs a running functional counterpart in the backend (i.e. in the non-theia services).

Now I want to retain the entire Theia frontend from being activated/usable for the User, until the entire backend is fully started.

Since I don’t want to synchronize on every single extension, is there way to achieve that at a central place within the framework?


[original thread by surrender70]


I think you could use a FrontendApplicationContribution and use the configure function to return a promise that will resolve only when the backend is ready. Note that you will have a warning log when the configure promise takes too long to complete.


@hanksha: thank you. that did the trick!