Custom Splash ScreenMarch 26, 2019 at 11:05pm
Hey guys, I am wondering what the best approach would be to add a custom splash screen to Theia. This would also include replacing the spinner if possible and instead showing the splash screen which does a couple of things in the background. Once those tasks are done, I want to continue with loading the frontend shell including all other widgets and contributions. After looking a bit into it, I found that I could bind
FrontendApplicationContributionand provide a class that does whatever it has to do inside
initialize. This defers the loading of other contributions and the editor is only shown when all contributions are basically done. This however is not a splash screen and what I am trying to do is to show a widget with some markup and once that widget has finished its tasks I want to transition to the editor.
I would love to hear your thoughts.
March 27, 2019 at 4:44am
rewrite index.html after
March 27, 2019 at 4:44pm
It can be used as an async method, so any plugin can block loading until they resolve the configure
We use this approach to show a login screen and defer loading of the application and menu items until login succeeds
Can you maybe give me a pointer how you'd show a login screen? The login screen in your case is not the splash screen, right?
I also figured that I can use
configureto defer further loading of any other contributions. Maybe we should consider showing an error screen when one of the contributions fails, that is the promise inside
configureis rejected. Or at least in our case I would like to not continue loading Theia if the promise was rejected and the contribution failed to configure. In that case I'd like to show a simple modal and a message that informs the user. Does that make sense?
March 28, 2019 at 5:40am
please file an issue, so you are suggesting to improve error handling, if something goes wrong during start up, we show a screen that Theia failed to start with an error, please check logs and so on? It would be better that the black screen as for now.