Multi-Server Support
In-progress
Important Links
Goals
Currently users on the Mobile app have no way to access multiple servers like they do on the Desktop app. This feature would provide users with the following:
Access to different servers
Allow for adding, viewing, editing, removing servers
Easily switch between servers
Team Sidebar previous updates
The design work for multi-server support is dependent on the work done for Team Sidebar.
The Servers List
Above the new Team Sidebar is a new button to access servers (see screens below). Tapping this slides down the main navigation and reveal the server list.
Gestures
Tapping on the Server Button will reveal the Server List
Once open, swiping up or tapping on the Home content will slide it back up and hide the Server List
Servers Button (top left)
Servers List
Servers List - Scrolling
Servers List Transition
Note on localization for the Servers List
Use the language from the current active server for this screen.
In case of EMM provider prevents the user from having more than one server
Onboarding Tutorial
When a user launches the server sheet for the first time, he will see instructions that highlight actions that can be done to a server. This will help us to show where the contextual swipe can be used. Tutorial can be dismissed by a tap or any other interaction on a scrimmed surface.
Servers Icon Button
Badges on Servers Icon
Badges on the Servers icon behave similarly to the badges on the current hamburger menu icon in that they display an aggregate of all servers (except the current one). For example, if Server A has 2 mentions, Server B has 3 mentions and Server C has 4 mentions, the total aggregate number shown on the Servers Icon Button is 7.
States
Default | Unreads | Mentions | 99+ Mentions | Add Server |
---|---|---|---|---|
|
|
|
|
Server List Items
Each Server List Item shows:
Display Name (as entered by the user)
Fallbacks for Server Names: Since existing users do not have to name their server, a fallback name of “Default Server” will be used. This will also apply to cases where a default
serverUrl
is set for apps managed by EMM providers (see App configuration docs).
Server URL (strips out
https://
)Mention or unread badges (if applicable)
The authentication status: displays an alert icon denoting session expiry or logged out
Server List Item States
Default
| Active Server
|
Logged Out | Unreads
|
Mentions
| Mentions (99+)
|
Actions Open
|
|
Server List Item Interactions
Tapping on the main area of the item
If session is active, select this server and transition to the view for that server
If session is logged out, open up a log in modal to authenticate, then once authenticated, close the modal and transition to the channel sidebar view for that server
Swiping Left on a Server List Item will also open the actions for that server
Edit
Tapping this option will open up the Server Settings Modal where users can edit the URL and name of the server.
If the URL changes, users will have to authenticate again (and we should expire the session of the previous server)
If it’s just a simple display name change, no authentication is needed. (Display names must be unique for the server list)
Log out
A confirmation alert displays to confirm the user wants to logout
Once log out completes:
The Server Item is indicated as logged out
If there are other servers with an active session, switch to the last viewed server
If there are other servers, but none have an active session, the authentication modal opens prepopulated with the last viewed server
If there are no other servers in the user’s Serve List, bump users to the login screen for this server that was just logged out.
Remove
A warning alert shows to confirm the removal
If confirmed, user is logged out and the server is removed from the list. Also removes associated data.
Then the server is removed from the list and the app altogether
Once the removal completes: