295 Commits

Author SHA1 Message Date
d2c1947a80 3.0.12
All checks were successful
continuous-integration/drone/push Build is passing
v3.0.12
2020-03-14 09:17:17 +01:00
9ceb59e5fe Fix .drone.yml
All checks were successful
continuous-integration/drone/push Build is passing
2020-03-14 09:15:42 +01:00
e28eb73962 Fix redis entry for Gitlab CI 2020-03-14 09:13:52 +01:00
dc72a6389a Update CI entries for redis
Some checks failed
continuous-integration/drone/push Build is failing
2020-03-14 09:11:21 +01:00
5a03779139 3.0.11 v3.0.11 2020-03-14 08:59:31 +01:00
5173b15c82 Add Redis info to README.md 2020-03-14 08:59:22 +01:00
4173ca0169 Merge branch 'redis' 2020-03-14 08:59:01 +01:00
f26b72a996 Upgrade all packages to latest versions 2020-03-14 08:49:22 +01:00
80eb39b5b8 Add test for memory and redis store 2020-03-14 08:36:21 +01:00
d6104bae14 Make redis configurable 2020-03-13 22:56:11 +01:00
170c52eefa Add store factory 2020-03-13 22:03:46 +01:00
41705177c5 Add redis store
Tested locally with docker-compose and two instances of peer-calls
running on different ports.
2020-03-13 21:41:03 +01:00
27d2459e1d Make socket.ts asynchronous
Also do not monkey-patch socket objects with user ids.
2020-03-13 20:28:46 +01:00
6459aa6228 3.0.10 v3.0.10 2020-03-13 14:10:24 +01:00
aa7a6927f8 Keep active peer connections after server restart 2020-03-13 14:01:45 +01:00
cd4979c3be Generate userIDs on server-side
We don't want to depend on:

1) socket.io generated IDs because they change on server reconnect
2) simple-peer generated IDs because they change for every peer
connection

We generate a single ID when the call web page is refreshed and use that
throughout the session (until page refresh).

We keep relations of user-id to socket-id on the server side in memory
and use that to get to the right socket. In the future this might be
replaced with Redis to allow multiple nodes.

If the server is restarted, but people have active calls, we want them
to keep using the active peer connections and only connect to new peers.

Ideally, we do not want to disturb the active peer connections, but peer
connections might be restarted because the in-memory store will not have
the information on for any peers in the room upon restart.
2020-03-13 13:33:54 +01:00
ba92214296 Add ability to set nickname using /nick command in chat 2020-03-13 11:19:47 +01:00
54659863b5 Closes #74 2020-03-13 08:50:13 +01:00
becafd5042 3.0.9 v3.0.9 2020-03-12 21:16:45 +01:00
c26b0bc5f8 Add baseUrl for favicon 2020-03-12 21:13:53 +01:00
509485e173 3.0.8
All checks were successful
continuous-integration/drone/push Build is passing
v3.0.8
2020-03-11 15:19:26 +01:00
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
6b9c03eb84 3.0.7 v3.0.7 2020-03-11 15:08:35 +01:00
9f1320a907 Add touchStart/touchEnd event handlers for video 2020-03-11 15:08:32 +01:00
d68ebdef79 3.0.6 v3.0.6 2020-03-11 15:04:52 +01:00
a025fcad43 Add ability to toggle object-fit: cover on videos by long-pressing 2020-03-11 15:04:44 +01:00
4a53a2fb55 3.0.5
All checks were successful
continuous-integration/drone/push Build is passing
v3.0.5
2020-03-11 14:25:29 +01:00
8ebd92c53d Add input field to specify call name 2020-03-11 14:24:36 +01:00
5b431afbc2 3.0.4 v3.0.4 2020-03-10 13:45:56 +01:00
e28af6740e Merge branch 'share-desktop' 2020-03-10 13:45:10 +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
18ff3947b8 Run npm audit fix 2020-03-10 08:32:37 +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
5ebd5c07c0 Run npm audit fix --force 2020-03-09 08:21:12 +01:00
1110cb0dfb Sign .drone.yml
All checks were successful
continuous-integration/drone/push Build is passing
2020-01-07 11:01:36 +01:00
4ed5265e95 Add .drone.yml
All checks were successful
continuous-integration/drone/push Build is passing
2020-01-07 10:22:22 +01:00
951fbf52c7 3.0.3 v3.0.3 2019-11-19 23:42:44 -03: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