Commit Graph

487 Commits

Author SHA1 Message Date
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
David Négrier
b201165b81 Upgrading @workadventure/tiled-map-type-guard to 1.0.3
This will fix the issue with maps containing group layers.
2021-10-18 14:11:24 +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
dependabot[bot]
16d45c921f
Bump axios from 0.21.1 to 0.21.2 in /back
Bumps [axios](https://github.com/axios/axios) from 0.21.1 to 0.21.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.21.1...v0.21.2)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-20 12:34:04 +00: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
dependabot[bot]
1b5042ef6a
Bump path-parse from 1.0.6 to 1.0.7 in /back
Bumps [path-parse](https://github.com/jbgutierrez/path-parse) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/jbgutierrez/path-parse/releases)
- [Commits](https://github.com/jbgutierrez/path-parse/commits/v1.0.7)

---
updated-dependencies:
- dependency-name: path-parse
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-01 13:10:28 +00:00
Kharhamel
c0547637b5
Merge pull request #1404 from thecodingmachine/dependabot/npm_and_yarn/back/tar-4.4.19
Bump tar from 4.4.15 to 4.4.19 in /back
2021-09-01 14:33:57 +02:00
dependabot[bot]
df0546a2f3
Bump tar from 4.4.15 to 4.4.19 in /back
Bumps [tar](https://github.com/npm/node-tar) from 4.4.15 to 4.4.19.
- [Release notes](https://github.com/npm/node-tar/releases)
- [Changelog](https://github.com/npm/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-tar/compare/v4.4.15...v4.4.19)

---
updated-dependencies:
- dependency-name: tar
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-01 12:28:03 +00:00
kharhamel
bc9131119f remove the package systeminformation from back 2021-09-01 14:21:26 +02:00
David Négrier
428fbaae02
Merge pull request #1338 from thecodingmachine/dependabot/npm_and_yarn/back/tar-4.4.15
Bump tar from 4.4.13 to 4.4.15 in /back
2021-08-24 11:58:54 +02:00
dependabot[bot]
2e3489a489
Bump tar from 4.4.13 to 4.4.15 in /back
Bumps [tar](https://github.com/npm/node-tar) from 4.4.13 to 4.4.15.
- [Release notes](https://github.com/npm/node-tar/releases)
- [Changelog](https://github.com/npm/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-tar/compare/v4.4.13...v4.4.15)

---
updated-dependencies:
- dependency-name: tar
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-05 03:09:10 +00: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
ddabda1c4b Adding error case in test 2021-07-21 18:49:25 +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
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