Commit graph

494 commits

Author SHA1 Message Date
David Négrier dbd5b80636 Adding support for "readableBy" and "writableBy" in back
This means that we are now loading maps from server side.
2021-07-19 10:16:43 +02:00
David Négrier 5c7ea7b258 Merge branch 'develop' of github.com:thecodingmachine/workadventure into scripting_api_room_metadata 2021-07-16 11:22:36 +02:00
David Négrier c9fa9b9a92 Migrating away from the notion of public/private URL in WorkAdventure Github repository
The notion of public/private repositories (with /_/ and /@/ URLs) is specific to the SAAS version of WorkAdventure.
It would be better to avoid leaking the organization/world/room structure of the private SAAS URLs inside the WorkAdventure Github project.

Rather than sending http://admin_host/api/map?organizationSlug=...&worldSlug=...&roomSlug=...., we are now sending /api/map&playUri=...
where playUri is the full URL of the current game.
This allows the backend to act as a complete router.
The front (and the pusher) will be able to completely ignore the specifics of URL building (with /@/ and /_/ URLs, etc...)
Those details will live only in the admin server, which is way cleaner (and way more powerful).
2021-07-15 17:07:47 +02:00
kharhamel 3cfbcc6b02 FEATURE: migrated the chat window to svelte 2021-07-07 18:07:58 +02:00
David Négrier e65e8b2097 First version with variables that actually work 2021-07-07 17:17:28 +02:00
David Négrier 5116b82e77 Merge branch 'develop' of github.com:thecodingmachine/workadventure into scripting_api_room_metadata 2021-07-07 11:55:00 +02:00
David Négrier 34cb0ebf39 Users blocking now rely on UUID rather than ID
This way, if a user A blocks another user B, if user B refreshes the browser or leaves and re-enters the room, user B will still be blocked.
As a side effect, this allows us to completely remove the "sockets" property in the SocketManager on the Pusher.
2021-07-07 11:24:51 +02:00
David Négrier 19bd1045e1 Merge branch 'develop' of github.com:thecodingmachine/workadventure into scripting_api_room_metadata 2021-07-06 17:24:16 +02:00
David Négrier 46e6917df6 Adding a playersStore
The playerStore can be useful to get the details of a given player from its ID.
2021-07-06 17:13:08 +02:00
David Négrier a1f1927b6d Starting adding variables server-side 2021-07-06 15:30:49 +02:00
jonny 65cefb3584 fixed invalid unauathorized handler 2021-07-01 15:50:40 +02:00
David Négrier 3e464580ea Fixing eslint ignore broken by Prettier 2021-06-24 10:23:32 +02:00
David Négrier 10c3d6dee2 Applying Prettier on pusher and back 2021-06-24 10:09:10 +02:00
David Négrier 0828dd8af3 Making max line length to 120 2021-06-23 16:58:57 +02:00
David Négrier 3f0ef2d31a Fixing prettier run command 2021-06-23 16:56:33 +02:00
David Négrier f6d3783f6c Removing git add from lint-staged since it is not necessary since v10 2021-06-23 16:50:00 +02:00
David Négrier 3eab074e2a Setting up lint-staged on front and back 2021-06-23 16:45:38 +02:00
David Négrier 4cac260f81 Adding prettier on back and pusher (not running them right now) 2021-06-23 16:23:16 +02:00
Kharhamel 5159f69a59
Merge pull request #576 from Informatic/fix/dependencies-cleanup
back,pusher,uploader: cleanup dependencies
2021-06-17 11:24:26 +02:00
kharhamel dd45996f9c FIX: improved the visit card, cleanup the code 2021-06-08 16:39:22 +02:00
kharhamel c5f3cfe87c FEATURE: clicking on another player show a contact card when possible 2021-06-03 17:58:21 +02:00
David Négrier f67ca05147
Merge pull request #1020 from thecodingmachine/dependabot/npm_and_yarn/back/hosted-git-info-2.8.9
Bump hosted-git-info from 2.8.8 to 2.8.9 in /back
2021-05-26 15:49:03 +02:00
kharhamel 595c5ca64d now use custom emotes with tweens instead of transistions 2021-05-25 16:37:24 +02:00
kharhamel d93b30f982 improved radial menu 2021-05-19 18:11:51 +02:00
kharhamel a1d52b4265 FEATURE: added the possibility toplay emotes 2021-05-19 15:17:03 +02:00
dependabot[bot] 3b6daa99c0
Bump hosted-git-info from 2.8.8 to 2.8.9 in /back
Bumps [hosted-git-info](https://github.com/npm/hosted-git-info) from 2.8.8 to 2.8.9.
- [Release notes](https://github.com/npm/hosted-git-info/releases)
- [Changelog](https://github.com/npm/hosted-git-info/blob/v2.8.9/CHANGELOG.md)
- [Commits](https://github.com/npm/hosted-git-info/compare/v2.8.8...v2.8.9)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-10 11:50:12 +00:00
dependabot[bot] b141da1475
Bump lodash from 4.17.20 to 4.17.21 in /back
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.20 to 4.17.21.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.20...4.17.21)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-07 13:45:33 +00:00
kharhamel ce2c5e0cb5 FEATURE: added the env variable MAX_PER_GROUP 2021-04-15 15:50:51 +02:00
kharhamel 5ebb0c94e6 FIX: calling emitPlayGlobalMessage in pusher without the admin tag will throw an error 2021-04-14 11:56:54 +02:00
Piotr Dobrowolski 603fc0a591
Merge branch 'develop' into fix/dependencies-cleanup 2021-04-13 21:33:56 +02:00
Johannes Berthel e5a196a42b implemented feedback 2021-04-06 18:54:45 +02:00
Johannes Berthel 4aa082d83b Merge branch 'develop' into feature/player-companion 2021-04-02 23:40:30 +02:00
Johannes Berthel c07079051a transmit companion to remote players 2021-04-02 21:21:11 +02:00
kharhamel 88cc15cd02 FEATURE: editing a room in the admin trigger a refresh system 2021-04-02 15:22:02 +02:00
David Négrier cd7a332b4c Improving error throwing and handling in pusher/admin/front 2021-03-31 15:49:01 +02:00
dependabot[bot] b63ad7ceb7
Bump y18n from 3.2.1 to 3.2.2 in /back
Bumps [y18n](https://github.com/yargs/y18n) from 3.2.1 to 3.2.2.
- [Release notes](https://github.com/yargs/y18n/releases)
- [Changelog](https://github.com/yargs/y18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/yargs/y18n/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-30 14:32:38 +00:00
kharhamel 3b6fe8da8d improved the back to better handle ghost connexions 2021-03-26 15:14:10 +01:00
kharhamel 886daebfea improved the unloading process to not create a useless socket 2021-03-26 14:19:37 +01:00
kharhamel 8d6c1a50bf FEATURE: warning message when world is near full capacity 2021-03-23 17:44:47 +01:00
kharhamel fe8c75610d FIX: player anims correctly stop on the idle frame 2021-03-11 16:21:02 +01:00
Gregoire Parant 2fcb8a76b1 Merge branch 'master' into develop
# Conflicts:
#	front/src/Connexion/RoomConnection.ts
#	front/src/Phaser/Menu/ReportMenu.ts
2021-03-11 02:22:05 +01:00
Gregoire Parant 46cb9333e6 HotFix message in back 2021-03-11 01:25:36 +01:00
kharhamel ad7e16c33b FEATURE: better implementation of the admin global message 2021-03-04 16:18:06 +01:00
David Négrier 6b00355ea8 Fixing WebRtc user name / password when using TURN REST API 2021-02-16 18:13:30 +01:00
David Négrier cdb3cfdc81 [Feature] Connect to a Coturn server using REST API
This allows connecting to a TURN server with temporary passwords.
The passwords are expiring after 4 hours.
2021-02-16 11:06:05 +01:00
David Négrier e07efbdf28
Merge pull request #698 from thecodingmachine/fix/deploy-cleanup
Adding docker-compose.prod.yaml to ease deployment
2021-02-16 10:35:18 +01:00
David Négrier b9c839a87d Adding link to the docker-compose prod file in README. 2021-02-16 10:24:51 +01:00
David Négrier 274f5eba4c Reworking docker-compose.prod.yaml to make it generic while still having a front container configurable 2021-02-02 11:19:24 +01:00
David Négrier 686427f6fe Merge branch 'develop' of github.com:thecodingmachine/workadventure into fix/deploy-cleanup
# Conflicts:
#	front/Dockerfile
2021-02-01 14:00:07 +01:00
Gregoire Parant 7eb38fae83 Permit puiblic report
- Create report html
 - Add report flag
2021-01-29 21:09:10 +01:00
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