_Bastler
3b98888c3a
merge latest dev
2021-11-24 13:00:27 +01:00
David Négrier
a82f4e1813
Adding end-to-end tests
...
The first test is testing a tricky cache scenario with the back when testing variables.
The end-to-end package used is testcafe.
2021-11-23 15:43:34 +01:00
David Négrier
d8ecae64f0
Moving lastLoad initialization before we start loading to avoid loading several times
2021-11-23 09:34:39 +01:00
David Négrier
82a1a5fc1e
Retry loading map on variable error
...
If the back is getting an error (because the user has no right to set a variable),
instead of failing directly, let's try to reload the map (maybe we have cached a wrong version of the map).
2021-11-22 18:43:56 +01:00
Alexis Faizeau
6a195be814
Implement logger on back
2021-11-08 17:44:57 +01:00
Alexis Faizeau
c573e9fbaf
Implement no floating promises on eslint rules
2021-11-08 14:45:25 +01:00
David Négrier
6c6a7e6fe4
Improving log messages
...
Signed-off-by: David Négrier <d.negrier@thecodingmachine.com>
2021-11-08 14:30:54 +01:00
_Bastler
f984897e80
secure DISABLE_ANONYMOUS
2021-10-21 16:23:42 +02:00
_Bastler
15766e521e
Merge branch 'develop' of github.com:thecodingmachine/workadventure
2021-10-10 10:30:04 +02:00
Kharhamel
5255847452
FIX: if a conversion group move to another user, this user will be added to the group
2021-10-08 11:02:58 +02:00
_Bastler
b47201687a
better we.bslty & deveop integration
2021-09-16 18:24:03 +02:00
David Négrier
05646718a9
Fix disconnects after 5 minutes in Chrome
...
This commit increases idle timeout for websocket connection
Issue: after 5 minutes of inactive tab (hidden tab) in Chrome, WorkAdventure was disconnected.
I believe Google was going in "intensive throttling" mode (see https://developer.chrome.com/blog/timer-throttling-in-chrome-88/#intensive-throttling )
This means setTimeouts are run only once per minute.
And I believe the "keep alive" must be implemented with a "setTimeout" (one way or another even if I can't find a trace of this in the code). This would mean that the browser would send keep alive requests only once per minute.
But the pusher is configured to shut the connection after 30 seconds of idle activity.
Therefore, the pusher disconnects inactive Chrome tabs. By raising the Pusher idle timer to 2 minutes, we give a chance to Chrome to send a ping to the server in time (since Chrome won't send more than 1 ping per minute).
2021-09-10 18:30:36 +02:00
David Négrier
68a4772627
Allowing variables nested in group layers
...
Up until this commit, variables nested in object layers inside group layers where not found by the front nor the back.
This PR changes analysis so that variables can be detected.
2021-09-02 18:05:55 +02:00
David Négrier
4293ea320d
Hotfix: if an error occurs while loading the map (because the map is not accessible from the WorkAdventure servers), the application does not prevent users from connecting.
2021-08-03 10:08:53 +02:00
Gregoire Parant
14b4229019
Merge branch 'develop' into GlobalMessageToWorld
...
# Conflicts:
# CHANGELOG.md
# front/src/Api/Events/IframeEvent.ts
# front/src/Components/App.svelte
# pusher/src/Services/SocketManager.ts
2021-08-02 23:07:39 +02:00
Gregoire Parant
4991a70bba
Fix error generated
...
Don't generate error if file is Invalid
2021-08-02 21:34:03 +02:00
GRL
bd96a32d5b
Merge branch 'develop' of github.com:thecodingmachine/workadventure into GlobalMessageToWorld
2021-07-30 09:38:28 +02:00
kharhamel
41ac51f291
FEATURE: improved the room capacity warning visuals
2021-07-29 18:27:53 +02:00
Gregoire Parant
4b4356e7ff
Merge branch 'master' into develop
2021-07-28 12:37:14 +02:00
grégoire parant
3d657b4a18
HotFix ban user ( #1318 )
...
* HotFix ban user
- Fix to permit to ban user with more sub tab openned
- Fix to permit to send message ban to the user with more sub tab oppened
* Fix CI
* Run pretty
2021-07-27 14:42:32 +02:00
Stefan Weil
64065b2798
Fix some typos (found by codespell) ( #1316 )
...
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-07-27 14:29:09 +02:00
GRL
ba6e6235d6
Merge branch 'develop' of github.com:thecodingmachine/workadventure into GlobalMessageToWorld
2021-07-23 14:10:43 +02:00
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
9fa7c7aac0
Merge branch 'develop' of github.com:thecodingmachine/workadventure into GlobalMessageToWorld
2021-07-22 17:29:00 +02:00
David Négrier
756a495ac6
Fixing CI
2021-07-22 17:14:15 +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
aa19e8a7cd
Adding a warning when editing a map locally.
2021-07-21 16:29:38 +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
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
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
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
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
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
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
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
b1f8522c05
Create ban feature by admin console
2021-01-15 03:19:58 +01:00
David Négrier
c633de5eed
Making HTTP and GRPC ports configurable in API server
2020-12-14 22:43:05 +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
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
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
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
Gregoire Parant
3a565362a2
Simple limit connexion in room
2020-10-21 23:45:08 +02:00