Commit graph

74 commits

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