More robust startup
Currently, NeoChat saves the active connection in the settings. On login, it waits until this connection is loaded and then switches to the main UI. If it's unable to load this connection, it will remain in the loading page forever. The current workaround is to remove ~/.config/neochatrc
entirely, or at least the ActiveConnection
line in there.
Since there's no "fix" for this while keeping the same UX concept (there's a direct conflict between opening the last active connection and not loading forever if we can't load this), i'd propose a different UX:
On the initial loading page, we show:
- A list of connections that are ready to use (i.e., which we are successfully syncing with). The user can choose one of them and continue to the main UI (RoomList + RoomPage)
- A list of connections that are currently being loaded
- Register Button
- Login Button
- (Once #595 is implemented, the lists would also contain the system-wide accounts)
What remains is the question of whether we want to automatically start using the last active account at all, or always make them choose an account to continue with. Thoughts?