Hi! I have been developing an app that communicates through udp simulating a call. As my advancements reached further I decided to create a login screen, at first it was working perfectly, but as a secondary screen. But in the moment I changed it to the first screen, once I log in and moved from screen1 (login window) to screen2 (call window) it crashes.
What is the timer doing on Screen1? It must be disabled before opening another screen, else that can crash the App.
Note, Screen2, you must not "open another screen" to go back to a screen (Screen1) as this does not happen, another (duplicate) screen is created! Instead, just call 'Close Screen' - App Inventor will automatically return the User to the screen that launched the current screen.
Also, having asked for permissions on Screen1 (the 'king' screen) you should not ask for permissions on other screens.
Where is Screen2 getting the variable 'user' from? It should be from the Start Value:
Screen Initialization means just that - the Screen is being rendered for display. If you want to set things like alignment, they should be the very first blocks.
Since the User name is collected via Screen1, that's where your FireBase StoreValue should be executed - note, if your App is going to be distributed (e.g. Google Play Store), you need your own FireBase.