Commit graph

494 commits

Author SHA1 Message Date
Thomas Basler d79a18ee81 Removed unused URL_ROOM_STARTED variable from pusher and back 2021-01-20 22:56:24 +01:00
David Négrier 8fcc1534d8 Fixing let/const in Admin 2021-01-18 15:31:19 +01:00
David Négrier d1222e4440 Refactoring admin messages 2021-01-18 15:07:40 +01:00
David Négrier b1d4af005e Adding missing use statement 2021-01-17 22:44:22 +01:00
Gregoire Parant 0bbaef0cb5 Fix send message and ban message 2021-01-17 03:07:46 +01:00
Gregoire Parant a7398fa851 Fix ci 2021-01-15 05:12:23 +01:00
Gregoire Parant b1f8522c05 Create ban feature by admin console 2021-01-15 03:19:58 +01:00
Piotr Dobrowolski 33b9bd773f *: Dockerfiles cleanup, docker-compose.prod.yaml
New docker-compose.prod.yaml should provide a production-ish deployment
of WorkAdventure
2021-01-12 22:32:37 +01:00
Piotr Dobrowolski 3c099ea783 back,pusher,uploader: cleanup dependencies
Move typescript/ts-node-dev to dev dependencies, remove unused
dependencies.
2021-01-07 19:09:53 +01:00
dependabot[bot] 358292840b
Bump axios from 0.20.0 to 0.21.1 in /back
Bumps [axios](https://github.com/axios/axios) from 0.20.0 to 0.21.1.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v0.21.1/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.20.0...v0.21.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-06 14:41:45 +00:00
dependabot[bot] eb56e05e1d
Bump systeminformation from 4.30.5 to 4.31.1 in /back
Bumps [systeminformation](https://github.com/sebhildebrandt/systeminformation) from 4.30.5 to 4.31.1.
- [Release notes](https://github.com/sebhildebrandt/systeminformation/releases)
- [Changelog](https://github.com/sebhildebrandt/systeminformation/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sebhildebrandt/systeminformation/compare/v4.30.5...v4.31.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-06 08:19:02 +00:00
David Négrier c633de5eed Making HTTP and GRPC ports configurable in API server 2020-12-14 22:43:05 +01:00
dependabot[bot] d39dab3085
Bump ini from 1.3.5 to 1.3.7 in /back
Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.7.
- [Release notes](https://github.com/isaacs/ini/releases)
- [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.7)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-11 13:25:43 +00:00
David Négrier 2122014947 Merge branch 'develop' of github.com:thecodingmachine/workadventure into scaling
# Conflicts:
#	front/src/Phaser/Game/GameScene.ts
2020-12-11 13:06:10 +01:00
David Négrier 6f2c319785 Merge branch 'master' of github.com:thecodingmachine/workadventure into scaling
# Conflicts:
#	back/src/Services/SocketManager.ts
#	deeployer.libsonnet
#	docker-compose.yaml
#	front/src/Connexion/RoomConnection.ts
#	front/src/Enum/EnvironmentVariable.ts
#	front/src/Phaser/Game/GameScene.ts
#	front/webpack.config.js
#	pusher/src/Controller/IoSocketController.ts
2020-12-11 13:00:11 +01:00
David Négrier ea3aa3d128 Reimplementing ban/unban/messages 2020-12-11 12:23:50 +01:00
David Négrier 24cb85cc7c Adapting admin connection to pusher.
Done: onUserLeave / onUserEnter
To be done: ban / unban
2020-12-10 17:46:15 +01:00
David Négrier 1a5078f87d Fixing pusher build + building in CI 2020-12-09 16:33:59 +01:00
David Négrier bd38dd5ede Fixing unit tests in back 2020-12-08 18:37:15 +01:00
David Négrier 5d188e51b2 Cleanup of useless files 2020-12-04 17:26:12 +01:00
David Négrier a19edd4dc1 Fixing reconnection to server on back failure 2020-12-03 16:39:44 +01:00
David Négrier 5a0dfdb1d5 Fixing missing uuid in back 2020-12-02 17:51:46 +01:00
dependabot[bot] 0f223cdc63
Bump systeminformation from 4.27.11 to 4.30.5 in /back
Bumps [systeminformation](https://github.com/sebhildebrandt/systeminformation) from 4.27.11 to 4.30.5.
- [Release notes](https://github.com/sebhildebrandt/systeminformation/releases)
- [Changelog](https://github.com/sebhildebrandt/systeminformation/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sebhildebrandt/systeminformation/compare/v4.27.11...v4.30.5)

Signed-off-by: dependabot[bot] <support@github.com>
2020-11-27 16:29:41 +00:00
David Négrier 4c1e566a6c Adding a Pusher container as a middleware/dispatcher between front and back 2020-11-26 17:53:30 +01:00
kharhamel 0a2e967eca HOTFIX: fixed a server when trying to connect to the adminRoomSocket 2020-11-13 12:15:58 +01:00
kharhamel 3c0f61d3b3 HOTFIX: fixed server crash on /map 2020-11-13 12:11:59 +01:00
kharhamel b064f01f97 FEAT: added a prometheus gauge for the number of active rooms 2020-11-12 14:51:19 +01:00
kharhamel 9b64a970b5 FIX: remove the ping and pong overrides server side in favor of and idleTimeout and added a manual ping client side 2020-11-10 18:26:46 +01:00
kharhamel 5a1147866c FIX: in dev mode, sockets won't be closed to prevent conflicts with live-reloading 2020-11-10 15:24:02 +01:00
kharhamel 85f2dabe6c FIX: the server now closes the socket after 30s of no pong 2020-11-09 12:12:52 +01:00
David Négrier fcef89aa70 Fixing deployment of WA without admin
The open-source version must be installable without an admin backend. While working on AFUP's meeting, we introduced regression preventing WA from working without an admin. This commit fixes this behaviour and makes WA installable again!
2020-11-05 11:47:33 +01:00
kharhamel b1d2543631 improvment: added prometheus metrics for the number of groups in a room 2020-10-30 15:23:50 +01:00
dependabot[bot] d472f984b5
Bump systeminformation from 4.27.5 to 4.27.11 in /back
Bumps [systeminformation](https://github.com/sebhildebrandt/systeminformation) from 4.27.5 to 4.27.11.
- [Release notes](https://github.com/sebhildebrandt/systeminformation/releases)
- [Changelog](https://github.com/sebhildebrandt/systeminformation/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sebhildebrandt/systeminformation/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-27 20:55:36 +00:00
David Négrier b7854dfb90 When a user moves, do not trigger group creation
In order to avoid triggering group creation when walking next to someone we should avoid creating a group unless the user stops next to the other members of the group.
2020-10-22 16:15:30 +02:00
David Négrier c8434dfd4c Renaming test file 2020-10-22 16:14:32 +02:00
Gregoire Parant 3a565362a2 Simple limit connexion in room 2020-10-21 23:45:08 +02:00
Gregoire Parant e973921390 Fix admin tags
- Fix get size group
- Fix admin tags
- Fix texture already used
2020-10-21 17:22:17 +02:00
David Négrier 142e5c3f66 Increasing node memory to 4GB 2020-10-21 15:15:07 +02:00
David Négrier 78a4bf3189 Adding custom character textures 2020-10-20 17:42:36 +02:00
Gregoire Parant 565ce6b70b eslint fix 2020-10-20 09:24:06 +02:00
Gregoire Parant 8d1d6fc8dc Push message when user is connected on new room 2020-10-20 09:20:00 +02:00
Gregoire Parant eb1f62bb1c Add banned message and close ws 2020-10-20 08:30:11 +02:00
Gregoire Parant 7059c6e6e3 Refactor message 2020-10-20 08:20:21 +02:00
Gregoire Parant ba9f9dcbe1 Fix CD 2020-10-19 21:04:16 +02:00
Gregoire Parant dfa6d2cc66 Verify user in admin
- If 404, user don't exist in admin, it will be anonym user
- if 403, user is ban or not associate in the world
2020-10-19 20:49:30 +02:00
Gregoire Parant bf9dfcc835 Ban mesage
- Create type message could be use to send private message at any user
- Create SendMessageUser message
- Add sound when user receive ban message
2020-10-19 19:32:47 +02:00
arp 75d9ed8dfa implemented the admin websocket
now send data
2020-10-19 14:23:50 +02:00
David Négrier a7c16654c3 Deploying with new configurable Jitsi conf 2020-10-19 12:07:05 +02:00
David Négrier ed1fbb5324 Linting 2020-10-19 11:14:52 +02:00
David Négrier 16d1c2354e Adding fallback to unauthenticated Jitsi 2020-10-19 11:07:49 +02:00
David Négrier 260b0ea408 Adding JWT authentication to Jitsi 2020-10-16 19:23:28 +02:00
arp e6bd655527 move most of the logic of IOSocketController into a dedicated class 2020-10-15 18:22:28 +02:00
David Négrier c75f1edc40 Merge branch 'develop' of github.com:thecodingmachine/workadventure into player-report
# Conflicts:
#	back/src/Controller/AuthenticateController.ts
2020-10-15 18:01:44 +02:00
David Négrier 267476c651 Removing TODO 2020-10-15 17:59:32 +02:00
David Négrier 2bf795d9c2 Fixing HTTP status code not correctly outputed because of CORS headers 2020-10-15 17:27:40 +02:00
David Négrier e7890907c1
Merge pull request #331 from thecodingmachine/verifyjwtserverside
Adding a new endpoint to verify the JWT token server-side before connecting
2020-10-15 17:02:41 +02:00
David Négrier 4f54c3cd86 Fixing JWT verify 2020-10-15 16:54:04 +02:00
David Négrier a348001036 Adding a new endpoint to verify the JWT token server-side before connecting 2020-10-15 16:48:42 +02:00
Kharhamel 47275acebb
Merge pull request #327 from thecodingmachine/name8
improved textField component and allowed 8 caracter names
2020-10-15 15:27:45 +02:00
arp d35b3ff5be extended the exprire duration for jwt token 2020-10-15 14:30:43 +02:00
David Négrier d098a1b8db The server now sends regular ping requests to keep connections alive 2020-10-15 13:53:59 +02:00
Gregoire Parant 38d2cc9a8c Remove teleport feature 2020-10-15 12:12:11 +02:00
Gregoire Parant 8df56204e3 Add teleport event 2020-10-15 11:51:24 +02:00
Gregoire Parant 7b435edd71 Finish report 2020-10-15 10:37:40 +02:00
Gregoire Parant f6ae7d8d3b Merge branch 'develop' into player-report
# Conflicts:
#	back/src/Controller/IoSocketController.ts
2020-10-15 09:44:37 +02:00
arp a6a51caa93 now fetch the tags from the admin into the nodejs back 2020-10-14 16:50:42 +02:00
Gregoire Parant 4799460064 Merge branch 'develop' into player-report
# Conflicts:
#	front/src/Connexion/RoomConnection.ts
2020-10-14 15:06:10 +02:00
David Négrier 98bda49d7e Get tags from the admin
And uses tag "admin" to choose whether to display the console or not
2020-10-14 11:07:34 +02:00
David Négrier ce93e5bbaa Fixing the way rights are sent to the admin (now sending organization/world/room) 2020-10-14 10:37:00 +02:00
Gregoire Parant f05f4a7f5b Fix url 2020-10-13 22:19:32 +02:00
Gregoire Parant 3e74e178fb Fix CI 2020-10-13 21:22:39 +02:00
Gregoire Parant 9c44d37020 Merge remote-tracking branch 'github.com/develop' into player-report
# Conflicts:
#	back/src/Controller/IoSocketController.ts
#	front/src/Phaser/Game/GameScene.ts
#	front/src/index.ts
#	messages/messages.proto
2020-10-13 21:14:46 +02:00
Gregoire Parant dbaf44e814 Change report flag
- Add icon on video
- Permit to have a modal with comment
2020-10-13 19:56:42 +02:00
David Négrier aee06da7f9 Refactoring Room.ts to fetch map url automatically from ID 2020-10-13 17:10:07 +02:00
arp d98efc0433 lint fixes 2020-10-13 16:23:49 +02:00
David Négrier 94538bfaf4 Adding a /map route and removing /start-map 2020-10-13 15:29:08 +02:00
David Négrier ac86914d82 Adding /map endpoint to Node API 2020-10-13 15:12:24 +02:00
Gregoire Parant 65406f844e Teleport notification
- Create end point to permit the teleport notification. The map url will be /teleport/token_user
- Create message teleport
- Create receive feature in phaser to teleport

TODO
Teleport player on black room.
2020-10-13 11:39:07 +02:00
Gregoire Parant 3c2f134e4e Finish report in admin 2020-10-13 09:37:38 +02:00
arp 02c193a262 rewrote the authorisation flow: give more responsability to gameManager and less to gameScene 2020-10-12 16:45:09 +02:00
Gregoire Parant aeced0c648 create message to report 2020-10-12 11:22:41 +02:00
arp 032facb75f lint fixes 2020-10-09 17:21:46 +02:00
arp f550c5a775 merge from develop 2020-10-09 17:10:24 +02:00
arp c5f8b43fec more fixes 2020-10-09 17:01:34 +02:00
arp 5e54fc2c26 some fixes 2020-10-09 14:53:18 +02:00
arp 4af46b1b3f simplified mapUrl parsing 2020-10-08 18:51:24 +02:00
David Négrier f542b117a8 Refactoring connection to pass room info on connect 2020-10-06 18:11:42 +02:00
arp 0b78eb6277 temp 2020-10-06 15:37:00 +02:00
David Négrier e1193ad95a Fixing console removal 2020-10-01 17:16:36 +02:00
David Négrier f06abfae4c Migrating to uuid v4 2020-10-01 16:51:51 +02:00
David Négrier e4872c6f9d Fix CI 2020-10-01 15:55:23 +02:00
David Négrier d3fa901691 Merge branch 'develop' of github.com:thecodingmachine/workadventure into feature/global-message
+ migrating to protobuf messages

# Conflicts:
#	back/src/App.ts
#	back/src/Controller/IoSocketController.ts
#	back/yarn.lock
#	front/src/Connection.ts
#	front/src/Phaser/Game/GameScene.ts
#	front/src/Phaser/Login/EnableCameraScene.ts
#	front/src/WebRtc/SimplePeer.ts
2020-10-01 14:11:34 +02:00
David Négrier a8bbe04cae Adding logs to track overheating 2020-09-30 14:42:35 +02:00
David Négrier 57262de1bf Fixing CI + lowering extrapolation time 2020-09-30 13:49:23 +02:00
David Négrier a87cdc543b Adding CPU tracking: if CPU > 80%, ignore position of moving players 2020-09-30 12:50:34 +02:00
David Négrier 27871641aa Removing dead code 2020-09-30 12:17:27 +02:00
David Négrier d9c910cfca Removing useless code 2020-09-30 12:16:39 +02:00
David Négrier c7f5770968 Fix CI 2020-09-30 10:17:01 +02:00
David Négrier 5de2f61231 Adding back authentication to uws websocket 2020-09-30 10:12:40 +02:00
David Négrier e9b538e43c Fixing import 2020-09-29 17:30:38 +02:00
David Négrier 53c6c2bc30 Fixing benchmark 2020-09-29 17:24:16 +02:00
David Négrier 9f3577286d Merge branch 'develop' of github.com:thecodingmachine/workadventure into uws
# Conflicts:
#	back/src/Controller/AdminController.ts
#	back/src/Controller/AuthenticateController.ts
#	back/src/Controller/IoSocketController.ts
#	back/src/Controller/MapController.ts
#	benchmark/index.ts
#	front/src/Connexion/RoomConnection.ts
2020-09-29 17:12:28 +02:00
David Négrier a37557dd4b Fixing tests 2020-09-29 16:27:41 +02:00
David Négrier 432b4a0e85 Linting app 2020-09-29 16:12:17 +02:00
David Négrier b485c9bf46 Switching WebRTC to protobuf + uws 2020-09-29 16:01:22 +02:00
David Négrier a9b1313d39 Cleanup 2020-09-29 10:57:14 +02:00
David Négrier 2cea0e490b Fixing disconnect call 2020-09-29 09:45:47 +02:00
David Négrier 6a4c0c8678 Migrating to uWS 2020-09-28 18:52:54 +02:00
arp 3f9659ef3c improvments 2020-09-28 15:40:34 +02:00
arp af4611ed29 rewrote the login workflow 2020-09-25 19:23:33 +02:00
David Négrier dd4d5db54f Fixing build 2020-09-25 15:42:55 +02:00
David Négrier 48469e3de3 Fixing linting 2020-09-25 15:42:05 +02:00
David Négrier 23cea1c835 Migrating position notification into the User class 2020-09-25 15:25:06 +02:00
David Négrier 892d1555b8 Adding "dump" controller and fixing issue with groups in PositionNotifier by delegating the PositionNotifier.updatePosition call to groups themselves 2020-09-25 13:48:02 +02:00
David Négrier 953912b892 Fix style 2020-09-24 17:52:12 +02:00
David Négrier ac80850335 Switching SetViewport to protobuf 2020-09-24 17:36:10 +02:00
David Négrier 24a6cd7f8e Switched ITEM_EVENT to protobuf 2020-09-24 17:24:37 +02:00
David Négrier cd083a2090 Merge branch 'develop' of github.com:thecodingmachine/workadventure into protobuf
# Conflicts:
#	back/package.json
2020-09-24 16:22:16 +02:00
David Négrier 0c4c43f88c Adding USER_LEFT message to protobuf 2020-09-24 16:11:47 +02:00
David Négrier 2dad601311 Adding JOIN_ROOM message in protobuf 2020-09-24 14:50:28 +02:00
David Négrier 72806b3ca0 Fixing messages copy 2020-09-24 11:54:00 +02:00
David Négrier d7209d8864 Migrating messages locally into back and front 2020-09-24 11:16:08 +02:00
David Négrier b4f971c501 Switched group position to protobuf 2020-09-24 10:05:16 +02:00
Gregoire Parant 4beeb62c6f Fix CI 2020-09-23 18:28:12 +02:00
Gregoire Parant bcb126a146 Merge branch 'develop' into feature/global-message
# Conflicts:
#	back/src/App.ts
2020-09-23 17:26:00 +02:00
Gregoire Parant 0d2893ec75 Send at every player connected 2020-09-21 15:11:46 +02:00
David Négrier 76d3779438 Moved GroupUpdateMessage to protobuf 2020-09-21 11:24:03 +02:00
arp a19f09bef2 improve the register workflow 2020-09-21 10:51:48 +02:00
Gregoire Parant 844bffa988 Create file controller to upload audio document 2020-09-20 19:01:21 +02:00
Gregoire Parant 45ad4bbb36 Send and play audio message 2020-09-20 17:12:27 +02:00
Gregoire Parant 4c7e458e52 create event and brodcast event in backend 2020-09-19 01:08:56 +02:00
David Négrier 57545a96a5 Removing binary call because missing typescript def 2020-09-18 18:18:39 +02:00
David Négrier b148ca3708 Linting 2020-09-18 18:16:26 +02:00
David Négrier d2a5060ad2 Using multistage builds with protocol buffers 2020-09-18 18:00:03 +02:00
David Négrier d3116c7400 Building proto messages in CI 2020-09-18 17:51:12 +02:00
David Négrier 7826b2ea8d Fixing Docker build images to add new messages directory 2020-09-18 17:22:45 +02:00
David Négrier 32f92d5c45 Switching test loading from Artillery to home-grown test 2020-09-18 17:01:45 +02:00
David Négrier 28dc3a2c84 Removing protobuf packages from back 2020-09-18 16:05:52 +02:00
David Négrier df0636c513 Migrating user position messages to protobuf 2020-09-18 15:51:15 +02:00
arp 3a17795ad3 added basic token auth 2020-09-18 15:48:30 +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
arp ed9552b62b added a register route via token 2020-09-17 18:21:49 +02:00
David Négrier 4b55b54a07 Adding first protobuf message exchange 2020-09-17 17:14:47 +02:00
David Négrier 9dd3d4bac8 Watching protoc in dev mode 2020-09-16 22:27:37 +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 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
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 c73fc30802 Adding a Yarn command to profile 2020-06-03 09:18:49 +02:00
David Négrier 66ec11176b Tracking nb users connected and server load
When a user connects or disconnects on the server, we log this (along the current server load).
This is only temporary, in order to assess the number of users a server can safely handle before crashing.
2020-05-28 22:00:56 +02:00
NIP 5066e5ad4c Fix issue on start point 2020-05-28 12:19:46 +02:00
NIP c90994574a Add a coders exit to https://npeguin.github.io/coders-map/map.json 2020-05-28 11:56:47 +02:00