David Négrier
1e4ffa20ab
Cleaning GameManager
2020-06-22 16:10:34 +02:00
David Négrier
403ea223a8
Reconnecting also on socket error
2020-06-22 16:10:18 +02:00
David Négrier
f88f28db3f
Refactoring reconnection: putting it into the GameScene directly.
2020-06-22 15:00:23 +02:00
David Négrier
d785a8a1bf
Refactoring connection to be part of a GameScene
...
Most of the refactoring issues we are seeing are probably due to the fact that we are trying to manipulate a ScenePlugin out of a Scene (the GameManager is not a Scene and holds a reference to a ScenePlugin coming from a Scene that might get invalidated by Phaser 3).
Furthermore, if we want in the future to be able to scale, scenes could be hosted on different servers. Therefore, it makes no sense to have one connexion for the whole application.
Instead, we should have one connexion for each scene.
2020-06-22 11:58:07 +02:00
David Négrier
593e0dc642
Merge pull request #195 from thecodingmachine/eventsqueue
...
Adding an event queue in the GameScene.
2020-06-19 22:35:26 +02:00
David Négrier
4496c49621
Fix linting
2020-06-19 18:51:58 +02:00
David Négrier
2b820c7d56
Adding an event queue in the GameScene.
...
Events are processed only in the 'update' method.
We hope this will solve a number of null pointer errors. See #194
2020-06-19 18:18:43 +02:00
David Négrier
8467712737
Merge pull request #173 from thecodingmachine/stricter_lint_front
...
Enabling stricter lint: forbidding usage of any on front
2020-06-19 16:46:51 +02:00
David Négrier
e2be99490b
Finishing removing any reference to "any" in the front.
2020-06-19 16:36:40 +02:00
David Négrier
39928b46f9
Removing any in the front
2020-06-19 14:30:34 +02:00
David Négrier
8348d13bfe
Fixing use const instead of let
2020-06-19 14:30:34 +02:00
David Négrier
54f2518b5e
Enabling stricter lint on front
2020-06-19 14:29:29 +02:00
David Négrier
78c7e40889
Merge pull request #189 from thecodingmachine/prometheus
...
Adding Prometheus support in K8S
2020-06-17 23:07:17 +02:00
David Négrier
d2ad20651f
Adding Prometheus support in K8S
...
This adds an annotation in the back container that will allow the Prometheus to autodetect containers in the cluster.
2020-06-17 22:55:03 +02:00
David Négrier
42ab41df31
Merge pull request #186 from thecodingmachine/fixmap
...
Fixing TCM maps start positions
2020-06-17 22:09:50 +02:00
David Négrier
d736673169
Adding an entry point in first floor
2020-06-17 16:35:47 +02:00
David Négrier
e1954c7ff9
Removing overlapping tiles between start and exit
2020-06-17 16:31:42 +02:00
David Négrier
a6bda673ba
Merge pull request #185 from thecodingmachine/fixreconnect
...
Fixing reconnect issue
2020-06-17 16:16:51 +02:00
David Négrier
817b25b0be
Fixing reconnect issue
...
In the case the reconnect event was triggered on "wake-up", the disconnect event was not sent. But because of a bug in the way we handle the setTimeout, the reconnection to the GameScene never happened after we forced the disconnect scene.
This fixes the issue.
2020-06-17 16:06:02 +02:00
David Négrier
b8f9e25b26
Merge pull request #184 from thecodingmachine/debugreconnect
...
Adding console log when trying to reconnect
2020-06-17 15:43:20 +02:00
David Négrier
b14524625c
Adding console log when trying to reconnect
2020-06-17 15:37:02 +02:00
David Négrier
6a48ff02b2
Merge pull request #180 from thecodingmachine/fixeventsfiredtwice
...
Fixing reconnect issues
2020-06-11 14:23:47 +02:00
David Négrier
b1d39c4690
More logs
2020-06-11 14:13:13 +02:00
David Négrier
ea30a02762
Fixing reconnect issues
2020-06-11 14:12:03 +02:00
David Négrier
be3bb09f1d
Merge pull request #179 from thecodingmachine/fixeventsfiredtwice
...
Fixing events fired multiple times
2020-06-11 13:44:40 +02:00
David Négrier
473c5aa052
Fixing events fired multiple times
...
Callbacks for socket.io events were registered each time a disconnect was called, leading to message being dispatched plenty of times if there was several disconnections.
2020-06-11 13:34:25 +02:00
David Négrier
e50a4fd88b
Fixing setTimeout being called several times
2020-06-11 11:34:22 +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