465c6981aeImplement proper user renaming + broadcast new name upon receiving a Hello message in a connected state
stateless-saltine
Tissevert2020-02-02 19:23:24 +0100
07a81237b6Why was package unordered-containers still listed whereas it's not even used ?Tissevert2020-01-29 11:48:11 +0100
f1b44d649dImplement key persistence for serverTissevert2020-01-27 16:00:03 +0100
81ec84abafFollow move of 'logs' into PublicGame and start implementing re-sync protocol on the server sideTissevert2020-01-20 22:58:06 +0100
ca30340aaaFollow «Coordinates» change in protocolTissevert2020-01-18 09:35:19 +0100
4436ea10f7Fix shameful bug that made me crazy and that made the loser of a round start the nextTissevert2020-01-17 21:33:01 +0100
7b0d873558Remove commented-out dead code, fix bad call to notifyPlayers (that still takes the logs as second argument)Tissevert2020-01-13 17:57:14 +0100
65da786c69Relay positive answers to invitations too, to simplify games list handling from clientTissevert2020-01-11 21:33:52 +0100
0fa50ffb28Adapt Game module to changes in protocol handling gameID with a shared GameState between public and private partsTissevert2020-01-13 08:36:28 +0100
2798242decPut text initialization back into login moduleTissevert2019-12-27 08:42:36 +0100
e9548e9a22Remove stupid 'list' class that is essentially <ul> elementsTissevert2019-12-27 08:23:02 +0100
bfb86a6a0dTransition to using UnitJS's fun moduleTissevert2019-12-26 19:58:58 +0100
555e4386e3Use the Show instance of IDs to improve debugTissevert2019-12-26 19:31:43 +0100
0ea6fec5aeStop handling messages from the room module, expose useful functions and let hall handle (de)connection messages insteadTissevert2019-12-24 00:43:57 +0100
dc920bd80bHandle Player log out with multiple sessions and get rid of the too simple «logOut» functionTissevert2019-12-24 00:39:56 +0100
4a535cacccRemove handling from LogOut messages that are no longer sent by client but by the serverTissevert2019-12-24 00:35:45 +0100
2518aedab1Add a message for empty games listTissevert2019-12-23 22:36:13 +0100
7c2b88e4bdDon't forget to clear the text message when refreshing players and to synchronise the button state according to the result of the filteringTissevert2019-12-23 22:32:52 +0100
596a3cc453Keep track of login state in session module, it might be useful somewhereTissevert2019-12-23 22:28:05 +0100
c329ed556cStop broadcasting to clients not yet logged inTissevert2019-12-23 09:23:32 +0100
d17edb201dTrigger a refresh of the players list when someone logs inTissevert2019-12-21 23:08:38 +0100
0c285c47bbHave room module ignore when the user herself logs inTissevert2019-12-21 23:07:19 +0100
96424bfa2eImplement multi-sessions for playersTissevert2019-12-17 15:01:33 +0100
09e6f6a5e9Use the new Ui module in hall and loginTissevert2019-12-14 18:26:24 +0100
84fe6d228eMove game styling into the screen namespaceTissevert2019-12-14 18:24:28 +0100
ef2c9cb3deAdd 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 connectionTissevert2019-12-14 18:21:03 +0100
d6b990b202Group parts of UnitJS in a single file deployed in libTissevert2019-12-14 18:17:08 +0100
932a7db389Generalize CSS for listSelectors and move it to the right placeTissevert2019-12-12 22:20:28 +0100
d496bca168Keep separating hall and login, simplifying both, generalize listSelector and add one for gamesTissevert2019-12-12 22:16:49 +0100
8f3567660fSplit login and main screen («hall») and make all those screens «submodules» of the screen moduleTissevert2019-12-11 22:03:16 +0100
d018c7e62cStart separating the login stage from selecting an opponent (still a *lot* of work to do, barely started)Tissevert2019-12-08 23:01:24 +0100
019909ba61Use 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)Tissevert2019-12-08 23:00:29 +0100
9e228c7e94Handle WS reconnection in messaging moduleTissevert2019-11-24 22:56:53 +0100
11e33a95bbAdd the correct imports for new session moduleTissevert2019-11-24 22:56:00 +0100
403ee2da92Add start routine in session module picking the correct message and add an explicit loggedIn private boolean, rename the getterTissevert2019-11-24 22:54:46 +0100
0b834b4876Sort 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 sessionTissevert2019-11-24 22:48:43 +0100
cd517821c3Add a module to wrap around localStorage and make it handyTissevert2019-11-24 17:52:22 +0100
e5ee61e848Revert "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 separatelyTissevert2019-11-20 18:27:12 +0100
0d19c4f8dcUse the newest requirements in lib to define an ID prefix for the Session typeTissevert2019-11-20 18:26:23 +0100
7a937355d2Stop 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 doTissevert2019-11-18 17:13:32 +0100
3bd2829cf2Switch session logging out and relaying the log-out message to keep the sessionID accessible until the endTissevert2019-11-18 17:11:05 +0100
bfb4837352Separate PlayerIDs from SessionIDs and simplify protocol accordinglyTissevert2019-11-12 23:25:00 +0100
50b24a0db6Add a Player type back and slowly start separating SessionIDs (temporary) and PlayerID (permanent)Tissevert2019-11-05 18:14:24 +0100
3aca8283e2WIP: Still breaking everything, trying to replace PlayerID by SessionID nowTissevert2019-10-28 08:19:14 +0100
a05d57fceaWIP : Start redesigning the protocol / informations kept on the server. Breaks pretty much everythingTissevert2019-10-23 17:47:18 +0200
8c1902e6fdRemove all game storing from the server : a lot of remaining protocol operations are now meaningless and will require a huge redesignTissevert2019-10-23 15:27:09 +0200
d1eb8e957eUse PublicGame returned by the player and stop keeping track of the game's state internallyTissevert2019-10-22 17:52:13 +0200
8147589377Save latest game state received in client to send it back to server and make the client work again with the new message protocolTissevert2019-10-19 09:31:58 +0200
7804aeecefUse lighter syntax and adapt client codeTissevert2019-10-17 19:50:21 +0200
55ec64fafcUse the new public field counting the turns and adapt the web interfaceTissevert2019-10-17 19:25:35 +0200
8c107c0c2aAdapt code to new PublicGame data structure, output messages in the new format and break everything doing soTissevert2019-10-17 18:58:39 +0200
61d8616a5aWIP: Struggling with using the new public data typesTissevert2019-10-16 18:53:27 +0200
0c5229ae6dAdd a new Keys module to interface saltine and in the future implement keypair cachingTissevert2019-10-13 21:48:08 +0200
b03c7fd087Add a stateful «turnCard» variable like «selected» to fix the «double card» bug when choosing a card in the river after a Turned card stepTissevert2019-10-18 19:01:13 +0200
6dfaaee385Handle 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)Tissevert2019-10-18 17:55:50 +0200
0abc020d13Factorize code for turned cards and make sure selected hand cards are unselected after being playedTissevert2019-10-18 17:54:27 +0200
c21a8f6512Reorder modules alphabetically in importsTissevert2019-10-13 22:00:35 +0200
0778c4a675Rename poorly named module Data to RWTissevert2019-10-13 21:52:28 +0200
3e7c0a88f1Follow renaming (Key -> ID) in hanafuda lib, finish taking IDs declaration out of the webapp and simplify Automaton by putting some operations back into Game moduleTissevert2019-08-24 22:17:52 +0200
539b74990eFix race condition issue in move handling by first recording new game state before sending it to playersTissevert2019-08-22 17:47:45 +0200
bcaa606021Make sure game states are rendered sequentially to fix race condition bug caused by playing a very fast opponent (like the bot Hannah)Tissevert2019-08-21 22:13:44 +0200
d2b8c2ee47Merge branch 'main' into APILanguageTissevert2019-08-21 16:41:28 +0200
0f685c0a98Add support for websocket even over SSL and wait for websocket to be properly open before trying to pingTissevert2019-08-21 16:41:06 +0200
fbad40afdcContinue emptying Game into APILanguage and update the rest of the code accordinglyTissevert2019-08-19 18:59:48 +0200
e3f4ce697dUpdate package version restrictionsTissevert2019-08-19 18:59:21 +0200
9d15a80ff5Use new PlayerKey type in lib and Message module from the separate APILanguageTissevert2019-08-17 23:08:52 +0200
d54d97b84dTaking stuff out of Game and Message to declare them in the new APILanguage libTissevert2019-08-15 23:38:05 +0200
ac114c16dfAdd debug facilities in messaging module toggled by GET parameterTissevert2019-08-13 13:46:25 +0200
b61dd53f91Remove inelegant handling of remaining cards count in client thanks to newly available count in 'deck' property of game states
Sasha
2018-07-28 12:48:31 +0200
4e220fa1c0Specify encoding in HTML
Sasha
2018-07-28 12:44:19 +0200
8b2034279aPass the move just played along with the new game's state
Sasha
2018-07-27 23:52:44 +0200
b785bdda22Modify Game's export function to edit JSON content
Sasha
2018-07-27 23:48:48 +0200
262b6e3e79Revert to storing only 'On' games
Sasha
2018-07-15 17:57:40 +0200
bf5990de47Adapt code to new library change making player parametric in the key
Sasha
2018-07-12 22:33:13 +0200
3b4e3be37fHandle decreasing deck and opponent's hand
Sasha
2018-05-26 21:26:12 +0200
cda5efce1fAdded a back used by default for the cards
Sasha
2018-05-26 11:48:57 +0200