Commit Graph

200 Commits

Author SHA1 Message Date
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
7410cc8a4b Fixing tests 2020-09-16 16:10:20 +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
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
c70da31e23
Merge pull request #163 from thecodingmachine/change_license
Changing license to AGPL + Commons Clause
2020-06-09 12:30:16 +02:00
David Négrier
a15d74e6ce
Adding ARP as contributor 2020-06-09 12:13:51 +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
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