Scripts in module mode need to be abide by the Same Origin Policy (CORS headers are used to load them)
This can cause issues on some setups.
This commit adds a new "scriptDisableModuleSupport" that can be used to disable the "modules" mode.
Closes#1721
Due to the way we now handle the browser cache, previously ignored errors in the Cache API were now explicitly thrown, preventing the loading of Firefox in private mode.
This commit fixes the issue and improves the stacktrace display of errors at the same time.
The ts-proto lib has the huge advantage of producing code the "Typescript" way and not the "Java" way.
In particular, for "oneof" types in protobuf, it is generating "ADT" that can be used to check if we forgot or not to deal with a type.
If the game width reaches zero (e.g by resizing a cowebsite manually),
a division by zero happens when calculating the new zoom.
This results in NaN, which causes phaser to reach an invalid state when rezooming.
- Create modal to register when limit is past
- Create modal to share the link
- Use UrlManager to check if limit room is active
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* initiate following by reacting to the interact event
* subscribe to remote player and update positions in relation to them
instead of reacting to user input
* cancel following if the user moves actively again
A great deal of the complexity of the current code is that we must chain
2 reactive values (one in the map "GameScene.MapPlayersByKey" and one in
the snapshot store).
The new generic MapStore class can be used to listen to stores inside a map.
When the store inside the map, or the map itself is modified, the
resulting store is updated.
Maps in the GameScene can be modified by the scripting API.
If so, previously, the changes to the maps were persisted in the ITiledMap object in the GameScene because this was cached by the Phaser loader,
causing a series of problems, the most noticeable being that templating in the scripting API stopped working on a second visit of a page.
We are now deep-copying the map on load to avoid these nasty effects.
Closes https://github.com/workadventure/scripting-api-extra/issues/77
If a token decryption failed, it will emit a HTTP 500.
We should not retry Axios in this case but rather fail.
Note: a token decryption failed should not throw a HTTP 500 but another error code (HTTP 401?)
So maybe this fix is plainly wrong.
Now, if the first pusher request fails, a waiting message will be displayed and the application will reconnect when the pusher comes back alive or the network connection is established again.
This parameter is only used in the SAAS version (and ideally, should disappear completely).
The warning message that uses the ADMIN_URL should originate from the admin itself.
Before anonymous connexion, we must get the details of the map and permit to check mandatory connexion and redirect user to login page.
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* FIX: we now make sure to completly disable the old stream before attempting to create a new one
* FIX: disable audio optimization on chrome
* always reemit the stream on chrome
* Try fix on stop current stream
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Try fix on stop current stream
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Push fix microphone
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
Co-authored-by: Gregoire Parant <g.parant@thecodingmachine.com>
This allows using imports inside scripts imported by WorkAdventure out of the box (and therefore easily importing the scripting-api-extra without resorting to using a bundler)
If an exit zone is overlapping an audio zone, when exiting, the audio is stopped.
We do this by actually triggering the fact that a user should "leave" all active zones when exiting.
Because of the rework of the menu, the clickable zone for the menu was extending at the complete top of the screen, which caused interactive items at the top of the screen (like sound controls) to be broken.
This commit fixes this.
* audio player volume improvements
* Add workaround for #932
* Bump striptags from 3.1.1 to 3.2.0 in /messages
Bumps [striptags](https://github.com/ericnorris/striptags) from 3.1.1 to 3.2.0.
- [Release notes](https://github.com/ericnorris/striptags/releases)
- [Commits](https://github.com/ericnorris/striptags/compare/v3.1.1...v3.2.0)
---
updated-dependencies:
- dependency-name: striptags
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
* Add anthoer note for https://github.com/thecodingmachine/workadventure/issues/932#issuecomment-867562208
* WIP: svelte menu
* temp
* temp
* 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>
* New menu svelte
* Migration of report menu in svelte
* Migration of registerCustomMenu for Menu in Svelte
Refactor subMenuStore
Suppression of old MenuScene and ReportMenu
* Suppression of HTML files that aren't use anymore
* New version of cache management (#1365)
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* migrate to svelte
* remove redundancy
* initial localUserStore volume
* Exit scene acess denied detected (#1369)
* Add auth token user to get right in admin and check if user have right
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Update error show
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Update token generation (#1372)
- Permit only decode token to get map details,
- If user have token expired, set the token to null and reload the page. This feature will be updated when authentication stategy will be finished.
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* GameManager has an attribute scenePlugin
* GameManager has an attribute scenePlugin
* Suppression of gameManager in IframeListener
* fix deeployer
* fix deeployer
* Fixing enter/leave event not properly sent on adjacent zones
On adjacent zones, the zone leave event was not properly triggered when leaving a zone for the zone next to it.
Closes#1366
* First pass on css
* First pass on css
* Second pass on css and reportMenu
* Second pass on css and reportMenu
* Second pass on css and reportMenu
* Improving popup
If a popup message is empty, only the buttons will be displayed (not the container)
Unrelated: the Sound.play method in the API now accepts 0 arguments.
* Third pass on css and reportMenu
* Correction following test
* Player return a the same position when after editing his profile
* Player return a the same position when after editing his profile (same as reconnection)
* Contact page only if environment variable exist
* Execute scripts of the map after creating gameScene
* Rollback on createPromise switched to public
* Bump tar from 6.1.0 to 6.1.10 in /pusher
Bumps [tar](https://github.com/npm/node-tar) from 6.1.0 to 6.1.10.
- [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/v6.1.0...v6.1.10)
---
updated-dependencies:
- dependency-name: tar
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
* Add iframe submenu by scripting API
Delete menu by scripting API
* Removing ts-ignore
* REVIEW : Migration Menu and Report Menu in Svelte (#1363)
* WIP: svelte menu
* temp
* temp
* New menu svelte
* Migration of report menu in svelte
* Migration of registerCustomMenu for Menu in Svelte
Refactor subMenuStore
Suppression of old MenuScene and ReportMenu
* Suppression of HTML files that aren't use anymore
* fix deeployer
* First pass on css
* First pass on css
* Second pass on css and reportMenu
* Second pass on css and reportMenu
* Second pass on css and reportMenu
* Third pass on css and reportMenu
* Correction following test
* Contact page only if environment variable exist
* Update service worker
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Change requested
* Change requested
Co-authored-by: kharhamel <oognic@gmail.com>
Co-authored-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Refactor to only have one function registerMenuCommand
When selected custom menu is removed, go to settings menu
Allow iframe in custom menu to use Scripting API
Return menu object when it is registered, can call remove function on it
* Correct bad change
* Add types file in API
* Add types file in API
* Fixing "has/in" on variables proxy object
When using WA.state, using `"myVariable" in WA.state` would always return false.
This is now fixed by adding a "has" method on the Proxy class.
Also, added a `WA.state.hasVariable` method.
* Add documentation
delete unused test map
* Properties changed via the Iframe API now trigger changes directly
Changes performed in WA.room.setPropertyLayer now have a real-time impact.
If the property is changed on a layer the current player is on, the changes will be triggered.
* documentation and CHANGELOG
* add possibility to set size of coWebsite and Jitsis via map property
* Update GameScene.ts
typo fixed
* Update CoWebsiteManager.ts
typos and style
* Update CoWebsiteManager.ts
yet another typo
* FIX: media tracks were not readded to a 3rd person in some situations
* fix ReportMenu (#1397)
* remove the package systeminformation from back
* Bump url-parse from 1.5.1 to 1.5.3 in /front
Bumps [url-parse](https://github.com/unshiftio/url-parse) from 1.5.1 to 1.5.3.
- [Release notes](https://github.com/unshiftio/url-parse/releases)
- [Commits](https://github.com/unshiftio/url-parse/compare/1.5.1...1.5.3)
---
updated-dependencies:
- dependency-name: url-parse
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
* 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>
* Bump path-parse from 1.0.6 to 1.0.7 in /messages
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>
* openTabPropertyKey (create new props in own file)
* Bump path-parse from 1.0.6 to 1.0.7 in /uploader
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>
* Bump path-parse from 1.0.6 to 1.0.7 in /front
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>
* 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>
* Bump path-parse from 1.0.6 to 1.0.7 in /maps
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>
* FEATURE: improved the mediaStore code to disable tracks instead of deleting them
* Bump path-parse from 1.0.6 to 1.0.7 in /benchmark
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>
* added jitsiTypes
* renamed
* 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.
* FIX: fixed a circular dependancy in stores by rewriting createPeerStore() and createScreenSharingPeerStore()
* WIP: Bypass camera scene (#1337)
* Set new local camera setup variable
* Finish by pass video settings
- TODO add button to update camera settings
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Merge branch 'develop' into jumpVideoCamera
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
# Conflicts:
# front/src/Connexion/LocalUserStore.ts
# front/src/Phaser/Components/Loader.ts
# front/src/Phaser/Game/GameManager.ts
# front/src/Phaser/Login/EnableCameraScene.ts
* Add menu to open enable camera scene
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Finish jump camera setup
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Active authentication Oauth (#1377)
* Active authentication Oauth
- Google authentication
- GitHub authentication
- Linkedin authentication
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Finish connexion et get user info connexion
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Fix lint error
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Change the expires token for 30 days
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Update connexion stratgey
- Set last room when it will be created and not when connexion is openned
- Add '/login' end point permit to logout and open iframe to log user
- Add logout feature permit to logout in front
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Implement logout and revoke token with hydra
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Fix pull develop conflict
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Profile url (#1399)
* Create function that permit to get profile URL
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Continue profil user
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Add menu and logout button
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Update last room use
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Profile callback permit to get url profile setting from admin
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Finish profile show
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Delete profileUrl will be not use today
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Correct lint
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Update size of iframe
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Delete console log
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Update feedback ARP
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Emote silent zone (#1342)
* Add an emote when the user is in silent zone
* Update silent icon strategy
* Update strategy for silent zone
- Add svelte store
- Show silent zone indication and replace camera
This update permit to hide silent zone when user is in Jitsi discussion
* Fix css silent zone
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Hotfix media constraint error
- Create error to manage displayed warning when we try to access on media with no constraint video and audio
- Fix disabled microphone if we try to active and we don't have right or there is an error.
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
Co-authored-by: Lurkars <git@8lh.de>
Co-authored-by: Guy Sheffer <guysoft@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: kharhamel <oognic@gmail.com>
Co-authored-by: GRL <g.lesniewski@thecodingmachine.com>
Co-authored-by: David Négrier <d.negrier@thecodingmachine.com>
Co-authored-by: GRL78 <80678534+GRL78@users.noreply.github.com>
Co-authored-by: ¯\_(ツ)_/¯ <tabascoeye@gmail.com>
Co-authored-by: Kharhamel <Kharhamel@users.noreply.github.com>
Co-authored-by: jonny <ga86lad@mytum.de>
- Create error to manage displayed warning when we try to access on media with no constraint video and audio
- Fix disabled microphone if we try to active and we don't have right or there is an error.
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Add an emote when the user is in silent zone
* Update silent icon strategy
* Update strategy for silent zone
- Add svelte store
- Show silent zone indication and replace camera
This update permit to hide silent zone when user is in Jitsi discussion
* Fix css silent zone
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Active authentication Oauth
- Google authentication
- GitHub authentication
- Linkedin authentication
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Finish connexion et get user info connexion
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Fix lint error
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Change the expires token for 30 days
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Update connexion stratgey
- Set last room when it will be created and not when connexion is openned
- Add '/login' end point permit to logout and open iframe to log user
- Add logout feature permit to logout in front
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Implement logout and revoke token with hydra
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Fix pull develop conflict
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Profile url (#1399)
* Create function that permit to get profile URL
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Continue profil user
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Add menu and logout button
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Update last room use
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Profile callback permit to get url profile setting from admin
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Finish profile show
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Delete profileUrl will be not use today
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Correct lint
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Update size of iframe
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Delete console log
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Update feedback ARP
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Set new local camera setup variable
* Finish by pass video settings
- TODO add button to update camera settings
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Merge branch 'develop' into jumpVideoCamera
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
# Conflicts:
# front/src/Connexion/LocalUserStore.ts
# front/src/Phaser/Components/Loader.ts
# front/src/Phaser/Game/GameManager.ts
# front/src/Phaser/Login/EnableCameraScene.ts
* Add menu to open enable camera scene
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Finish jump camera setup
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
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.
Changes performed in WA.room.setPropertyLayer now have a real-time impact.
If the property is changed on a layer the current player is on, the changes will be triggered.
When using WA.state, using `"myVariable" in WA.state` would always return false.
This is now fixed by adding a "has" method on the Proxy class.
Also, added a `WA.state.hasVariable` method.
When selected custom menu is removed, go to settings menu
Allow iframe in custom menu to use Scripting API
Return menu object when it is registered, can call remove function on it
* WIP: svelte menu
* temp
* temp
* New menu svelte
* Migration of report menu in svelte
* Migration of registerCustomMenu for Menu in Svelte
Refactor subMenuStore
Suppression of old MenuScene and ReportMenu
* Suppression of HTML files that aren't use anymore
* fix deeployer
* First pass on css
* First pass on css
* Second pass on css and reportMenu
* Second pass on css and reportMenu
* Second pass on css and reportMenu
* Third pass on css and reportMenu
* Correction following test
* Contact page only if environment variable exist
* Update service worker
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Change requested
* Change requested
Co-authored-by: kharhamel <oognic@gmail.com>
Co-authored-by: Gregoire Parant <g.parant@thecodingmachine.com>
Update escapeHtml in HtmlUtils class to create paragraphe when user have \r\n in popup text
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
Change strategy of cache management. Today we don't have version of map building so we cannot use cache correctly. The idea is to have a less cache and keep HTPP cache management with GET method.
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
If a popup message is empty, only the buttons will be displayed (not the container)
Unrelated: the Sound.play method in the API now accepts 0 arguments.
* New version of cache management (#1365)
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Exit scene acess denied detected (#1369)
* Add auth token user to get right in admin and check if user have right
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Update error show
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Update token generation (#1372)
- Permit only decode token to get map details,
- If user have token expired, set the token to null and reload the page. This feature will be updated when authentication stategy will be finished.
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
- Permit only decode token to get map details,
- If user have token expired, set the token to null and reload the page. This feature will be updated when authentication stategy will be finished.
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Add auth token user to get right in admin and check if user have right
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Update error show
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Improve service worker
- Add new env variable in WebPack "NODE_ENV"
- Add new service worker for mode dev that permit to by pass response in cache storage
- Add new WorkAdventure icon
* Remove console.log
* Add service worker file prod and dev
This PR adds the ability to inject a website INSIDE a map (as an iframe inside a Phaser HTML object)
The iFrame will be rendered transparently, unless you set a background-color on the body, which opens a number of cool possibilities.
Needs to be done: allowing the iframe API in those iframes.
Generally speaking, I like to call the message at the bottom an "action message".
And things can "trigger" it, but in the case of a method that actually proactively displays the message, I find "displayActionMessage" to be a better name.
Also, removing package-lock files and improving code style
commit 41748a4036
Merge: 3b1d4d634991a70b
Author: grégoire parant <g.parant@thecodingmachine.com>
Date: Mon Aug 2 21:38:37 2021 +0200
Merge pull request #1327 from thecodingmachine/hotFixErrorCardBack
Fix error generated
commit 4991a70bba
Author: Gregoire Parant <g.parant@thecodingmachine.com>
Date: Mon Aug 2 21:34:03 2021 +0200
Fix error generated
Don't generate error if file is Invalid
commit 3b1d4d630c
Merge: f52b459802e5860e
Author: grégoire parant <g.parant@thecodingmachine.com>
Date: Mon Aug 2 21:03:18 2021 +0200
Merge pull request #1326 from thecodingmachine/HotFixCreateMapFeature
Hot fix create map feature
commit 02e5860e43
Author: Gregoire Parant <g.parant@thecodingmachine.com>
Date: Mon Aug 2 20:59:13 2021 +0200
HotFix redirect on production domain of WorkAdventure
- Update domain `ADMIN_URL` by `workadventu.re`
commit f52b459872
Merge: 3d657b4a3ab069d6
Author: grégoire parant <g.parant@thecodingmachine.com>
Date: Mon Aug 2 11:23:16 2021 +0200
Merge pull request #1324 from thecodingmachine/develop
Release v1.4.11
commit 3ab069d650
Merge: 2b7481389d4ffe54
Author: Kharhamel <Kharhamel@users.noreply.github.com>
Date: Fri Jul 30 15:51:07 2021 +0200
Merge pull request #1323 from thecodingmachine/openIDPoc
FIX: bomp the node version of pusher
commit 9d4ffe542c
Author: kharhamel <oognic@gmail.com>
Date: Fri Jul 30 15:50:30 2021 +0200
FIX: bomp the node version of pusher
commit 2b7481383f
Merge: 74975ac99c803a69
Author: Kharhamel <Kharhamel@users.noreply.github.com>
Date: Fri Jul 30 15:48:56 2021 +0200
Merge pull request #1251 from thecodingmachine/openIDPoc
POC for the openID connect
commit 9c803a69ff
Author: kharhamel <oognic@gmail.com>
Date: Tue Jul 27 16:37:01 2021 +0200
FEATURE: users can now login via an openID client
commit 74975ac9d8
Merge: 315fe7caebdcf880
Author: Kharhamel <Kharhamel@users.noreply.github.com>
Date: Fri Jul 30 14:54:33 2021 +0200
Merge pull request #1322 from thecodingmachine/improveCapacityWarning
FEATURE: improved the room capacity warning visuals
commit ebdcf8804d
Author: kharhamel <oognic@gmail.com>
Date: Fri Jul 30 14:08:27 2021 +0200
added admin link to the warning container
commit 41ac51f291
Author: kharhamel <oognic@gmail.com>
Date: Thu Jul 29 18:02:36 2021 +0200
FEATURE: improved the room capacity warning visuals
commit 315fe7ca82
Author: David Négrier <d.negrier@thecodingmachine.com>
Date: Thu Jul 29 17:49:51 2021 +0200
Adding a "font-family" property for text objects. (#1311)
- Tiled displays your system fonts.
- Computers have different sets of fonts. Therefore, browsers never rely on system fonts
- Which means if you select a font in Tiled, it is quite unlikely it will render properly in WorkAdventure
To circumvent this problem, in your text object in Tiled, you can now add an additional property: `font-family`.
The `font-family` property can contain any "web-font" that can be loaded by your browser.
This allows us to use the "Press Start 2P" 8px font in text objects, which renders way better than the default "Sans serif" font of your browser.
commit 7ffe564e8e
Author: GRL78 <80678534+GRL78@users.noreply.github.com>
Date: Thu Jul 29 17:42:16 2021 +0200
Graphic upgrade of the global message console (#1287)
* Graphic upgrade of the global message console
Fix: error if LoginScene doesn't exist
* Rework graphic of global message console
* Rework graphic of global message console
* Remove console.log
commit 2a1af2a131
Author: grégoire parant <g.parant@thecodingmachine.com>
Date: Thu Jul 29 16:42:31 2021 +0200
PWA service workers (#1319)
* PWA services worker
- [x] Register service worker of PWA to install WorkAdventure application on desktop and mobile
- [x] Create webpage specifique for PWA
- [ ] Add register service to save and redirect on a card
- [ ] Add possibilities to install PWA for one World (with register token if existing)
* Finish PWA strategy to load last map visited
* Fix feedback @Kharhamel
* Fix feedback @Kharhamel
- Tiled displays your system fonts.
- Computers have different sets of fonts. Therefore, browsers never rely on system fonts
- Which means if you select a font in Tiled, it is quite unlikely it will render properly in WorkAdventure
To circumvent this problem, in your text object in Tiled, you can now add an additional property: `font-family`.
The `font-family` property can contain any "web-font" that can be loaded by your browser.
This allows us to use the "Press Start 2P" 8px font in text objects, which renders way better than the default "Sans serif" font of your browser.
* Graphic upgrade of the global message console
Fix: error if LoginScene doesn't exist
* Rework graphic of global message console
* Rework graphic of global message console
* Remove console.log
* PWA services worker
- [x] Register service worker of PWA to install WorkAdventure application on desktop and mobile
- [x] Create webpage specifique for PWA
- [ ] Add register service to save and redirect on a card
- [ ] Add possibilities to install PWA for one World (with register token if existing)
* Finish PWA strategy to load last map visited
* Fix feedback @Kharhamel
* Fix feedback @Kharhamel
* Link will now be white and underline
Click on the game to lose focus of input field
* Use bind:this instead of querySelector
Add isClickedInside and isClickedOutside to HtmlUtils to know if the user click inside/outside an element targeted
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.
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).
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.
So far, the scripting API was using events to communicate between WA and the iFrame.
But often, the scripting API might actually want to "ask" WA a question and wait for an answer.
We dealt with this by using 2 unrelated events (in a mostly painful way).
This commit adds a "queryWorkadventure" utility function in the iFrame API that allows us
to send a query, and to wait for an answer. The query and answer events have a unique ID to be
sure the answer matches the correct query.
On the WA side, a new `IframeListener.registerAnswerer` method can be used to register a possible answer.