Commit graph

91 commits

Author SHA1 Message Date
4a535caccc Remove handling from LogOut messages that are no longer sent by client but by the server 2019-12-24 00:35:45 +01:00
2518aedab1 Add a message for empty games list 2019-12-23 22:36:13 +01:00
7c2b88e4bd Don't forget to clear the text message when refreshing players and to synchronise the button state according to the result of the filtering 2019-12-23 22:32:52 +01:00
596a3cc453 Keep track of login state in session module, it might be useful somewhere 2019-12-23 22:28:05 +01:00
c329ed556c Stop broadcasting to clients not yet logged in 2019-12-23 09:23:32 +01:00
d17edb201d Trigger a refresh of the players list when someone logs in 2019-12-21 23:08:38 +01:00
0c285c47bb Have room module ignore when the user herself logs in 2019-12-21 23:07:19 +01:00
96424bfa2e Implement multi-sessions for players 2019-12-17 15:01:33 +01:00
09e6f6a5e9 Use the new Ui module in hall and login 2019-12-14 18:26:24 +01:00
84fe6d228e Move game styling into the screen namespace 2019-12-14 18:24:28 +01:00
ef2c9cb3de Add an Ui module to provide operations on «widgets» — so far only the forms that can be enabled/disabled according to the state of the webSocket connection 2019-12-14 18:21:03 +01:00
d6b990b202 Group parts of UnitJS in a single file deployed in lib 2019-12-14 18:17:08 +01:00
932a7db389 Generalize CSS for listSelectors and move it to the right place 2019-12-12 22:20:28 +01:00
d496bca168 Keep separating hall and login, simplifying both, generalize listSelector and add one for games 2019-12-12 22:16:49 +01:00
0147ca0135 Forgot unused variable 2019-12-11 22:05:17 +01:00
8f3567660f Split login and main screen («hall») and make all those screens «submodules» of the screen module 2019-12-11 22:03:16 +01:00
d018c7e62c Start separating the login stage from selecting an opponent (still a *lot* of work to do, barely started) 2019-12-08 23:01:44 +01:00
019909ba61 Use new LogIn server message, make sure the user is logged in after sending them the welcome message (so that they don't see themselves in the room) and broadcast the new LogIn message (to everyone including the newcomer) 2019-12-08 23:00:29 +01:00
9e228c7e94 Handle WS reconnection in messaging module 2019-11-24 22:56:53 +01:00
11e33a95bb Add the correct imports for new session module 2019-11-24 22:56:00 +01:00
403ee2da92 Add start routine in session module picking the correct message and add an explicit loggedIn private boolean, rename the getter 2019-11-24 22:54:46 +01:00
0b834b4876 Sort initializers into separate init functions for DOM and WS events, stop passing session.loggedIn() around in refresh and setMode functions and send first message through session 2019-11-24 22:52:57 +01:00
cd517821c3 Add a module to wrap around localStorage and make it handy 2019-11-24 17:52:22 +01:00
e5ee61e848 Revert "Switch session logging out and relaying the log-out message to keep the sessionID accessible until the end" : the solution was to handle cases when the player wasn't logged in separately
This reverts commit 3bd2829cf2.
2019-11-20 18:27:41 +01:00
0d19c4f8dc Use the newest requirements in lib to define an ID prefix for the Session type 2019-11-20 18:26:23 +01:00
7a937355d2 Stop sending an error and simply ignore relay from an unauthenticated player because that should only happen on immediate logout for which there's nothing to do 2019-11-18 17:13:32 +01:00
3bd2829cf2 Switch session logging out and relaying the log-out message to keep the sessionID accessible until the end 2019-11-18 17:11:05 +01:00
a07285c7fc Remove deprecated comment 2019-11-18 17:09:12 +01:00
25bcf0631c Completely replace App.server by App.get, a function applying a projector to the server 2019-11-18 17:09:00 +01:00
fef08fd478 Merge branch 'main' into stateless-saltine 2019-11-17 17:07:21 +01:00
c024ea261c Make git ignore cabal by-products 2019-11-17 17:00:47 +01:00
bfb4837352 Separate PlayerIDs from SessionIDs and simplify protocol accordingly 2019-11-12 23:25:00 +01:00
50b24a0db6 Add a Player type back and slowly start separating SessionIDs (temporary) and PlayerID (permanent) 2019-11-05 18:14:24 +01:00
3aca8283e2 WIP: Still breaking everything, trying to replace PlayerID by SessionID now 2019-10-28 08:19:14 +01:00
a05d57fcea WIP : Start redesigning the protocol / informations kept on the server. Breaks pretty much everything 2019-10-23 17:47:18 +02:00
8c1902e6fd Remove all game storing from the server : a lot of remaining protocol operations are now meaningless and will require a huge redesign 2019-10-23 15:27:09 +02:00
d1eb8e957e Use PublicGame returned by the player and stop keeping track of the game's state internally 2019-10-22 18:10:29 +02:00
8147589377 Save latest game state received in client to send it back to server and make the client work again with the new message protocol 2019-10-19 09:31:58 +02:00
7804aeecef Use lighter syntax and adapt client code 2019-10-18 19:01:46 +02:00
55ec64fafc Use the new public field counting the turns and adapt the web
interface
2019-10-18 19:01:46 +02:00
8c107c0c2a Adapt code to new PublicGame data structure, output messages in the new format and break everything doing so 2019-10-18 19:01:46 +02:00
61d8616a5a WIP: Struggling with using the new public data types 2019-10-18 19:01:46 +02:00
0c5229ae6d Add a new Keys module to interface saltine and in the future implement keypair caching 2019-10-18 19:01:46 +02:00
13cd466e87 Use saltine package 2019-10-18 19:01:46 +02:00
b03c7fd087 Add a stateful «turnCard» variable like «selected» to fix the «double card» bug when choosing a card in the river after a Turned card step 2019-10-18 19:01:13 +02:00
6dfaaee385 Handle errors in a mor aesthetical way and allow to hide them (+fixes a bug caused by an implicit access to a DOM element by its id) 2019-10-18 17:55:50 +02:00
0abc020d13 Factorize code for turned cards and make sure selected hand cards are unselected after being played 2019-10-18 17:54:27 +02:00
c21a8f6512 Reorder modules alphabetically in imports 2019-10-13 22:00:35 +02:00
0778c4a675 Rename poorly named module Data to RW 2019-10-13 21:55:15 +02:00
e9205b67c7 Use the new APILanguage and simplify a lot of code 2019-08-24 23:29:40 +02:00