Commit graph

169 commits

Author SHA1 Message Date
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