David Négrier
7826b2ea8d
Fixing Docker build images to add new messages directory
2020-09-18 17:22:45 +02:00
David Négrier
df0636c513
Migrating user position messages to protobuf
2020-09-18 15:51:15 +02:00
David Négrier
e9ca8721a6
Migrating userId to "int32" to save some space and adding userMoves message in protobuf
2020-09-18 13:57:38 +02:00
David Négrier
4b55b54a07
Adding first protobuf message exchange
2020-09-17 17:14:47 +02:00
David Négrier
2e8fa8d676
Adding protocol buffers to the project with Typescript support
2020-09-16 18:34:24 +02:00
David Négrier
f6458a8335
Removing useless group callbacks at the World level
2020-09-16 16:13:47 +02:00
David Négrier
f5f9dcac04
Making groups part of zones
2020-09-16 16:06:43 +02:00
David Négrier
3a9196fb82
Merge
2020-09-16 11:41:03 +02:00
David Négrier
7e7b42ce19
Changing load test to run in circles
2020-09-16 09:31:44 +02:00
David Négrier
d24ec0bd75
Plugin PositionNotifier into the main application.
2020-09-15 16:21:41 +02:00
David Négrier
f8d462b0d7
Fixing "any" type
2020-09-15 10:10:35 +02:00
David Négrier
9b702c75e3
Adding batched messages + the notion of notifier / zones (not plugged in the system yet)
2020-09-15 10:06:11 +02:00
David Négrier
b37a8f63be
Moved benchmark to its own directory and added multicore testing + a README
2020-09-11 09:56:05 +02:00
Gregoire Parant
d4fe59d154
Create config file artillery websocket
2020-09-09 12:32:01 +02:00
David Négrier
8968627d69
Adding Jitsi meeting in TCM maps
2020-08-31 14:23:31 +02:00
David Négrier
9351719873
Adding the notion of silent zone
2020-08-31 14:10:01 +02:00
David Négrier
df7b5cc2e3
Adding a "silent" notion (triggered in Jitsi meets)
2020-08-31 14:03:40 +02:00
David Négrier
0a8ba37049
Adding Jitsi meet support
2020-08-31 12:18:00 +02:00
David Négrier
01319b50ca
Adding a "openWebsite" property that opens websites when we walk over the zone.
2020-08-30 17:37:38 +02:00
David Négrier
fca93663b4
Merge branch 'develop' of github.com:thecodingmachine/workadventure into outline
2020-08-24 18:15:44 +02:00
David Négrier
2ae19b9f30
Fixing build
2020-08-20 22:34:50 +02:00
David Négrier
27ffb6b13d
Refactoring SimplePeer code: splitting Peer instantiation into 2 subclasses (VideoPeer and ScreenSharingPeer). This leads to way leaner code.
2020-08-20 16:56:10 +02:00
David Négrier
894f7c8009
Removing useless roomID parameter in WebRtcSignal message
2020-08-20 15:21:07 +02:00
David Négrier
0119534283
First version of screen-sharing that works when a user is joining a group after screen sharing begun.
2020-08-20 00:05:00 +02:00
David Négrier
6c5772e849
Fixing typipng in back
2020-08-18 15:31:42 +02:00
Gregoire Parant
4b72958193
Fix peer connexion for two player with screen sharing
2020-08-17 23:56:46 +02:00
Gregoire Parant
a8f27e6084
Create event to start webrtc screen charing
2020-08-17 23:54:26 +02:00
Gregoire Parant
a4f42111d7
Update screen sharing feature
2020-08-17 23:47:17 +02:00
David Négrier
6b970adc6c
Merge branch 'develop' of github.com:thecodingmachine/workadventure into outline
...
# Conflicts:
# front/src/Phaser/Game/GameScene.ts
# front/src/Phaser/Player/Player.ts
# front/src/index.ts
# front/yarn.lock
2020-08-17 22:51:37 +02:00
David Négrier
84529d6e99
Propagating customized sprites all over the game
2020-07-28 17:45:55 +02:00
David Négrier
ee612f6585
Adding event support to items
2020-07-27 22:36:58 +02:00
David Négrier
d48d5b0285
Fix CS
2020-07-23 18:47:28 +02:00
David Négrier
2484e4f1df
Moving maps to their own container
2020-07-23 18:43:51 +02:00
David Négrier
ed146226cf
Adding Outline capabilities and a ActionableItem notion.
2020-07-23 18:09:24 +02:00
David Négrier
82c57810a2
Removing host label from Prometheus because it is redundant
2020-06-29 23:01:52 +02:00
David Négrier
6412c56fcd
Adding finally clause to make sure Prometheus indicators are ok
2020-06-29 22:56:41 +02:00
David Négrier
31846d1640
Using a Set for groups
2020-06-29 22:21:11 +02:00
David Négrier
4fee1ac206
Refactoring World and Group to use Map and Set instead of arrays
2020-06-29 22:10:23 +02:00
David Négrier
981fa84aa7
Mitigating problem when there is a synchronization issue between World and sockets list.
2020-06-29 19:16:15 +02:00
David Négrier
9bdcc9da98
Deleting world when empty.
2020-06-29 19:14:54 +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
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
68dfed5fba
Fixing Prometheus indicator
2020-06-09 13:53:33 +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
69cfac290d
Improving logs (adding date)
2020-06-09 09:30:12 +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
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