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
/playerState, PUT: Accepts a player name, optionally event name, and tracker state. Server stores the state, associated with player and event names along with a UNIX timestamp of when it was received.
/playerState, GET: Accepts a player name and optionally a timestamp. Returns the most recent state for that player along with its timestamp. If a timestamp is given, a state will only be returned if it's more recent than the passed timestamp.
/playerId, POST: Accepts a player name. Returns the ID last associated with that name, if any.
/event, GET: Accepts an event name and renders a page showing the inventory of all players linked to that event name. Client polls /playerState for state updates.
/player, GET: Accepts a player name and renders a page with the full Magpie UI with the player's state loaded. Client polls /playerState for updates.
The normal state object will get a new hidden player ID GUID that the client will generate if one doesn't exist.
There will be a share button on the main page. The button would open a dialog:
Event name
Player name
Live update checkbox
Link to /event for the specified event
Link to /player for the specified player
The dialog will check /playerName as player name is entered to see whether there may be a name/ID conflict. If there is a conflict, it will suggest but not require that the user change their player name.
When the dialog is closed (and on every state update until page refresh if 'live update' is checked), the client will PUT the current tracker state to /playerState. The server will store the state somewhere relatively persistent since the backend gets restarted periodically.
The text was updated successfully, but these errors were encountered:
Muffin made a good point - some kind of security would be useful, both to keep random people from coming in as players and to keep players from snooping on other players.
An event creation process could add separate viewing and joining passwords. A player participating in a view passworded event would also be blocked from /player.
The server will get new endpoints:
/playerState
,PUT
: Accepts a player name, optionally event name, and tracker state. Server stores the state, associated with player and event names along with a UNIX timestamp of when it was received./playerState
,GET
: Accepts a player name and optionally a timestamp. Returns the most recent state for that player along with its timestamp. If a timestamp is given, a state will only be returned if it's more recent than the passed timestamp./playerId
,POST
: Accepts a player name. Returns the ID last associated with that name, if any./event
,GET
: Accepts an event name and renders a page showing the inventory of all players linked to that event name. Client polls/playerState
for state updates./player
,GET
: Accepts a player name and renders a page with the full Magpie UI with the player's state loaded. Client polls/playerState
for updates.The normal state object will get a new hidden player ID GUID that the client will generate if one doesn't exist.
There will be a share button on the main page. The button would open a dialog:
/event
for the specified event/player
for the specified playerThe dialog will check
/playerName
as player name is entered to see whether there may be a name/ID conflict. If there is a conflict, it will suggest but not require that the user change their player name.When the dialog is closed (and on every state update until page refresh if 'live update' is checked), the client will
PUT
the current tracker state to/playerState
. The server will store the state somewhere relatively persistent since the backend gets restarted periodically.The text was updated successfully, but these errors were encountered: