Commit graph

496 commits

Author SHA1 Message Date
David Négrier b263012403 Adding manual test scenarios 2020-06-11 11:02:04 +02:00
David Négrier ac2e45c60e
Merge pull request #177 from thecodingmachine/fixsuspend
Fixing suspend/resume
2020-06-11 10:50:36 +02:00
David Négrier f7265c213e Patch 2020-06-11 10:40:43 +02:00
David Négrier 43c7c9ad07 Fixing null initialization 2020-06-11 10:29:11 +02:00
David Négrier 77167c28a6 Making sure that even is a user did not move, the reconnection can happen without issues and resume at the old position 2020-06-11 10:04:23 +02:00
David Négrier ce7b4092a6 Fixing suspend/resume
In case we suspend a laptop and resume it, the RECONNECT event is called by socket.io without any error being thrown (so without us being redirected to the Reconnect Scene).
This fix makes sure we go to the reconnect scene before going back to the main scene.
2020-06-11 09:37:33 +02:00
David Négrier 1e362a5eb9
Merge pull request #174 from thecodingmachine/fixstartpos
Fixing start position on disconnect
2020-06-10 16:08:59 +02:00
David Négrier 80fddb3c69 Removing dead code 2020-06-10 16:01:01 +02:00
David Négrier f518830073 Minor change to make sure the scene starts even if in background (does this really work?) 2020-06-10 16:00:54 +02:00
David Négrier 500dc83a85 Completely resetting GameScene on disconnect 2020-06-10 15:43:22 +02:00
David Négrier b24541f9b8
Merge pull request #169 from thecodingmachine/stricter_lint
Enabling stricter lint: forbidding usage of any
2020-06-10 14:59:22 +02:00
David Négrier 43e4489d4d Fixing start position on disconnect 2020-06-10 14:57:32 +02:00
David Négrier 928e486de5 Fixing token management 2020-06-10 12:32:39 +02:00
David Négrier a373626e24 Removing all "any" from back.
To do this, I used generic-type-guard package which generates both an interface AND a valid type guard from code.
With this, we are 100% sure that the messages we receive are validated at runtime!
The client cannot pass us an object that is invalid! \o/
2020-06-09 23:07:19 +02:00
David Négrier ac0b7a7361 Turning let into const where applicable 2020-06-09 15:54:54 +02:00
David Négrier 30ca47c2d8 Enabling stricter lint: forbidding usage of any
See #168
2020-06-09 15:51:14 +02:00
David Négrier 68dfed5fba Fixing Prometheus indicator 2020-06-09 13:53:33 +02:00
David Négrier c46b70236b
Merge pull request #167 from thecodingmachine/landing-nip
Landing nip
2020-06-09 13:51:20 +02:00
NIP 6adce0808f Fix sharing links 2020-06-09 12:34:44 +02:00
David Négrier c70da31e23
Merge pull request #163 from thecodingmachine/change_license
Changing license to AGPL + Commons Clause
2020-06-09 12:30:16 +02:00
NIP cb43f8d069 Remove sharing and change texts 2020-06-09 12:18:17 +02:00
David Négrier a15d74e6ce
Adding ARP as contributor 2020-06-09 12:13:51 +02:00
David Négrier d881842c6c
Merge pull request #164 from thecodingmachine/prom-client
Adding Prometheus metrics
2020-06-09 12:06:30 +02:00
David Négrier af6924a27c Adding Prometheus metrics
This commit adds a '/metrics' endpoint in the API that can be exploited by Prometheus.

This endpoint returns:

- the number of connected sockets
- the number of users per room
- common NodeJS and system metrics

WARNING: this endpoint is public right now and should be protected
2020-06-09 11:49:23 +02:00
David Négrier 91ce318848 Changing license to AGPL + Commons Clause
This is an important change.
So far, the project was labelled as licensed under the "AGPL" (improperly since no version of the AGPL was specified)

This commit changes the license to "AGPL + Commons Clause"

The [common clause](https://commonsclause.com/) is an additional restriction forbidding companies from taking WorkAdventure of the shelf, and reselling WorkAdventure.

This license does not forbid anyone from installing and using WorkAdventure, it only targets resellers (so SAAS exploitation of WorkAdventure is limited to TheCodingMachine).

This effectively makes WorkAdventure non open-source, but the source-code remains available for anyone to see and modify.
2020-06-09 10:17:21 +02:00
David Négrier bdb01f3103
Merge pull request #161 from thecodingmachine/landing-nip
Add google analytics tag
2020-06-09 09:38:23 +02:00
David Négrier 69cfac290d Improving logs (adding date) 2020-06-09 09:30:12 +02:00
David Négrier dcc78786a9 Porting favicon to the "front" container 2020-06-09 09:21:24 +02:00
Hugo Averty 281df16704 Adding favicons 2020-06-09 08:16:54 +02:00
Hugo Averty bdbefe3d8f Work on responsive part and fixes 2020-06-09 07:39:43 +02:00
NIP 3eda0abb9b Add google analytics tag 2020-06-08 18:44:22 +02:00
David Négrier bd3be2a138
Merge pull request #157 from thecodingmachine/fixing_long_disconnect
Adding connecting spinner and blinking error to webrtc display
2020-06-08 18:09:12 +02:00
David Négrier ed3aedcb91
Merge pull request #158 from thecodingmachine/multiple_start_positions
Adding the ability to add several entry points
2020-06-08 18:07:16 +02:00
David Négrier 5042f2f82c Lint 2020-06-07 23:00:05 +02:00
David Négrier c0809e28db Adding support for putting the hash in a map referenced in an exit scene. 2020-06-07 22:57:32 +02:00
David Négrier db3ef81842 Adding the ability to add several entry points
We can now have several start layers and choose an entry point using a # in the URL
2020-06-07 13:23:32 +02:00
David Négrier f2c9647882 Adding connecting spinner and blinking error to webrtc display
I put a connecting spinner around the user name when the user is connecting.
Also, if an error occurs, we will see a blinking red circle around the player name.
2020-06-06 22:49:55 +02:00
David Négrier d630106ff0
Merge pull request #155 from thecodingmachine/fixing_long_disconnect
Fixing disconnection taking ~15 seconds
2020-06-06 22:47:24 +02:00
David Négrier 96c5d92c46 Fixing disconnection taking ~15 seconds
Most of the time, sending a disconnect event to one of the players is enough (the player will close the connection
which will be shut for the other player).
However! In the rare case where the WebRTC connection is not yet established, if we close the connection on one of the player,
the other player will try connecting until a timeout happens (during this time, the circle with the name is displayed for nothing).

So now, we send disconnection event to every body (not only the people in the group, but also to the person leaving the group)
2020-06-05 13:07:18 +02:00
David Négrier d6031ba5c5
Merge pull request #145 from thecodingmachine/profiling
Adding a Yarn command to profile
2020-06-04 22:18:44 +02:00
David Négrier 45be796c2f
Merge pull request #152 from thecodingmachine/hotfix-metadata-share
Add meta tags for shared url
2020-06-04 22:18:15 +02:00
David Négrier 7223c1804d
Merge pull request #150 from thecodingmachine/strict_mode_front
Enabling Typescript strict mode on the front
2020-06-04 22:17:00 +02:00
David Négrier b82b13e351 Finalizing strict mode fixes 2020-06-04 18:56:59 +02:00
David Négrier 6f69a62d4d More strict fixes 2020-06-04 18:56:59 +02:00
David Négrier 082a11b0cd Allowing ill defined initializers (because of the way Phaser 3 is designed) 2020-06-04 18:56:59 +02:00
David Négrier 7292bc3cab More strict fixes 2020-06-04 18:56:22 +02:00
David Négrier 111bfcfe8c More strict typecheck fixes 2020-06-04 18:56:22 +02:00
David Négrier a231024502 Fixing strict type checks 2020-06-04 18:56:22 +02:00
David Négrier a3ac782f17 Enabling Typescript strict mode on the front
This is very important otherwise, a number of useful checks (like nullable objects not propertly checked) are not performed.

See https://dev.to/briwa/how-strict-is-typescript-s-strict-mode-311a
2020-06-04 18:56:22 +02:00
lotfiidir1 5f1b1e76a6 Add meta tags for shared url 2020-06-04 17:52:55 +02:00