Commit Graph

405 Commits

Author SHA1 Message Date
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