Commit Graph

132 Commits

Author SHA1 Message Date
David Négrier
88f2bfdf39 Taking into account persist property
The "persist" property was not taken into account and all variables were stored in DB. This change makes sure only variables tagged with "persist" are actually persisted.
2021-07-23 12:19:47 +02:00
David Négrier
2aba6b1c27 Fixing loop when setting variables
Setting a variable would makes the application enter in an infinite loop of events (between all the scripts and the back)
This fix makes sure a variable does not emit any event if it is changed to a value it already has.
2021-07-23 11:51:01 +02:00
GRL
68ff1b9e17 Merge branch 'develop' of github.com:thecodingmachine/workadventure into GlobalMessageToWorld 2021-07-22 16:26:01 +02:00
GRL
9e16bfc366 playGlobalMessage are receive as adminRoomMessage
Suppression of GlobalMessageManager and TypeMessage
Migrating message to svelte
2021-07-22 16:14:27 +02:00
David Négrier
ae5617f3a0 Simplifying promises 2021-07-22 10:41:45 +02:00
David Négrier
6d4c2cfd39 Simplifying error handling 2021-07-22 10:33:07 +02:00
David Négrier
1435ec89c9 Adding unit test and fixing an issue with DNS solving 2021-07-21 18:42:20 +02:00
David Négrier
1bb6d893e0 Simplifying promises 2021-07-21 18:23:03 +02:00
David Négrier
3cfb74be54 Removing useless console log 2021-07-21 16:55:34 +02:00
David Négrier
181545e6b7 Removing dead code 2021-07-21 16:33:56 +02:00
David Négrier
fe59b4512b Fixing CI 2021-07-20 09:33:01 +02:00
David Négrier
ac3d1240ae Setting a variable to undefined now removes it from server-side storage. 2021-07-19 18:46:33 +02:00
David Négrier
d955ddfe82 Adding support to persist variables in Redis 2021-07-19 16:23:16 +02:00
David Négrier
18e4d2ba4e Setting a timeout to map loading 2021-07-19 10:32:31 +02:00
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
David Négrier
10c3d6dee2 Applying Prettier on pusher and back 2021-06-24 10:09:10 +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
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
kharhamel
5ebb0c94e6 FIX: calling emitPlayGlobalMessage in pusher without the admin tag will throw an error 2021-04-14 11:56:54 +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
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
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
Gregoire Parant
7eb38fae83 Permit puiblic report
- Create report html
 - Add report flag
2021-01-29 21:09:10 +01:00
Gregoire Parant
0bbaef0cb5 Fix send message and ban message 2021-01-17 03:07:46 +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
5d188e51b2 Cleanup of useless files 2020-12-04 17:26:12 +01: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
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
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
78a4bf3189 Adding custom character textures 2020-10-20 17:42:36 +02:00
Gregoire Parant
8d1d6fc8dc Push message when user is connected on new room 2020-10-20 09:20:00 +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
arp
d35b3ff5be extended the exprire duration for jwt token 2020-10-15 14:30:43 +02:00
arp
a6a51caa93 now fetch the tags from the admin into the nodejs back 2020-10-14 16:50:42 +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
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
arp
02c193a262 rewrote the authorisation flow: give more responsability to gameManager and less to gameScene 2020-10-12 16:45:09 +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
0b78eb6277 temp 2020-10-06 15:37:00 +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