Commit Graph

1232 Commits

Author SHA1 Message Date
Thomas Basler 0249cc599f Fixed location of copyright button 2021-05-28 00:06:36 +02:00
TabascoEye 8b0080bb21 make linter happy 2021-05-27 22:34:19 +02:00
¯\_(ツ)_/¯ 6739d68a96 modify testcases for nicknames to reflect new freedom 2021-05-27 22:34:04 +02:00
¯\_(ツ)_/¯ b27922a15f allow special chars in nicks again, make nicklength customizable 2021-05-27 22:33:44 +02:00
PizZaKatZe 9d66085623 Front federation (API and Jitsi) 2021-05-27 22:27:29 +02:00
¯\_(ツ)_/¯ d8d11cb008 Minor style changes 2021-05-27 22:14:44 +02:00
PizZaKatZe eb829bce58 Increase action button font size 2021-05-27 22:14:24 +02:00
PizZaKatZe 1b7de47e1b Remove 'Create map' menu entry 2021-05-27 22:14:08 +02:00
PizZaKatZe 0cedd117cd Revert "Social network link anonymous connexion"
This reverts commit 59b4b168e9.
2021-05-27 22:13:30 +02:00
PizZaKatZe f4acc29670 Load quill.js CSS locally 2021-05-27 22:13:10 +02:00
¯\_(ツ)_/¯ 1c0d30e5a2 Add copyright info button from #rc3
original code by rob@os23.de
2021-05-27 22:12:22 +02:00
Pierre Mauduit dbef5de7bb Adding a ingame console message
Roughly inspired from the code used to notify the user when a website
can be opened.

Note: The CSS style used for the message could probably go somewhere
else, but I thought it could be interesting to be able to override it.
2021-05-27 22:03:56 +02:00
TabascoEye e3af68bed3 Disable automatic gain control on microphone
AGC really makes the soundqulity way worse than it could be.
Especially since it is so noticeable when entering a Jitsi where AGC is disabled (and suddenly some people sound much better).

In the long run, this should probably be configurable. On the other hand the setting changes the audio _going out_ from a user, so it might be hard for him to judge which settings are a good or a bad idea…
2021-05-27 21:56:42 +02:00
Piotr Dobrowolski 3840baa4fc Cleanup Dockerfiles, fix front Docker image build 2021-05-27 21:54:41 +02:00
PizZaKatZe 9c8393c102 Bump Phaser version 2021-05-27 21:52:00 +02:00
Lukas von Blarer 353522e3cc Add support for HLS video streams while still supporting other formats 2021-05-27 21:47:29 +02:00
Lukas von Blarer 429a17b89b First working version of video embed 2021-05-27 21:44:58 +02:00
Johannes Berthel ea9c9ff2c3 use negative radius 2021-05-27 21:44:24 +02:00
Johannes Berthel 5ae8bfe06b fixed linting 2021-05-27 21:44:10 +02:00
Johannes Berthel a0f1f0c04b added comment for new phaser version compatibility 2021-05-27 21:43:55 +02:00
Johannes Berthel 243d4d6565 fixed hitbox calculation 2021-05-27 21:43:37 +02:00
Johannes Berthel 7fef260b38 fixed function comment 2021-05-27 21:43:20 +02:00
Johannes Berthel 359d349ba7 refactored code 2021-05-27 21:42:59 +02:00
Johannes Berthel 09ceb016b7 refactored code 2021-05-27 21:42:40 +02:00
Johannes Berthel 70d2223e00 refactored code 2021-05-27 21:42:17 +02:00
Johannes Berthel 4f3e0f9921 fixed depth for interactive layers 2021-05-27 21:40:30 +02:00
Johannes Berthel 1f7a3880bf made interaction work with remote players 2021-05-27 21:37:51 +02:00
Johannes Berthel 2273a84d0e added reverse animation 2021-05-27 21:36:54 +02:00
Johannes Berthel 3e20fb89ca added interaction radius 2021-05-27 21:36:14 +02:00
Johannes Berthel 66c20687c3 added basic interactive layer functionality 2021-05-27 21:34:32 +02:00
Lurkars 5946e75db0 add trigger action after closing co-website or jitsi 2021-05-27 21:07:43 +02:00
TabascoEye fa813884c0 fix bug: SPACE also mutes/unmutes audio because of keyboard focus 2021-05-27 21:06:33 +02:00
Lurkars b586ef79ad audio player volume improvements 2021-05-27 21:02:58 +02:00
Thomas Basler a1fd55444a Merge remote-tracking branch 'upstream/develop' into develop 2021-05-26 22:22:53 +02:00
David Négrier 870f16f9c6 Merge branch 'develop' of github.com:thecodingmachine/workadventure into SoundInMapScript 2021-05-26 16:15:33 +02:00
David Négrier 54e300443b Fixing Typing 2021-05-26 16:11:22 +02:00
David Négrier fac6574cb5 Removing console.log and unused files 2021-05-26 16:08:43 +02:00
David Négrier 6d15921674 Fixing screen-sharing button not hidden anymore when hovering button 2021-05-26 12:30:56 +02:00
David Négrier 4f1cab5afe Fixing comments 2021-05-26 12:19:58 +02:00
David Négrier 4c4f310b79 The share screen button is now displayed only when screen sharing makes sense.
Also, fixed the button not aligned bug
2021-05-26 12:12:47 +02:00
David Négrier dd428bc1e1 Migrating screen sharing to using a store 2021-05-26 12:12:47 +02:00
David Négrier d32df13f1b Camera now show up when someone is moving and hides 5 seconds after we stop moving.
Also, added an animation to show/hide the webcam.
2021-05-26 12:12:46 +02:00
David Négrier 8af8ccd54b Migrating MediaManager game part to Svelte store 2021-05-26 12:12:18 +02:00
David Négrier 28d78a7988 Switching MediaManager to using a Svelte store
This allows cleaner and more expressive code, especially regarding whether the webcam should be on or off.
2021-05-26 12:11:16 +02:00
David Négrier 4f4d2532b7
Merge pull request #1082 from thecodingmachine/disabling_physics_optim
Moving Physics optim to DirtyScene
2021-05-26 12:08:57 +02:00
David Négrier bc19cbd525 Moving Physics optim to DirtyScene
The Physics engine is now disabled only if no sprites are moving (if they have no velocity).
Also, if a sprite is moving (if it has a velocity), the dirty state is set.
2021-05-26 12:00:27 +02:00
kharhamel 595c5ca64d now use custom emotes with tweens instead of transistions 2021-05-25 16:37:24 +02:00
DESKTOP-FMM8UI0\CLV 0c3b9ccfbf Merge branch 'develop' of https://github.com/thecodingmachine/workadventure into SoundInMapScript
# Conflicts:
#	front/src/Api/IframeListener.ts
#	front/src/Phaser/Game/GameScene.ts
#	front/src/iframe_api.ts
#	maps/Tuto/scriptTuto.js
#	maps/Village/Village.json
2021-05-21 17:45:26 +02:00
kharhamel d93b30f982 improved radial menu 2021-05-19 18:11:51 +02:00
kharhamel 35b37a6a88 Added a radial menu to run emotes 2021-05-19 15:17:50 +02:00
kharhamel a1d52b4265 FEATURE: added the possibility toplay emotes 2021-05-19 15:17:03 +02:00
kharhamel 20ec609535 FIX: rejected map axios promises are now catched 2021-05-18 11:45:07 +02:00
David Négrier 2ea731beeb
Merge pull request #1057 from thecodingmachine/physics_flag
Making sure Physics is not enabled several times
2021-05-18 10:26:32 +02:00
David Négrier c9eb5691b5
Merge pull request #1045 from thecodingmachine/svelte
Installing Svelte in front container
2021-05-18 10:25:54 +02:00
David Négrier 6128f1e431 Making sure Physics is not enabled several times
As part of an energy saving measure, we started disabling physics when the character is not moving and enabling physics again only when the character moves.
However, we enabled Physics on each frame the characeter was moving.
As a result, the Physics system would run several times, slowly slowing the computer down.

This fixes this issue by adding a flag to only enable Physics once.
2021-05-18 09:42:01 +02:00
David Négrier 24dfa2703d Set a global dirty flag on resize
This adds a global "Dirty" flag at the Game level and sets it each time the ScaleManager is modified.
This fixes a bug where the game was not redrawn when a CoWebsite was opening/closing.
2021-05-18 09:20:38 +02:00
David Négrier 54e9e5656b Commenting menu display (for now) 2021-05-17 16:50:35 +02:00
David Négrier 00dd5a8c84 Fixing Yarn 2021-05-17 16:45:52 +02:00
David Négrier 7cc1e5b2c6 Moving styles out of the "dist/" directory 2021-05-17 16:41:40 +02:00
David Négrier 79935593e2 Adding fork-ts-checker-webpack-plugin
This allows offloading type checking to another process and saves ~1-2 seconds for each build.
Also, we can integrate ESLint into the build pipeline and this is dope!
2021-05-17 16:41:38 +02:00
David Négrier 6e7f8507b1 Removing custom stats 2021-05-17 16:41:10 +02:00
David Négrier 849e68ece2 Optimizing build time + inline small files into CSS 2021-05-17 16:41:10 +02:00
David Négrier db40681be7 Code cleanup 2021-05-17 16:41:10 +02:00
David Négrier 9c4c6f2d53 Fixing Jasmine tests 2021-05-17 16:41:10 +02:00
David Négrier 5cb58d98a0 Adding correct SCSS file integration with Svelte 2021-05-17 16:41:09 +02:00
David Négrier 1885ea42a4 First working example with Svelte (the menu icon shows up on entering the game) 2021-05-17 16:39:56 +02:00
David Négrier 62cc1f73ca Tryig to fix webpack for Svelte 2021-05-17 16:39:56 +02:00
David Négrier 9bc79c3ed3 Adding Svelte to the project 2021-05-17 16:39:55 +02:00
kharhamel f2dca82642 FIX: webpack config NodePolyfillPlugin 2021-05-17 16:30:19 +02:00
kharhamel a66d42e158 FEATURE: we now allow a global zoom level of 1.5 2021-05-17 16:11:38 +02:00
kharhamel a23e72454d FEATURE: added the env variable DISABLE_DIRTY_CHECKS 2021-05-17 14:47:34 +02:00
kharhamel 1466d7481c FIX: fixed an error in webpack config 2021-05-17 12:20:07 +02:00
David Négrier fe573893a1
Merge pull request #1039 from thecodingmachine/importsNotUsedAsValues
Setting "importsNotUsedAsValues": "error"
2021-05-13 19:43:34 +02:00
David Négrier 4fcbc146ca Switching the Webpack configuration file to Typescript
This switches the Webpack config file from JS to Typescript.
2021-05-12 13:38:32 +02:00
David Négrier 06058cfc24 Upgrading Typescript target from ES2015 to ES2017. 2021-05-12 11:45:01 +02:00
David Négrier 664a5b6b91 Upgrading ESLint (and ignoring a bunch of interesting rules) 2021-05-12 11:44:41 +02:00
David Négrier f57c01dee8 Refactoring Webpack files to remove prod file. The prod file is now inferred from the NODE_ENV variable. 2021-05-12 11:28:21 +02:00
David Négrier 8c1e01566a Upgrading all dependencies in front
Upgrading to Webpack 5, Typescript 4, ...
2021-05-12 10:35:14 +02:00
David Négrier 4d4f845b9e Setting "importsNotUsedAsValues": "error"
Turning the "importsNotUsedAsValues" TS config value to "error".
This will require us to use `import type` instead of `import` when we are importing a value that is only used as a type (and therefore that is dropped by the Typescript compiler).

Why this change?
This is a requirement to be able to use Svelte in the future. See https://github.com/sveltejs/svelte-preprocess/issues/206#issuecomment-663193798
2021-05-12 09:13:25 +02:00
TabascoEye 2d8997c6d7 turning noise suppresion back on
turning AGC off was a good idea, disabling noise suppresion with it was not.
=> should all end up in the "settings" menu in the end
2021-05-11 18:14:42 +02:00
TabascoEye 627db30410
turning noise suppresion back on
turning AGC off was a good idea, disabling noise suppresion with it was not.
=> should all end up in the "settings" menu in the end
2021-05-11 17:38:28 +02:00
David Négrier d2b122efe5
Merge pull request #1035 from thecodingmachine/improveDirtyScene
FIX: trackDirtyAnims now listen to more generic events
2021-05-11 17:08:29 +02:00
kharhamel 4ec5ad9e33 FIX: trackDirtyAnims now listen to more generic events 2021-05-11 16:44:31 +02:00
David Négrier 0c279750be Merge branch 'master' of github.com:thecodingmachine/workadventure into develop
# Conflicts:
#	front/src/Phaser/Game/GameScene.ts
2021-05-11 16:43:34 +02:00
David Négrier ad39b43df3 Closing game webcame in Jitsi
When stepping in Jitsi, the game webcam (from mediaManager) was not shut down.
And when enabling/disabling the webcam in Jitsi, the webcam in mediaManager was also
enabled/disabled. This PR fixes those issues.

It also fixes a race condition when closing a Jitsi where the mic/cam would be enabled at the same time.
2021-05-11 14:52:51 +02:00
Kharhamel 78d4985d10
Merge pull request #1028 from thecodingmachine/fixOnMapExit
FIX: triggering a map transition now ignores other map transitions for 500ms
2021-05-11 14:21:06 +02:00
kharhamel f044b3d249 FIX: triggering a map transition now ignores other map transitions for 500ms 2021-05-11 11:05:05 +02:00
David Négrier 23bf78a026 Refactoring code to use the "visibilitychange" event
Using the "visiblitychange" event instead of relying on a "trick" related to RAF being disabled when a window is not open allows us to have cleaner code.
Bonus: the recursive call to "setTimeout" is gone, so the stacktrace growing indefinitely is gone too.
This should make the application a bit more stable.
2021-05-11 10:56:50 +02:00
Gregoire Parant e50aad0ea0 Add WA logo 2021-05-11 10:13:50 +02:00
Gregoire Parant 52b1c6733b Notification & Camera
- Notification when user is first and not focus on the tab
- Camera focus when user is in discussion circle and back on tab with previous config camera settings
- Camera stay blur if user is in discussion circle and not back on the tab

# Conflicts:
#	front/src/WebRtc/MediaManager.ts
2021-05-11 10:13:38 +02:00
grégoire parant 0fd743bcac
HotFix sound meter (#1029) 2021-05-10 20:49:17 +02:00
grégoire parant bd4cf5d7f7
Fix error context sound meter (#1009) 2021-05-10 19:55:43 +02:00
David Négrier 0411d5e493 Fixing "camera popup" always display on resize
This fixes a bug where the "camera popup" window was always displayed when the screen was resized.
2021-05-10 19:05:01 +02:00
David Négrier c025d1798b Renaming restorePlayerControls/disablePlayerControls
Putting "controls" in the plural form:

- restorePlayerControl => restorePlayerControls
- disablePlayerControl => disablePlayerControls
2021-05-10 12:18:06 +02:00
jonny 91148035ec polyfill generic message event 2021-05-09 21:46:40 +02:00
jonny cf06f29ef8 fixed cherry pick conflicts 2021-05-09 21:38:11 +02:00
jonny 8da5bf9f8e typed iframe api events
# Conflicts:
#	front/src/Api/IframeListener.ts
#	front/src/iframe_api.ts
2021-05-09 21:36:48 +02:00
DESKTOP-FMM8UI0\CLV e655edd9bd export class Popup and Soud of Iframe Api
let become const in SoundManager
2021-05-07 17:03:07 +02:00
David Négrier 5605e63e5f
Merge pull request #998 from thecodingmachine/skiprender2
Skip "render" if nothing changed on screen (2)
2021-05-07 15:44:08 +02:00
Gregoire Parant 62a6eabc88 Merge branch 'master' into develop 2021-05-07 00:07:43 +02:00
grégoire parant 0e32238505
HotFix custom WOKA (#999) 2021-05-06 19:58:08 +02:00
David Négrier 6b4d064f19 Merge branch 'develop' of github.com:thecodingmachine/workadventure into skiprender2
# Conflicts:
#	front/src/Phaser/Game/GameScene.ts
#	front/src/index.ts
2021-05-06 16:25:13 +02:00
David Négrier 189dba2e21 Fixing memory leak when switching scenes 2021-05-06 15:38:24 +02:00
David Négrier 3b5f105daf Setting the dirty state automatically when there is an animation frame 2021-05-06 15:38:22 +02:00
David Négrier 6d3cbc573c Instruct systems with 2 GPUs to use the low power GPU (to save battery) 2021-05-06 15:36:49 +02:00
David Négrier 0c5e5ef578 Skip "render" if nothing changed on screen
For each requested animation frame (RAF) in Phaser, Phaser calls the "update" method, then the "render" method of each scenes.
The "render" method takes some time (and energy) to perform the rendering.

The fact is we probably don't need to call "render" if nothing changed on the screen (which happens most of the frames in a typical WorkAdventure game).

This commit is therefore overloading the "Game" class of Phaser to add a "dirty" flag.

Scenes can now add a "isDirty()" method. If all displayed scenes are pristine (not dirty), Phaser will skip rendering the frame altogether.

This saves "a lot" of energy, resulting in laptops that are not overheating when using WorkAdventure \o/
2021-05-06 15:36:45 +02:00
David Négrier 271300aa8d
Merge pull request #982 from jonnytest1/baseUrlFix
fixed url cannot be relative
2021-05-06 15:09:13 +02:00
jonny a24ca078e6 use iframe url if no script
# Conflicts:
#	front/src/Api/IframeListener.ts
2021-05-05 19:15:32 +02:00
David Négrier fea1de36a4
Merge pull request #974 from tabascoeye/patch-1
allow numbers in nickname again
2021-05-05 18:44:01 +02:00
David Négrier 3751b0e2bc Removing RESOLUTION and ZOOM_LEVEL settings: they are no more needed or supported 2021-05-05 17:11:03 +02:00
David Négrier 7ae66a63a4 Refactoring centering of DOM elements 2021-05-05 17:10:39 +02:00
David Négrier 04448c3c50 Fixing button position in webcam setting page 2021-05-05 15:46:02 +02:00
David Négrier cd2873e9d3 Fixing CI 2021-05-05 13:14:00 +02:00
David Négrier bede7abdd8 Removing mousewheel to up down plugin 2021-05-05 12:15:13 +02:00
David Négrier 10bd073b7d Fixing center computation of popup 2021-05-05 12:12:56 +02:00
David Négrier 7d2cc66f11 Fixing pointer-events interaction preventing virtual joystick from working 2021-05-05 11:56:24 +02:00
David Négrier 82073098e0 Merge branch 'develop' of github.com:thecodingmachine/workadventure into resolution 2021-05-05 11:01:11 +02:00
David Négrier a6ad1674e3 Fixing broken resize 2021-05-05 09:51:04 +02:00
David Négrier f66e69cb75 Improving pinch (virtual joystick stops when pinch begins) 2021-05-05 09:35:24 +02:00
grégoire parant 71eb3f3b69
Improvement feature circle discussion (#977)
* Improvment circle discussion
 - Change to lissen start event of WebRTC connection

* Update help allow navigator and waring message
 - Show warning message.
 - Use help camera allow setting to show modal and help user.
 - Change feature to show the modal only when user have need the information on allow navigator access

* Create soud for video discussion
2021-05-05 01:49:04 +02:00
Gregoire Parant 83159a121f Revert logo loading and fix it 2021-05-04 15:47:45 +02:00
Gregoire Parant c8692a08ce Revert "Fix loader logo WA (#991)"
This reverts commit fa3ffe4d7a.
2021-05-04 15:15:23 +02:00
grégoire parant fa3ffe4d7a
Fix loader logo WA (#991) 2021-05-04 14:28:30 +02:00
David Négrier 59b391e983 Prevent WA scale manager from zooming too much 2021-05-04 14:08:40 +02:00
David Négrier 613ff5d463 Adding zoom out limit 2021-05-04 12:09:00 +02:00
David Négrier 04d3cf8593 Adding HdpiManager to start and scale from a default resolution that is correct by default for the game.
Fixing VirtualJoystick on resize.
2021-05-04 11:35:33 +02:00
jonnytest1 5069099000
fixed typing in chat still causes character to move (#965) 2021-05-03 20:26:42 +02:00
jonnytest1 0a5dffd034
Update ScriptUtils.ts 2021-05-03 16:11:16 +02:00
jonny d674ac9e0c fixed url cannot be relative 2021-05-01 17:43:31 +02:00
TabascoEye 7592a71bd5
remove test case with numbers being invalid in nickname 2021-04-30 10:58:01 +02:00
TabascoEye 2b2c60cbe3
allow numbers in nickname again
closes #972
2021-04-30 10:51:23 +02:00
grégoire parant 925545d74f
Add error message (#970)
- Error link not found
 - Error user was banned
 - Error access dinied on the world
2021-04-29 23:47:30 +02:00
kharhamel fe27169745 solved conflict with develop 2021-04-29 10:31:16 +02:00
Kharhamel 398326b3aa
Merge pull request #959 from thecodingmachine/dependabot/npm_and_yarn/front/ssri-6.0.2
Bump ssri from 6.0.1 to 6.0.2 in /front
2021-04-29 10:18:33 +02:00
grégoire parant 19ae575b4f
HotFix style help modal (#960) 2021-04-29 01:49:09 +02:00
dependabot[bot] 1e42de9155
Bump ssri from 6.0.1 to 6.0.2 in /front
Bumps [ssri](https://github.com/npm/ssri) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/npm/ssri/releases)
- [Changelog](https://github.com/npm/ssri/blob/v6.0.2/CHANGELOG.md)
- [Commits](https://github.com/npm/ssri/compare/v6.0.1...v6.0.2)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-28 23:28:10 +00:00
grégoire parant 5c0b5ef74b
HotFix release v1.3.1 (#958)
- Update camera style support mobile
 - Fix admin console error
2021-04-29 01:26:09 +02:00
grégoire parant 9b69910cb8
WIP: Update style for mobile (#942)
* Update style for mobile

 - Update style for mobile modale

* Fix overscroll

* Change css properties overflow

* Revert "Change css properties overflow"

This reverts commit 612fcc7e007fb03c7f72e5fa4b8a0604a184ae7d.

* rm image

* Update view mobile

* Fix CI
2021-04-27 23:58:33 +02:00
David Négrier 08ca95b143 Fixing WorkWrap 2021-04-26 11:28:15 +02:00
David Négrier 22cb41dc29 Adding the ability to display "Text" objects from Tiled
I honestly don't believe text objects look good on map, and in real maps, I think text should be written on tiles.

However, for a variety of use cases (like in test maps in the /maps/test directory, it can be useful to be
able to display some text easily on a map.

This PR adds the ability to display this text.

Note: the "font" support cannot work correctly, as Tiled is listing fonts from the local
system, and those fonts are not available in a browser.
2021-04-26 11:28:13 +02:00
David Négrier 6815fe7a0a Added a new LayersIterator class
This class iterates recursively over layers, flattening groups.
This enables us to simplify the code when we iterate layers. We can remove all recursive function calls in the GameScene code (it is delegated to the LayersIterator)
2021-04-26 11:21:34 +02:00
Lurkars 66b90be0da remove redundancy 2021-04-26 11:20:28 +02:00
Lurkars 93b7b7bc91 removed redundancy, fix for startLayer 2021-04-26 11:20:28 +02:00
Lurkars 9b6be3466b support for group layer of Tiled (excludes 'start' layer) 2021-04-26 11:20:28 +02:00
grégoire parant f0d277af32
Nickname not centered in video-container (#935)
* Nickname not centered in video-container

#823
2021-04-24 15:45:58 +02:00
Gregoire Parant 364c1d3e98 Merge branch 'master' into develop 2021-04-24 10:39:49 +02:00
Gregoire Parant 0c72378001 Fix style message displaying
#926
2021-04-24 10:36:53 +02:00
grégoire parant d9620c373f
Merge pull request #918 from thecodingmachine/newStartMobileScene
Mobile started scene
2021-04-23 19:51:45 +02:00
Gregoire Parant b934d3404f Fix feedback WorkAdventure team 2021-04-23 19:29:43 +02:00
DESKTOP-FMM8UI0\CLV b79d76fc2e parameter soundConfig is now optionnal
if user call mySound.play() the sound will be played with the base SoundConfig
2021-04-23 17:03:17 +02:00