UX proposal: room history with connect/join on demand
Right now, using various rooms/channels in Polari occasionally (e.g. to ask a question) is not a great experience.
The user can either:
- keep all their previously joined rooms "added" on the LHS, and then every time Polari starts, it connects to every configured IRC server, and joins every previously used room
- manually leave rooms after they're done with them, but have to re-join them via the (slow) "add room" -> wait for list to populate (or type the exact name. And still connect to every configured server on every startup.
A much nicer experience for users who don't usually want/need to have access to arbitrary amounts of channel chat history (which would require leaving Polari running anyway) would be to have the following:
- a room history view on the LHS (in addition to connected rooms etc.)
- a "disconnect from server if no rooms/conversations active" option (could be by making the server on the LHS selectable, and then have a "disconnect (you won't be available for direct messages)" message on the RHS - the LHS server item would also be selected on leaving the last room for that server)
- an easier "close room" mechanism (e.g. visible close button) to avoid having to right-click -> leave when finished with the room
- an option for whether to auto-connect to previous servers/rooms on startup ("on startup, re-connect to: * none; * servers; * servers and rooms")
Selecting a historical room would connect to the server and join the room as needed.
In this way, the user could retain the list of recent/useful rooms without having Polari connect to everything every startup.