* create .env file for server configuration
* render client version
* automate env file
* add prestart command
* create server-props.json instead of using .env
* automate master proto file
Co-authored-by: Jeremy Letto <jeremy.letto@datasite.com>
* turn autocomplete off by default on inputs
* trim input fields onSubmit
* move trim to form submit
* cleanup
* remove dead code
* protect trim against null values
* make password optional on Login for servers that allow unregisted logins
* cleanup
Co-authored-by: Jeremy Letto <jeremy.letto@datasite.com>
* support hashed passwords in register and resetPassword
* lint
* support hashedPasswords for accountActivation
* use salt in post-register login step
Co-authored-by: Jeremy Letto <jeremy.letto@datasite.com>
* draft: handle firing an event once
* lint
* Prevent rapid double-click on sending messages
* no rest spread on single primative when sibling components exist
* clear message instead of using a fireOnce handler.
* fix tests
* remove unnecessary validate mock
* deprecate the gender property from the protocol entirely
* use obsolete instead of deprecated
* add the database migration
* update internal database version as well
* Support password reset workflow. Also fix issue where a user would be disconnected "randomly" if they had a failed login, then successful one. Refactored a bit on Status Labels since they weren't really necessary and added complexity.
* Disconnect in default cases where we don't know what to do, but shouldn't stay connected to the server
* Support Registration on Webatrice with a baseline of handling. Still needs to support activation tokens & unit testing.
* Add support for account activation with token
* Activate Account refactor
* Fix typo
* Add Unit Testing for Commands/Events
* Changes based on review feedback
* add unit tests for websocket events
* add unit tests for KeepAliveService, clean up keepAlive termination flow
* put keepAlive command in protobuf service and expose thru webClient
* secure wss
* rename files tsx to ts
* add localhost support for ws/wss connection
Co-authored-by: Jeremy Letto <jeremy.letto@datasite.com>
* put socket.updateHistory behind SessionCommand
* rename /websocket files from .tsx to .ts
* add unit tests to websocket commands
* complete unit tests for webClient commands
* secure wss
Co-authored-by: Jeremy Letto <jeremy.letto@datasite.com>
the stop dump zone command was implemented as a courtesy to other
players in order to take into account when they would stop looking at
unknown information
however, this can be abused, a malicious client can send this command
whenever they would like
cockatrice is not a physical tabletop nor does it aim to be, if you can
take a screenshot of your deck and then close the view, you are not
cheating as you have been given this information
in order to prevent anyone from abusing this we should remove the
command from the protocol, this means servers will ignore this message
and clients will get a little invalid command reply in their debug log
the extension id will remain reserved
shuffling your deck will always invalidate any card view looking at
those cards
if players wish to signal that they stopped looking at their deck for
whatever reason they should just use the chat instead, optionally using
one of the chat macros
* Structure change
* Remove duplicate folders from previous structure
* Cleanup websocket protocol
* Updating from based off PR
* Fixup - remove wrong files during conflict and get the websocket working
* renaming tsx to ts
Co-authored-by: Jeremy Letto <jeremy.letto@datasite.com>
* port webclient POC into react shell
* Abstract websocket messaging behind redux store
* refactor architecture
* add rooms store
* introduce application service layer and login form
* display room messages
* implement roomSay
* improve Room view styling
* display room games
* improve gameList update logic
* hide protected games
* improve game update logic
* move mapping to earlier lifecycle hook
* add autoscroll to bottom
* tabs to spaces, refresh guard
* implement server joins/leaves
* show users in room
* add material-ui to build
* refactor, add room joins/leaves to store and render
* begin using Material UI components
* fix spectatorsCount
* remove unused package
* improve Server and Room styling
* fix scroll context
* route on room join
* refactor room path
* add auth guard
* refactor authGuard export
* add missing files
* clear store on disconnect, add logout button to Account view
* fix disconnect handling
* Safari fixes
* organize current todos
* improve login page and server status tracking
* improve login page
* introduce sorting arch, refine reducers, begin viewLogHistory
* audit fix for handlebars
* implement moderator log view
* comply with code style rules
* remove original POC from codebase
* add missing semi
* minor improvements, begin registration functionality
* retry as ws when wss fails
additionally, dont mutate the default options when connecting
* retain user/pass in WebClient.options for login
* take protocol off of options, make it a connect param that defaults to wss
* cleanup server page styling
* match wss logic with desktop client
* add virtual scroll component, add context menu to UserDisplay
* revert VirtualTable on messages
* improve styling for Room view
* add routing to Player view
* increase tooltip delay
* begin implementing Account view
* disable app level contextMenu
* implement buddy/ignore list management
* fix gitignore
Co-authored-by: Jay Letto <jeremy.letto@merrillcorp.com>
Co-authored-by: skwerlman <skwerlman@users.noreply.github.com>
Co-authored-by: Jeremy Letto <jeremy.letto@datasite.com>
Migrate from protobuf.js 5.x to 6.x (remove long.js and bytebuffer.js)
Upgrade jQuery from 1.x to 3.x
Upgrade jQueryUI to 1.12.x
Use minimized version of js libraries
Disable debug messages
Fix default value for Event_RoomSay’s RoomMessageType field
Add an autocomplete with known server names to the connect dialog;
Added support for server messages (identification, shutdown, user
warning and promotion)
Connection dialog’s inputs are now wider
Only declare implemented client features
Added check for protocol version on connect before login
Avoid listbox being rendered as dropdown on mobiles