Commit graph

  • 465c6981ae Implement proper user renaming + broadcast new name upon receiving a Hello message in a connected state stateless-saltine Tissevert 2020-02-02 19:23:24 +0100
  • 07a81237b6 Why was package unordered-containers still listed whereas it's not even used ? Tissevert 2020-01-29 11:48:11 +0100
  • f1b44d649d Implement key persistence for server Tissevert 2020-01-27 16:00:03 +0100
  • 81ec84abaf Follow move of 'logs' into PublicGame and start implementing re-sync protocol on the server side Tissevert 2020-01-20 22:58:06 +0100
  • ca30340aaa Follow «Coordinates» change in protocol Tissevert 2020-01-18 09:35:19 +0100
  • 4436ea10f7 Fix shameful bug that made me crazy and that made the loser of a round start the next Tissevert 2020-01-17 21:33:01 +0100
  • 7b0d873558 Remove commented-out dead code, fix bad call to notifyPlayers (that still takes the logs as second argument) Tissevert 2020-01-13 17:57:14 +0100
  • 65da786c69 Relay positive answers to invitations too, to simplify games list handling from client Tissevert 2020-01-11 21:33:52 +0100
  • 0fa50ffb28 Adapt Game module to changes in protocol handling gameID with a shared GameState between public and private parts Tissevert 2020-01-13 08:36:28 +0100
  • 4f5057b13f Rename cabal package Tissevert 2020-01-11 21:24:16 +0100
  • 2798242dec Put text initialization back into login module Tissevert 2019-12-27 08:42:36 +0100
  • e9548e9a22 Remove stupid 'list' class that is essentially <ul> elements Tissevert 2019-12-27 08:23:02 +0100
  • bfb86a6a0d Transition to using UnitJS's fun module Tissevert 2019-12-26 19:58:58 +0100
  • 555e4386e3 Use the Show instance of IDs to improve debug Tissevert 2019-12-26 19:31:43 +0100
  • 0ea6fec5ae Stop handling messages from the room module, expose useful functions and let hall handle (de)connection messages instead Tissevert 2019-12-24 00:43:57 +0100
  • dc920bd80b Handle Player log out with multiple sessions and get rid of the too simple «logOut» function Tissevert 2019-12-24 00:39:56 +0100
  • 4a535caccc Remove handling from LogOut messages that are no longer sent by client but by the server Tissevert 2019-12-24 00:35:45 +0100
  • 2518aedab1 Add a message for empty games list Tissevert 2019-12-23 22:36:13 +0100
  • 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 Tissevert 2019-12-23 22:32:52 +0100
  • 596a3cc453 Keep track of login state in session module, it might be useful somewhere Tissevert 2019-12-23 22:28:05 +0100
  • c329ed556c Stop broadcasting to clients not yet logged in Tissevert 2019-12-23 09:23:32 +0100
  • d17edb201d Trigger a refresh of the players list when someone logs in Tissevert 2019-12-21 23:08:38 +0100
  • 0c285c47bb Have room module ignore when the user herself logs in Tissevert 2019-12-21 23:07:19 +0100
  • 96424bfa2e Implement multi-sessions for players Tissevert 2019-12-17 15:01:33 +0100
  • 09e6f6a5e9 Use the new Ui module in hall and login Tissevert 2019-12-14 18:26:24 +0100
  • 84fe6d228e Move game styling into the screen namespace Tissevert 2019-12-14 18:24:28 +0100
  • 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 Tissevert 2019-12-14 18:21:03 +0100
  • d6b990b202 Group parts of UnitJS in a single file deployed in lib Tissevert 2019-12-14 18:17:08 +0100
  • 932a7db389 Generalize CSS for listSelectors and move it to the right place Tissevert 2019-12-12 22:20:28 +0100
  • d496bca168 Keep separating hall and login, simplifying both, generalize listSelector and add one for games Tissevert 2019-12-12 22:16:49 +0100
  • 0147ca0135 Forgot unused variable Tissevert 2019-12-11 22:05:17 +0100
  • 8f3567660f Split login and main screen («hall») and make all those screens «submodules» of the screen module Tissevert 2019-12-11 22:03:16 +0100
  • d018c7e62c Start separating the login stage from selecting an opponent (still a *lot* of work to do, barely started) Tissevert 2019-12-08 23:01:24 +0100
  • 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) Tissevert 2019-12-08 23:00:29 +0100
  • 9e228c7e94 Handle WS reconnection in messaging module Tissevert 2019-11-24 22:56:53 +0100
  • 11e33a95bb Add the correct imports for new session module Tissevert 2019-11-24 22:56:00 +0100
  • 403ee2da92 Add start routine in session module picking the correct message and add an explicit loggedIn private boolean, rename the getter Tissevert 2019-11-24 22:54:46 +0100
  • 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 Tissevert 2019-11-24 22:48:43 +0100
  • cd517821c3 Add a module to wrap around localStorage and make it handy Tissevert 2019-11-24 17:52:22 +0100
  • 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 Tissevert 2019-11-20 18:27:12 +0100
  • 0d19c4f8dc Use the newest requirements in lib to define an ID prefix for the Session type Tissevert 2019-11-20 18:26:23 +0100
  • 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 Tissevert 2019-11-18 17:13:32 +0100
  • 3bd2829cf2 Switch session logging out and relaying the log-out message to keep the sessionID accessible until the end Tissevert 2019-11-18 17:11:05 +0100
  • a07285c7fc Remove deprecated comment Tissevert 2019-11-18 17:06:33 +0100
  • 25bcf0631c Completely replace App.server by App.get, a function applying a projector to the server Tissevert 2019-11-18 17:06:02 +0100
  • fef08fd478 Merge branch 'main' into stateless-saltine Tissevert 2019-11-17 17:07:21 +0100
  • c024ea261c Make git ignore cabal by-products main Tissevert 2019-11-17 17:00:47 +0100
  • bfb4837352 Separate PlayerIDs from SessionIDs and simplify protocol accordingly Tissevert 2019-11-12 23:25:00 +0100
  • 50b24a0db6 Add a Player type back and slowly start separating SessionIDs (temporary) and PlayerID (permanent) Tissevert 2019-11-05 18:14:24 +0100
  • 3aca8283e2 WIP: Still breaking everything, trying to replace PlayerID by SessionID now Tissevert 2019-10-28 08:19:14 +0100
  • a05d57fcea WIP : Start redesigning the protocol / informations kept on the server. Breaks pretty much everything Tissevert 2019-10-23 17:47:18 +0200
  • 8c1902e6fd Remove all game storing from the server : a lot of remaining protocol operations are now meaningless and will require a huge redesign Tissevert 2019-10-23 15:27:09 +0200
  • d1eb8e957e Use PublicGame returned by the player and stop keeping track of the game's state internally Tissevert 2019-10-22 17:52:13 +0200
  • 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 Tissevert 2019-10-19 09:31:58 +0200
  • 7804aeecef Use lighter syntax and adapt client code Tissevert 2019-10-17 19:50:21 +0200
  • 55ec64fafc Use the new public field counting the turns and adapt the web interface Tissevert 2019-10-17 19:25:35 +0200
  • 8c107c0c2a Adapt code to new PublicGame data structure, output messages in the new format and break everything doing so Tissevert 2019-10-17 18:58:39 +0200
  • 61d8616a5a WIP: Struggling with using the new public data types Tissevert 2019-10-16 18:53:27 +0200
  • 0c5229ae6d Add a new Keys module to interface saltine and in the future implement keypair caching Tissevert 2019-10-13 21:48:08 +0200
  • 13cd466e87 Use saltine package Tissevert 2019-10-13 19:55:35 +0200
  • 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 Tissevert 2019-10-18 19:01:13 +0200
  • 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) Tissevert 2019-10-18 17:55:50 +0200
  • 0abc020d13 Factorize code for turned cards and make sure selected hand cards are unselected after being played Tissevert 2019-10-18 17:54:27 +0200
  • c21a8f6512 Reorder modules alphabetically in imports Tissevert 2019-10-13 22:00:35 +0200
  • 0778c4a675 Rename poorly named module Data to RW Tissevert 2019-10-13 21:52:28 +0200
  • e9205b67c7 Use the new APILanguage and simplify a lot of code 0.2.3.0 Tissevert 2019-08-24 23:29:40 +0200
  • 5c9e0c9061 Get rid of modules rendered obsolete by recent refactoring APILanguage Tissevert 2019-08-24 22:31:03 +0200
  • 3e7c0a88f1 Follow renaming (Key -> ID) in hanafuda lib, finish taking IDs declaration out of the webapp and simplify Automaton by putting some operations back into Game module Tissevert 2019-08-24 22:17:52 +0200
  • 539b74990e Fix race condition issue in move handling by first recording new game state before sending it to players Tissevert 2019-08-22 17:47:45 +0200
  • bcaa606021 Make sure game states are rendered sequentially to fix race condition bug caused by playing a very fast opponent (like the bot Hannah) Tissevert 2019-08-21 22:13:44 +0200
  • d2b8c2ee47 Merge branch 'main' into APILanguage Tissevert 2019-08-21 16:41:28 +0200
  • 0f685c0a98 Add support for websocket even over SSL and wait for websocket to be properly open before trying to ping Tissevert 2019-08-21 16:41:06 +0200
  • fbad40afdc Continue emptying Game into APILanguage and update the rest of the code accordingly Tissevert 2019-08-19 18:59:48 +0200
  • e3f4ce697d Update package version restrictions Tissevert 2019-08-19 18:59:21 +0200
  • 9d15a80ff5 Use new PlayerKey type in lib and Message module from the separate APILanguage Tissevert 2019-08-17 23:08:52 +0200
  • d54d97b84d Taking stuff out of Game and Message to declare them in the new APILanguage lib Tissevert 2019-08-15 23:38:05 +0200
  • ac114c16df Add debug facilities in messaging module toggled by GET parameter Tissevert 2019-08-13 13:46:25 +0200
  • b2253b81d6 Handle the end of games Tissevert 2019-08-12 23:01:08 +0200
  • 66d2926635 Implement status handling to provide visual clue about the game state Tissevert 2019-08-12 14:04:57 +0200
  • 71b666ca7d Follow the simplication of Game data type on lib's side handle-games-end Tissevert 2019-07-22 08:40:42 +0200
  • 9a46c1ef04 Generate RSA keypairs when the client starts stateless-game Sasha 2018-09-10 23:06:03 +0200
  • b3808551fd Handle disconnection server side Tissevert 2019-01-18 22:51:55 +0100
  • 683558d49c Send a message containing the final score at the end Tissevert 2019-01-15 23:14:07 +0100
  • 70e8981eb4 Remove shameful commented-out code — not even in the right language ! Tissevert 2019-01-15 21:39:29 +0100
  • 6b26ce72a1 Animate turns by showing the cards movements Tissevert 2019-01-13 20:01:55 +0100
  • 2a9b162324 Support for base 4.12 Tissevert 2019-01-13 13:19:13 +0100
  • 1ace122876 Use latest changes in the lib to send a log of what happened during a turn Tissevert 2019-01-08 22:48:18 +0100
  • 5c1ce754f5 Add a translation module and add a french translation Tissevert 2019-01-01 12:57:27 +0100
  • 0df6cd7ee8 Upgrade upper supported version of base Sasha 2018-09-10 23:10:24 +0200
  • a967e438ce Fix dialog layer not cleared when dialog gets closed Sasha 2018-08-26 21:56:54 +0200
  • 7f1e77dc70 Bump version to 0.2.0.0 Sasha 2018-08-26 20:27:19 +0200
  • 05484db40f Implement custom asynchronous dialogs Sasha 2018-08-02 00:00:13 +0200
  • b61dd53f91 Remove 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
  • 4e220fa1c0 Specify encoding in HTML Sasha 2018-07-28 12:44:19 +0200
  • 8b2034279a Pass the move just played along with the new game's state Sasha 2018-07-27 23:52:44 +0200
  • b785bdda22 Modify Game's export function to edit JSON content Sasha 2018-07-27 23:48:48 +0200
  • 262b6e3e79 Revert to storing only 'On' games Sasha 2018-07-15 17:57:40 +0200
  • bf5990de47 Adapt code to new library change making player parametric in the key Sasha 2018-07-12 22:33:13 +0200
  • 3b4e3be37f Handle decreasing deck and opponent's hand Sasha 2018-05-26 21:26:12 +0200
  • cda5efce1f Added a back used by default for the cards Sasha 2018-05-26 11:48:57 +0200