170 Commits

Author SHA1 Message Date
e250443ca3 Add webrtc-adapter for compatibility
https://github.com/webrtcHacks/adapter

From MDN: https://developer.mozilla.org/en-US/docs/Web/API/Screen_Capture_API/Using_Screen_Capture

Note: It may be useful to note that recent versions of the WebRTC
adapter.js shim include implementations of getDisplayMedia() to enable
screen sharing on browsers that support it but do not implement the
current standard API. This works with at least Chrome, Edge, and
Firefox.
2020-03-11 15:18:28 +01:00
9f1320a907 Add touchStart/touchEnd event handlers for video 2020-03-11 15:08:32 +01:00
a025fcad43 Add ability to toggle object-fit: cover on videos by long-pressing 2020-03-11 15:04:44 +01:00
8ebd92c53d Add input field to specify call name 2020-03-11 14:24:36 +01:00
478df8c8fd Fix streams.test.ts 2020-03-10 13:44:09 +01:00
e851181ffa Fix SocketActions.test.ts 2020-03-10 13:42:47 +01:00
0ae475f898 Fix media.test.ts 2020-03-10 13:38:27 +01:00
80ac818616 Fix Toolbar.test.tsx 2020-03-10 13:16:03 +01:00
720e26a5dd Fix CallActions.test.ts 2020-03-10 13:14:31 +01:00
9db349d4a5 Fix App.test.tsx 2020-03-10 13:14:22 +01:00
6effc10d9e Do not remove tracks when sharing desktop and camera 2020-03-10 13:10:00 +01:00
8c0377bdaf Make socket automatically do the handshake on each reconnect 2020-03-10 12:10:08 +01:00
46a0b1f7ea Remove each user stream individually 2020-03-10 11:58:15 +01:00
f056048d62 Use addTrack/removeTrack over addStream/removeStream
The addStream and removeStream are deprecated and the MDN docs
recommend using addStream/removeStream instead.

While we add tracks, we can also add event listeners to whether or not a
track has ended and then remove a stream once all tracks in the streams
have ended.
2020-03-10 11:21:35 +01:00
53ddcdfcbf Add catch when requesting desktop 2020-03-10 09:03:19 +01:00
2f582e66b9 Write error to log on promise rejected 2020-03-10 09:03:11 +01:00
61fc53bcf9 Add experimental support for sharing desktop 2020-03-09 11:58:28 +01:00
ee209d7889 Add display icon 2020-03-09 08:29:06 +01:00
a828b1570d Replace doT with ejs
doT had a security vulnerability and ejs has even fewer dependencies:

https://www.npmjs.com/advisories/798
2019-11-19 23:41:34 -03:00
3ae120b3ba Add ability to log requests 2019-11-19 12:48:23 -03:00
2d14e5fd33 Replace pug with doT
Pug contains a lot of unnecessary dependencies leading to code bloat,
which results in increased docker package size, and thus docker image
size). express-dot-engine is much simpler and performs better.
2019-11-19 12:21:19 -03:00
d4e6dfbf60 Allow specifying host to bind via BIND env var 2019-11-19 10:26:48 -03:00
1ef92f6b19 Do not always require JSON parsing from env vars 2019-11-18 23:37:09 -03:00
c7030bd3bb Add simple handling of SIGINT/SIGTERM for Docker 2019-11-18 23:12:14 -03:00
e1b7283a94 Remove handling of SIGTERM
New version of socket.io cannot terminate cleanly when there are active
connections:

https://github.com/socketio/socket.io/issues/1602
2019-11-18 22:40:07 -03:00
23fabb0b0c Do not always require custom configuration files 2019-11-18 13:01:01 -03:00
ff5a20e13f Stop using local stream after hangup 2019-11-18 09:42:18 -03:00
c89886bbfa Fix toolbar icons. Hangup removes video stream 2019-11-18 09:35:37 -03:00
038a617b30 Do not use core-js because it breaks minification
We get an error

can't convert n to string: its [Symbol.toPrimitive] method returned an object
2019-11-18 00:54:14 -03:00
11727714ec Make <Notifications /> drop down on focus 2019-11-18 00:21:24 -03:00
b88889665f Refactor Toolbar, move video & notifications 2019-11-17 23:51:57 -03:00
9d68e4c1f4 Add Toolbar tooltips 2019-11-17 19:32:45 -03:00
fddb88f5b8 Use <Side /> instead of position absolute
Some components still use position fixed. This could change in the
future.
2019-11-17 17:24:28 -03:00
58039eb086 Remove alerts from state 2019-11-17 14:28:48 -03:00
fcb47a2cc5 Dismiss notifications from component 2019-11-17 14:10:33 -03:00
67d9177a91 Add autoplay error notification 2019-11-17 10:50:04 -03:00
0a40e7202a Make Media menu disappear after connecting 2019-11-17 09:46:11 -03:00
ef110e6fe2 Autofocus chat input 2019-11-17 09:34:02 -03:00
63bae9fc55 Fix transition group 2019-11-17 09:31:24 -03:00
b46206de1f Add style to Media menu 2019-11-17 00:17:50 -03:00
a8f3757d53 Do not join call automatically
Present a user with a menu to join call manually
2019-11-16 23:49:14 -03:00
22380ea381 Add Media.tsx 2019-11-16 20:53:09 -03:00
6fd6a4edf3 Add actions/MediaActions and reducers/media 2019-11-16 12:23:04 -03:00
46eeae04fc Use removeListener instead of off for Node 8 2019-11-16 09:57:07 -03:00
976bd5642c Fix failing test 2019-11-16 09:18:42 -03:00
92a5f2063c Use SignalData on server-side
This should not cause compile issues when simple-peer is not installed
(because client-side JS will be precompiled after pkg is published in
NPM repository) because types are not used in runtime.
2019-11-16 00:06:41 -03:00
7fa09fa6b8 Use TypedEmitter for client socket connections 2019-11-15 23:38:19 -03:00
703c13f296 Add TypedSocket to server 2019-11-15 23:17:52 -03:00
45b5a3bbf2 Add TypedEmitter 2019-11-15 20:28:13 -03:00
45486aa837 Fix SocketActions.test.ts 2019-11-14 00:30:09 -03:00