Commit Graph

355 Commits

Author SHA1 Message Date
Oliver Lorenz
7c89cf0e47 feat: adds property openWebsitePolicy to set allow property in iframe 2020-12-29 23:17:16 +01:00
Gregoire Parant
ca1cd388e8 Fix lint 2020-12-17 16:39:11 +01:00
Gregoire Parant
08ce954f56 Add new click event to close co website 2020-12-17 16:36:01 +01:00
kharhamel
069f2f1cec FEAT: prototype game menu using html elements, better icon for text chat 2020-12-15 16:37:57 +01:00
kharhamel
a1aedaa594 FEAT: now play a sound when a user quit the webrtc group 2020-12-11 16:01:31 +01:00
Kharhamel
95665a28d5
Merge pull request #456 from thecodingmachine/performance
Performance settings
2020-12-03 14:33:12 +01:00
kharhamel
28b0229c76 FIX: disabled pingCameraStatus and reduced the amount of errors thrown in console 2020-11-27 17:06:47 +01:00
Gregoire Parant
27634a61ee Create menu to set your quality video and game 2020-11-27 16:24:07 +01:00
grégoire parant
c5af6df7fa
Merge pull request #448 from thecodingmachine/report-button
Report button discussion
2020-11-23 20:48:52 +01:00
Gregoire Parant
3d32fb90dc Add constant 2020-11-23 20:34:05 +01:00
Gregoire Parant
2812387650 Merge branch 'develop' into action-button 2020-11-23 20:08:19 +01:00
Gregoire Parant
26cfae7136 Merge branch 'develop' into firefox-error-jitsi
# Conflicts:
#	front/src/WebRtc/MediaManager.ts
2020-11-23 15:46:19 +01:00
Gregoire Parant
fd3b8dda2c Fix report button on anonymous connection 2020-11-22 12:40:03 +01:00
Gregoire Parant
39cdc3fbd9 Fix trgger stream and update scene record 2020-11-21 18:47:38 +01:00
Gregoire Parant
a6876658ab Merge branch 'develop' into windows-focus-blur-camera
# Conflicts:
#	front/src/WebRtc/MediaManager.ts
2020-11-21 15:57:55 +01:00
Gregoire Parant
3aaeda6f80 Merge branch 'develop' into action-button
# Conflicts:
#	front/dist/resources/style/style.css
#	front/src/Phaser/Game/GameScene.ts
2020-11-21 15:40:24 +01:00
Gregoire Parant
1bff2addf1 Merge branch 'develop' into firefox-error-jitsi
# Conflicts:
#	front/src/WebRtc/MediaManager.ts
2020-11-17 18:54:51 +01:00
Gregoire Parant
11def280cb Merge branch 'develop' into feature-discussion 2020-11-17 18:08:53 +01:00
Gregoire Parant
0a7063a478 Add close button 2020-11-17 18:03:44 +01:00
Gregoire Parant
64d00bda56 Add function to show when message received 2020-11-17 16:46:46 +01:00
kharhamel
3d8d8cc3a9 FIX: more cowebsite fixes 2020-11-16 16:15:21 +01:00
Gregoire Parant
1570ef9663 Merge branch 'develop' into windows-focus-blur-camera
# Conflicts:
#	front/src/Phaser/Game/GameScene.ts
2020-11-16 15:46:52 +01:00
Gregoire Parant
b0bd4c5f40 Merge remote-tracking branch 'github.com/develop' into feature-discussion 2020-11-16 15:43:28 +01:00
kharhamel
2a6b2e0cbf FIX: the jitsi iframe promise now throw an error if it cannot load in 10 secondes 2020-11-13 18:08:43 +01:00
David Négrier
ed527f5e72
Merge pull request #409 from thecodingmachine/fix/cowebsiteConflicts
Fix/cowebsite conflicts
2020-11-10 15:54:27 +01:00
Gregoire Parant
8412575c40 Merge branch 'develop' into windows-focus-blur-camera
# Conflicts:
#	front/src/WebRtc/MediaManager.ts
2020-11-10 15:27:22 +01:00
kharhamel
1080328afa FIX: cowebsite transitions are now queued to prevent conflicts 2020-11-10 15:22:30 +01:00
Gregoire Parant
b75f28d3ca Merge branch 'develop' into feature-discussion
# Conflicts:
#	front/src/WebRtc/MediaManager.ts
2020-11-10 15:15:24 +01:00
Gregoire Parant
142566dfde Fix error get media stream camera
Fix error camera when user have not cam on computer
2020-11-10 14:03:29 +01:00
Gregoire Parant
694f5d692f Merge branch 'develop' into windows-focus-blur-camera 2020-11-10 13:07:08 +01:00
Gregoire Parant
76014e3dc1 Merge branch 'develop' into action-button 2020-11-10 13:06:47 +01:00
Gregoire Parant
0acbe20bbf Fix name send in message 2020-11-10 13:00:14 +01:00
Gregoire Parant
3333b3cee3 Fix feedback moufmouf 2020-11-10 12:38:32 +01:00
Gregoire Parant
f837f1a31f Merge branch 'develop' into feature-discussion 2020-11-10 11:50:41 +01:00
kharhamel
760708948f FIX: close the coWebSite on network error 2020-11-09 11:16:54 +01:00
David Négrier
00b83ae349 Merge branch 'develop' of github.com:thecodingmachine/workadventure into windows-focus-blur-camera 2020-11-06 17:36:43 +01:00
Gregoire Parant
6ef2148a34 Fix feedback @moufmouf 2020-11-04 13:07:38 +01:00
Gregoire Parant
47a049ecaf Feedback comment @moufmouf 2020-11-04 12:42:33 +01:00
Gregoire Parant
74de2746c2 Create action button 2020-10-31 14:04:55 +01:00
Gregoire Parant
724bb7f288 Merge branch 'develop' into feature-discussion 2020-10-30 20:04:12 +01:00
Gregoire Parant
df49ea856a Fix conflict error 2020-10-27 20:51:11 +01:00
Gregoire Parant
80355e6b85 fix layout mode click when discussion is activated 2020-10-27 20:46:53 +01:00
Gregoire Parant
55c1bcee66 Add callback report in discussion part 2020-10-27 20:18:25 +01:00
kharhamel
67aa2f4b6c opening and closing jitsi windows now trigger some transitions 2020-10-27 17:44:57 +01:00
Gregoire Parant
855f42a12e Merge remote-tracking branch 'github.com/develop' into windows-focus-blur-camera
# Conflicts:
#	front/src/WebRtc/MediaManager.ts
2020-10-26 22:43:14 +01:00
Gregoire Parant
997acd17ad Update to use update function scene 2020-10-26 22:39:52 +01:00
kharhamel
65a710d1f4 disabling audio/video in jitsi carry over to wa 2020-10-26 16:55:56 +01:00
Gregoire Parant
f95f38b092 Permit to remove callback 2020-10-26 14:13:51 +01:00
Gregoire Parant
1945c24704 Create send data discussion 2020-10-25 21:59:14 +01:00
Gregoire Parant
f344adc48b Create discussion
- Add new discussion class
- Feature to discuss and report user
2020-10-25 19:39:15 +01:00
Gregoire Parant
b6fe9e72e1 Fix style and refactor 2020-10-25 19:38:00 +01:00
Gregoire Parant
69f3e511ab Ping status camera and microphone 2020-10-24 14:40:51 +02:00
Gregoire Parant
199ed1266a Switch off camera when user is not focused on WorkAdventure windows
Feature to switch off camera when user is not focused on WorkAdventure windows after 10 seconds
2020-10-24 14:13:23 +02:00
kharhamel
00ad28f084 feat: jitsi no start with audio or video muted when needed 2020-10-23 17:19:20 +02:00
kharhamel
3fdca94afb refactor: move jitsi creation to a dedicated and cleaned some type in mediaManager 2020-10-23 17:19:14 +02:00
Gregoire Parant
2ee6d43274 Fix sharing peer connection 2020-10-20 20:39:33 +02:00
Gregoire Parant
7fa999a1bd Fix lint 2020-10-20 18:03:10 +02:00
Gregoire Parant
173f7a5061 Fix webrct finish event delay 2020-10-20 18:02:44 +02:00
Gregoire Parant
336742b8b3 Fix screen sharing
Foce screan sharing to create new peer connexion and share it
2020-10-20 14:48:59 +02:00
David Négrier
267476c651 Removing TODO 2020-10-15 17:59:32 +02:00
David Négrier
0ea7240834 Adding condition to enable reporting only on private rooms 2020-10-15 17:58:27 +02:00
Gregoire Parant
38d2cc9a8c Remove teleport feature 2020-10-15 12:12:11 +02:00
Gregoire Parant
436cde7033 Fixe style media manager and text modale 2020-10-13 21:54:08 +02:00
Gregoire Parant
dbaf44e814 Change report flag
- Add icon on video
- Permit to have a modal with comment
2020-10-13 19:56:42 +02:00
David Négrier
d3fa901691 Merge branch 'develop' of github.com:thecodingmachine/workadventure into feature/global-message
+ migrating to protobuf messages

# Conflicts:
#	back/src/App.ts
#	back/src/Controller/IoSocketController.ts
#	back/yarn.lock
#	front/src/Connection.ts
#	front/src/Phaser/Game/GameScene.ts
#	front/src/Phaser/Login/EnableCameraScene.ts
#	front/src/WebRtc/SimplePeer.ts
2020-10-01 14:11:34 +02:00
David Négrier
9f3577286d Merge branch 'develop' of github.com:thecodingmachine/workadventure into uws
# Conflicts:
#	back/src/Controller/AdminController.ts
#	back/src/Controller/AuthenticateController.ts
#	back/src/Controller/IoSocketController.ts
#	back/src/Controller/MapController.ts
#	benchmark/index.ts
#	front/src/Connexion/RoomConnection.ts
2020-09-29 17:12:28 +02:00
David Négrier
b485c9bf46 Switching WebRTC to protobuf + uws 2020-09-29 16:01:22 +02:00
arp
af4611ed29 rewrote the login workflow 2020-09-25 19:23:33 +02:00
Gregoire Parant
45ad4bbb36 Send and play audio message 2020-09-20 17:12:27 +02:00
Gregoire Parant
4c7e458e52 create event and brodcast event in backend 2020-09-19 01:08:56 +02:00
David Négrier
e9ca8721a6 Migrating userId to "int32" to save some space and adding userMoves message in protobuf 2020-09-18 13:57:38 +02:00
Gregoire Parant
e59cbcfaa7 Create console global message
- Add style
- Create zone and button to show the admin console
2020-09-16 21:50:04 +02:00
Gregoire Parant
509196785b Initialise global message
- Create new class to manager global message. My idea is that this class permit to manage audio or text message.
 - Update html to have main content id and inject html in this.
 - Create front event to receive startMessage and stopMessage.
 - Delete impoted variable not used.
2020-09-16 18:38:50 +02:00
David Négrier
f70ba1411a Hiding cam details when entering a Jisti room 2020-09-01 14:43:21 +02:00
David Négrier
9516f6615c Centering character based on game div
Previously, character was centered based on window size, but when doing CoWebsite browsing, window size != game size, leading to poorly centered characters
2020-08-31 17:56:11 +02:00
David Négrier
8655aef629 Fixing URL passing in WebRtc setup 2020-08-31 15:34:21 +02:00
David Négrier
ed116cf2a3 Switching on our very own turn server 2020-08-31 15:33:50 +02:00
David Négrier
6f6873e870
Merge pull request #251 from thecodingmachine/fix_camera_stop
Camera was not properly closed in EnableCameraScene
2020-08-31 15:31:33 +02:00
David Négrier
634eecd42a Fixing issue when both mic and cam are stopped 2020-08-31 15:21:05 +02:00
David Négrier
c739037bc4 Camera was not properly closed in EnableCameraScene 2020-08-31 14:54:52 +02:00
David Négrier
0a8ba37049 Adding Jitsi meet support 2020-08-31 12:18:00 +02:00
David Négrier
13272968cf Clicking on a video puts it in presentation mode
Adding the ability to put a video in presentation mode by clicking on it.
Also, adding small CSS animations on hover.
2020-08-27 10:16:34 +02:00
David Négrier
7f5f802b86 Avoiding flickering when entering presentation mode with no presentation 2020-08-24 18:23:02 +02:00
David Négrier
044495cf05 Centering character in free space
This commit adds the ability to put the character where there is free space when a discussion is hapening (either in presentation or chat mode)
2020-08-24 14:19:36 +02:00
David Négrier
b7c2f8be7b Adding colors for cam/mic/screen share button
Microphone and camera are now red when disabled.
Screen-share is green when enabled.
Also, they are now always partially visible (they were completely hidden previously until hovering in the lower right corner)
2020-08-22 15:26:40 +02:00
David Négrier
91f422d0c3 Fixing stop of stream in bi-directional screen sharing. 2020-08-21 22:53:17 +02:00
David Négrier
c442d6ce67 Lint 2020-08-20 22:29:14 +02:00
David Négrier
dc36af19bc Detecting press on "stop screen sharing" 2020-08-20 22:23:38 +02:00
David Négrier
1162439479 Overloading destroy method instead of having a separate method to remove video. 2020-08-20 22:23:22 +02:00
David Négrier
27ffb6b13d Refactoring SimplePeer code: splitting Peer instantiation into 2 subclasses (VideoPeer and ScreenSharingPeer). This leads to way leaner code. 2020-08-20 16:56:10 +02:00
David Négrier
894f7c8009 Removing useless roomID parameter in WebRtcSignal message 2020-08-20 15:21:07 +02:00
David Négrier
0119534283 First version of screen-sharing that works when a user is joining a group after screen sharing begun. 2020-08-20 00:05:00 +02:00
David Négrier
cc1cb2f671 Fixing linting 2020-08-18 14:59:50 +02:00
David Négrier
2e61c2ef62 Getting back code in compilable fashion after huge rebase 2020-08-18 00:12:38 +02:00
Gregoire Parant
4b72958193 Fix peer connexion for two player with screen sharing 2020-08-17 23:56:46 +02:00
Gregoire Parant
a8f27e6084 Create event to start webrtc screen charing 2020-08-17 23:54:26 +02:00
Gregoire Parant
a4f42111d7 Update screen sharing feature 2020-08-17 23:47:17 +02:00
Gregoire Parant
0bbed7717a Continue screen sharing 2020-08-17 23:39:50 +02:00
Gregoire Parant
3e2c5049f2 Fix to add special screen sharing 2020-08-17 23:36:02 +02:00
Gregoire Parant
209057e3fc New fictive user screen sharing
- Create new fictive user
 - Add new fictive user in WebRtc group
 - Add screen sharing video on left side
2020-08-17 23:32:39 +02:00
Gregoire Parant
6c1b8122ef Fix CI 2020-08-17 23:19:31 +02:00
Gregoire Parant
eed5333d69 Stability simple peer 2020-08-17 23:18:38 +02:00
Gregoire Parant
208b91e52a Feature screen sharing
- Send stream of screen sharing in peer connexion
 - Add button for share your screen
2020-08-17 23:17:00 +02:00
David Négrier
fc78249eae Code cleanup 2020-08-17 22:03:08 +02:00
David Négrier
beb0d1ef0a Linter fix 2020-08-17 16:18:39 +02:00
David Négrier
6516e621b0 Adding display / hide of layout buttons when a meet start / ends 2020-08-17 16:12:53 +02:00
David Négrier
05ca8c813e Fixing chat mode canceling flex display 2020-08-16 23:49:31 +02:00
David Négrier
1509777945 Improving video CSS (work on overlay) 2020-08-16 23:45:03 +02:00
David Négrier
88c099fc13 Improving layout
Fixing left-right switch on all cameras (except current player camera)
2020-08-16 23:19:04 +02:00
David Négrier
9f6c6e0ce1 Adding CoWebsiteManager + first working version of flex video 2020-08-13 18:21:48 +02:00
David Négrier
83fe024c45 Adjusting class in chat mode based on number of divs displayed. 2020-08-11 22:40:54 +02:00
David Négrier
7232bbaef9 Adding LayoutManager to position videos as cleverly as possible 2020-08-11 22:32:55 +02:00
David Négrier
1978c1a324 Lint 2020-06-25 11:35:20 +02:00
David Négrier
5f5cec93ea Audio device => exact mode 2020-06-25 11:26:55 +02:00
David Négrier
c322de4412 Moving to async/await 2020-06-25 10:43:27 +02:00
David Négrier
8db615551a Fixing device switching in Firefox 2020-06-25 10:33:26 +02:00
David Négrier
3de37bafed Adding a scene to configure the webcam 2020-06-24 15:35:07 +02:00
David Négrier
d78006e106 Fixing memory leak with listeners
The listeners from MediaManager and SimplePeer were never removed, leading to a huge amount of listeners all over the applications when switching regularly of scene.
2020-06-23 15:02:35 +02:00
David Négrier
74af7d52c3 Improving error handling in MediaManager 2020-06-22 22:55:28 +02:00
David Négrier
f88f28db3f Refactoring reconnection: putting it into the GameScene directly. 2020-06-22 15:00:23 +02:00
David Négrier
d785a8a1bf Refactoring connection to be part of a GameScene
Most of the refactoring issues we are seeing are probably due to the fact that we are trying to manipulate a ScenePlugin out of a Scene (the GameManager is not a Scene and holds a reference to a ScenePlugin coming from a Scene that might get invalidated by Phaser 3).
Furthermore, if we want in the future to be able to scale, scenes could be hosted on different servers. Therefore, it makes no sense to have one connexion for the whole application.
Instead, we should have one connexion for each scene.
2020-06-22 11:58:07 +02:00
David Négrier
e2be99490b Finishing removing any reference to "any" in the front. 2020-06-19 16:36:40 +02:00
David Négrier
39928b46f9 Removing any in the front 2020-06-19 14:30:34 +02:00
David Négrier
8348d13bfe Fixing use const instead of let 2020-06-19 14:30:34 +02:00
David Négrier
f2c9647882 Adding connecting spinner and blinking error to webrtc display
I put a connecting spinner around the user name when the user is connecting.
Also, if an error occurs, we will see a blinking red circle around the player name.
2020-06-06 22:49:55 +02:00
David Négrier
96c5d92c46 Fixing disconnection taking ~15 seconds
Most of the time, sending a disconnect event to one of the players is enough (the player will close the connection
which will be shut for the other player).
However! In the rare case where the WebRTC connection is not yet established, if we close the connection on one of the player,
the other player will try connecting until a timeout happens (during this time, the circle with the name is displayed for nothing).

So now, we send disconnection event to every body (not only the people in the group, but also to the person leaving the group)
2020-06-05 13:07:18 +02:00
David Négrier
7292bc3cab More strict fixes 2020-06-04 18:56:22 +02:00
David Négrier
111bfcfe8c More strict typecheck fixes 2020-06-04 18:56:22 +02:00
David Négrier
a231024502 Fixing strict type checks 2020-06-04 18:56:22 +02:00
David Négrier
1fa39b0781 Fixing typos.
Replaced connexion with connection and LogincScene with LoginScene
2020-05-24 23:14:12 +02:00
Gregoire Parant
ab32021fc0 Fix mediam stream manage and server back down 2020-05-23 14:00:36 +02:00
David Négrier
1bbd0866cb Code cleaning 2020-05-16 16:07:57 +02:00
David Négrier
5a3668a12e Refactoring messages
Socket.io can stringify JSON messages itself, so there is no need to pass a string to "emit". You can pass a serializable object!

This commit removes all the useless toJson() methods, JSON.serialize and JSON.parse!

Woot!
2020-05-15 22:04:49 +02:00
David Négrier
34d3a292db
Removing log trace 2020-05-14 22:00:31 +02:00
gparant
182882fded Fix border view 2020-05-14 20:54:34 +02:00
gparant
787e1c463c Media webrtcA
- Update peerConnexion manage
 - Add muted microphone logo
 - Add icon user
 - Sound when user enter in room webrtc
2020-05-14 20:39:30 +02:00
kharhamel
e2531343d1 fixed a game crash on firefox on http 2020-05-13 16:56:22 +02:00
gparant
fb255140e5 Add feature to mute or switch off cam 2020-05-03 17:19:42 +02:00
gparant
85ab0a231f Fix style cam 2020-05-03 14:29:45 +02:00
gparant
fdb40ec3e2 Fix webrtc multi 2020-05-02 20:46:02 +02:00
gparant
c7f8f92e85 Fix webrtc 2020-05-02 00:31:44 +02:00
gparant
e06b20fe96 Update video style and start peer connexion 2020-05-01 21:15:00 +02:00
gparant
dbf0bef149 Delete file 2020-04-29 17:55:55 +02:00
gparant
58df4118d1 Refactor 2020-04-29 17:49:40 +02:00
gparant
2bfa57b0ba Merge world and webrtc conexion 2020-04-29 01:40:32 +02:00
gparant
b49c012319 Add button to enter un visio 2020-04-26 20:55:20 +02:00
gparant
707931724f Start visio with user colision
When user enter in colision with other colision, webrtc start visio
2020-04-26 19:59:51 +02:00
gparant
d7d7be9ed0 Web visio, add and remove video element 2020-04-26 19:12:01 +02:00
gparant
e4a30712b5 Update front mutli peer conncexion 2020-04-26 17:42:49 +02:00
gparant
575054fe4f Fix multi video 2020-04-25 20:29:03 +02:00
gparant
89db8558f6 Add multi SimplePear connection 2020-04-25 17:14:05 +02:00
gparant
c28108f6c9 Use WebRtc with SimplePeer 2020-04-25 16:05:33 +02:00
gparant
a5b5072de1 Fix webrtc 2020-04-20 01:10:47 +02:00
gparant
89816a13e4 Fix video call 2020-04-19 22:30:42 +02:00
gparant
5b62ac39fb Create webrtc connexion between two player 2020-04-19 19:32:38 +02:00