You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It may get confusing how this webapp works, so I have some documentation here.
Data flow
This may get reworked for the future but for now:
The server stores all rooms in MongoDB. Each room tracks it's users and their attempts.
Users get authenticated through the WCA website using Oauth.
When a client loads, it connects to the socket server and asks for the user (/api/me). A 403 response from api/me will make the client assume it's not logged in.
When a client connects to the socket server, the server immediately sends the updated list of rooms. From there, the client displays them.
A user can attempt to join a room, the server does a number of checks to determine if the user can. These checks include if the user is banned, if the room is private and requires a password. If any of these fail,