Commit Graph

427 Commits

Author SHA1 Message Date
Miroslav Šedivý
e78ee758c5 fix webrtc _connected. 2022-02-13 23:30:58 +01:00
Miroslav Šedivý
53a78140ea webrtc statsStop in diesconnect function. 2022-02-12 18:39:26 +01:00
Miroslav Šedivý
37b0a82167 webrtc on connected singleton. 2022-02-12 18:39:05 +01:00
Miroslav Šedivý
b3eba8bd14 add original event to control events. 2022-02-12 14:25:25 +01:00
Miroslav Šedivý
1fdcac5826 add signal close. 2022-02-12 14:19:48 +01:00
Miroslav Šedivý
c5e845c025 Resolve "Fallback image caching problem" 2022-02-07 13:31:11 +00:00
Miroslav Šedivý
b2e1eba4c2 update control API. 2022-01-30 21:09:13 +01:00
Miroslav Šedivý
7d779396ba move control events to own emitter. 2022-01-30 21:01:14 +01:00
Miroslav Šedivý
87766d4e41 add control lock. 2022-01-30 20:55:19 +01:00
Miroslav Šedivý
d5125ea8e1 add control. 2022-01-30 19:44:27 +01:00
Miroslav Šedivý
de62a349ed add overlay events. 2022-01-30 17:09:35 +01:00
Miroslav Šedivý
bd5f02223a fix log. 2022-01-30 01:28:38 +01:00
Miroslav Šedivý
d546c5f65f add media input methods. 2022-01-06 22:32:40 +01:00
Miroslav Šedivý
88886972e2 chromium webrtc track workaround. 2021-12-12 23:55:43 +01:00
Miroslav Šedivý
f12d77f78f webrtc update error reporting. 2021-12-12 23:40:12 +01:00
Miroslav Šedivý
da3b6df703 catch messages async errors. 2021-12-12 23:25:54 +01:00
Miroslav Šedivý
693ac08e10 member profile can share media. 2021-12-09 21:01:05 +01:00
Miroslav Šedivý
fc2979d5ce sendonly track and remove func. 2021-12-02 22:37:37 +01:00
Miroslav Šedivý
9be83e5160 add TODOs. 2021-11-28 18:41:34 +01:00
Miroslav Šedivý
846dda7e3e add TODOs. 2021-11-28 18:39:27 +01:00
Miroslav Šedivý
b03fad914b SDP add remote answer. 2021-11-28 18:36:36 +01:00
Miroslav Šedivý
ed8fab1afa do not fire onnegotiation when not stable. 2021-11-25 23:48:41 +01:00
Miroslav Šedivý
18e04fdb03 add track. 2021-11-25 23:47:42 +01:00
Miroslav Šedivý
4479096a48 accept offer from server. 2021-11-25 21:44:31 +01:00
Miroslav Šedivý
ed600e5588 implement signal offer. 2021-11-25 00:02:19 +01:00
Miroslav Šedivý
40d79e69b0 WebRTC: add onnegotiationneeded handler. 2021-11-24 23:56:36 +01:00
Miroslav Šedivý
c67e6c7dc3 use session ID in cursor draw functions. 2021-11-15 19:10:12 +01:00
Miroslav Šedivý
b902747b18 tentative cursor movement support. 2021-11-14 20:51:08 +01:00
Miroslav Šedivý
dfd7bec140 if cursor did not move, animate only one position. 2021-11-14 19:37:12 +01:00
Miroslav Šedivý
9daa8461bb cursors add comments. 2021-11-14 19:16:19 +01:00
Miroslav Šedivý
d3fa448eb4 update cursors on canvas size change. 2021-11-12 00:05:59 +01:00
Miroslav Šedivý
a6dea31605 ignore session and host cursor. 2021-11-12 00:04:32 +01:00
Miroslav Šedivý
5b34f906c6 cancel if no cursors to animate. 2021-11-11 23:54:11 +01:00
Miroslav Šedivý
6afa3c68de canvas animate inactive cursors. 2021-11-11 23:50:35 +01:00
Miroslav Šedivý
b621c685c1 add inactive cursors to member profile. 2021-11-03 23:49:21 +01:00
Miroslav Šedivý
54bcbd6333 lint cursors types. 2021-11-03 22:01:49 +01:00
Miroslav Šedivý
606c9337bb set inactive cursor draw function. 2021-11-01 21:15:57 +01:00
Miroslav Šedivý
ed5d2175ae cursors use cursor tag. 2021-11-01 20:56:10 +01:00
Miroslav Šedivý
ec477f619b inactive cursors enabled from server. 2021-11-01 20:49:59 +01:00
Miroslav Šedivý
077105332f always save inactive cursor. 2021-10-26 22:55:38 +02:00
Miroslav Šedivý
cd8d0da96a inactive cursors ignore own cursor. 2021-10-26 22:55:22 +02:00
Miroslav Šedivý
0480a0d512 implement inactive cursors for overlay. 2021-10-26 20:21:28 +02:00
Miroslav Šedivý
5ee38f217e not null compare. 2021-10-26 20:12:55 +02:00
Miroslav Šedivý
9736fe3a5e use MouseEvent type. 2021-10-26 19:32:00 +02:00
Miroslav Šedivý
cae092fb20 session cursors (WIP). 2021-10-26 18:02:01 +02:00
Miroslav Šedivý
3227e691ea custom cursor draw function 2021-10-18 11:14:05 +00:00
Miroslav Šedivý
4d31836b93 lint fix. 2021-10-08 16:46:35 +02:00
Miroslav Šedivý
79856e29a1 use readonly constructor props. 2021-10-04 00:22:11 +02:00
Miroslav Šedivý
fcc57bf2fc ignore non-existent sessions. 2021-09-26 15:13:42 +02:00
Miroslav Šedivý
5836e48f65 typo. 2021-09-12 19:11:30 +02:00
Miroslav Šedivý
804ad49d11 fix icecandidateerror. 2021-09-12 19:08:18 +02:00
Miroslav Šedivý
93ee930601 webrtc fix logging. 2021-09-12 18:50:34 +02:00
Miroslav Šedivý
a4d05c6bce messages add remote log. 2021-09-12 18:05:16 +02:00
Miroslav Šedivý
b7ebbcbdf5 logger factory. 2021-09-12 17:38:23 +02:00
Miroslav Šedivý
94a62e4846 logs correctly parse error. 2021-09-12 17:00:11 +02:00
Miroslav Šedivý
b2f92a86bb send postponed logs. 2021-09-12 16:37:45 +02:00
Miroslav Šedivý
6140c2a578 webrtc use remote logger. 2021-09-09 23:48:26 +02:00
Miroslav Šedivý
3e05542205 do not log system logs events. 2021-09-09 23:48:05 +02:00
Miroslav Šedivý
f067fe9d62 pass optional logger instance to constructor. 2021-09-09 23:47:39 +02:00
Miroslav Šedivý
ce88143903 add quotes for strings in logging. 2021-09-09 23:40:33 +02:00
Miroslav Šedivý
ca6bc69630 add remote logger implementation. 2021-09-09 23:35:26 +02:00
Miroslav Šedivý
f28bc1184a refactor logging to fields. 2021-09-09 23:23:34 +02:00
Miroslav Šedivý
07b5ba0977 Revert "temporary client compatibility workaround." 2021-09-09 19:59:52 +02:00
Miroslav Šedivý
0142b8066d temporary client compatibility workaround. 2021-09-09 00:15:36 +02:00
Miroslav Šedivý
96b6d8fa8d Websocket: use event + payload 2021-09-08 22:03:19 +00:00
Miroslav Šedivý
995978a0d1 fix mac keybaord remapping. 2021-09-02 19:20:00 +02:00
Miroslav Šedivý
970414d79b catch error type any. 2021-09-01 19:11:01 +02:00
Miroslav Šedivý
e78e19c44b upload.drop.finished undefined if no error. 2021-09-01 19:05:44 +02:00
Miroslav Šedivý
701ba4f233 disconnect on connection state change. 2021-08-24 18:55:39 +02:00
Miroslav Šedivý
621a06f7ba do not attempt connection if not supported. 2021-08-10 20:19:55 +02:00
Miroslav Šedivý
d3d37de009 connection type event. 2021-08-10 19:15:44 +02:00
Miroslav Šedivý
2b2ed70912 screencast only if not disconnected. 2021-08-03 17:22:40 +02:00
Miroslav Šedivý
b3198f4825 screencast true by default. 2021-08-03 17:16:38 +02:00
Miroslav Šedivý
75467865e4 move connection type from connection handler. 2021-08-03 17:16:04 +02:00
Miroslav Šedivý
38ba2b8f92 delay on screencast failed. 2021-08-03 11:14:38 +02:00
Miroslav Šedivý
8c7030470d disconnect even if not connected. 2021-07-30 22:54:35 +02:00
Miroslav Šedivý
0554b69d82 reset _total_reconnects on open. 2021-07-30 22:52:16 +02:00
Miroslav Šedivý
3fa0831f43 open connection only once. 2021-07-30 22:45:49 +02:00
Miroslav Šedivý
262ea3dd77 fix reconnect config change. 2021-07-30 22:36:55 +02:00
Miroslav Šedivý
1e78e4e191 reset _total_reconnects. 2021-07-30 22:34:44 +02:00
Miroslav Šedivý
7be220c2d2 infinite reconnects for -1 value. 2021-07-30 22:32:30 +02:00
Miroslav Šedivý
0d32a0592c add reconnecter config. 2021-07-28 20:41:54 +02:00
Miroslav Šedivý
610805867b connection: add destroy handles. 2021-07-28 00:31:41 +02:00
Miroslav Šedivý
f8b1177178 add webrtc fallback timeout. 2021-07-28 00:21:27 +02:00
Miroslav Šedivý
27422294bc screencast singleton. 2021-07-28 00:07:20 +02:00
Miroslav Šedivý
27dfdaad38 screencast: properly revoke url objects. 2021-07-27 00:22:21 +02:00
Miroslav Šedivý
b881a52fbb reconnector: disconnect if connected. 2021-07-27 00:12:36 +02:00
Miroslav Šedivý
9f13d43da5 connection open & close. 2021-07-26 23:59:41 +02:00
Miroslav Šedivý
b8453b3211 reconnect: disconnect on destroy. 2021-07-26 23:35:19 +02:00
Miroslav Šedivý
28f256b5b5 move reconnector to own folder. 2021-07-26 23:29:41 +02:00
Miroslav Šedivý
5f1cca5ab2 reconnector. 2021-07-26 23:23:09 +02:00
Miroslav Šedivý
558b6d2c0b reconnecter do not throw errors. 2021-07-26 23:20:14 +02:00
Miroslav Šedivý
963929a7d1 reconnecter add destroy. 2021-07-26 22:15:34 +02:00
Miroslav Šedivý
b403993fce reconnecter: fallback events. 2021-07-17 16:36:56 +02:00
Miroslav Šedivý
fc031c16d4 reconnect disconnect on close. 2021-07-17 16:08:12 +02:00
Miroslav Šedivý
0408acd211 remove async connection. 2021-07-17 15:45:41 +02:00
Miroslav Šedivý
b3a8d5f86d reconnecter: clear timeout on connect. 2021-07-17 15:30:56 +02:00
Miroslav Šedivý
0974beaf4a webrtc: do not connect if websocket unavailable. 2021-07-17 15:30:37 +02:00
Miroslav Šedivý
69f617ef45 reconnecter use getter for connection status. 2021-07-17 15:27:20 +02:00
Miroslav Šedivý
368261ca14 connection use data from state. 2021-07-17 15:17:56 +02:00
Miroslav Šedivý
fdc7412afc webrtc extract type. 2021-07-17 15:06:32 +02:00
Miroslav Šedivý
27ca2e0719 reconnector extract type. 2021-07-17 15:06:15 +02:00
Miroslav Šedivý
2c70093d77 use typescript optional properties. 2021-07-17 14:08:25 +02:00
Miroslav Šedivý
ad7e3d47c5 connection (WIP). 2021-07-15 23:58:45 +02:00
Miroslav Šedivý
efe04c62ed deferredConnection for reconnecter. 2021-07-15 23:55:48 +02:00
Miroslav Šedivý
78cefb95b7 reconnecter fix context. 2021-07-15 23:27:59 +02:00
Miroslav Šedivý
da18d477e0 lint fix. 2021-07-15 23:06:20 +02:00
Miroslav Šedivý
f9c096b272 reconnecter split events and add destroy. 2021-07-15 22:36:52 +02:00
Miroslav Šedivý
a38ad13fb1 reconnecter get and set for config. 2021-07-15 20:58:21 +02:00
Miroslav Šedivý
121f3bbe29 implement reconnecter class. 2021-07-15 20:50:13 +02:00
Miroslav Šedivý
a43ed3f6ba fallback on webrtc disconnect. 2021-07-14 15:49:28 +02:00
Miroslav Šedivý
1905d7fcd2 add screencast component. 2021-07-14 15:37:23 +02:00
Miroslav Šedivý
28e6c25f4b add screencast to connection state. 2021-07-14 14:30:55 +02:00
Miroslav Šedivý
bbb80730fb connection manager: add getters. 2021-07-11 22:41:10 +02:00
Miroslav Šedivý
471b26ace5 add connection status event. 2021-07-11 22:38:48 +02:00
Miroslav Šedivý
78c3613f3e update reconn timeouts. 2021-07-09 00:55:22 +02:00
Miroslav Šedivý
14bda1a028 add ice restarts to reconnection logic. 2021-06-27 22:07:42 +02:00
Miroslav Šedivý
3edb97e784 webrtc: do not close connection on disconnect. 2021-06-27 19:54:44 +02:00
Miroslav Šedivý
4917eff83b webrtc reconn strategy using loss, fps and muted. 2021-06-24 17:09:13 +02:00
Miroslav Šedivý
42f85d9e54 add track muted to webrtc stats. 2021-06-24 16:50:13 +02:00
Miroslav Šedivý
9d423738c4 consts uppercase. 2021-06-24 16:24:43 +02:00
Miroslav Šedivý
6e92022c37 add reconn delay. 2021-06-24 15:40:11 +02:00
Miroslav Šedivý
6a8255d08a auto downgrade on packet loss. 2021-06-24 15:25:56 +02:00
Miroslav Šedivý
3ca8f9a71c fix webrtc last quality connection. 2021-06-24 15:15:47 +02:00
Miroslav Šedivý
fcae8156f5 webrtc quality downgrade on reconnect. 2021-06-23 23:37:39 +02:00
Miroslav Šedivý
15cfe4c146 autoplay video on reconnection. 2021-06-23 21:24:34 +02:00
Miroslav Šedivý
d77a795438 connection make websocket async. 2021-06-20 23:56:34 +02:00
Miroslav Šedivý
b9b311c6de remove connecting event. 2021-06-20 23:46:40 +02:00
Miroslav Šedivý
97a213c9b3 ws connect not async. 2021-06-20 23:29:00 +02:00
Miroslav Šedivý
e22e5e42a0 switch to camel case. 2021-06-19 21:46:18 +02:00
Miroslav Šedivý
f6edb4208e set as disconnected only if not connecting. 2021-06-19 21:42:25 +02:00
Miroslav Šedivý
5c8c8c1330 add authenticate function. 2021-06-19 21:32:09 +02:00
Miroslav Šedivý
45c6c33647 reconnect only after succesfull connection. 2021-06-19 20:21:32 +02:00
Miroslav Šedivý
c49c9ad4de reconnection add debug logs. 2021-06-19 20:20:46 +02:00
Miroslav Šedivý
3d1b92ae1c add new reconnection logic. 2021-06-19 19:36:59 +02:00
Miroslav Šedivý
071f97fb1b move webrtc congestion control to connection. 2021-06-19 18:51:14 +02:00
Miroslav Šedivý
daff2552a3 add disconnect event. 2021-06-19 18:44:43 +02:00
Miroslav Šedivý
1dcce7d949 single connection status in state. 2021-06-19 18:36:48 +02:00
Miroslav Šedivý
a451d6a536 state: move authenticated out of connection. 2021-06-19 18:14:45 +02:00
Miroslav Šedivý
8960bb319f join clear function. 2021-06-18 23:34:39 +02:00
Miroslav Šedivý
2c02a0f2f9 remove old connection events. 2021-06-18 23:15:29 +02:00
Miroslav Šedivý
6ab5978ad0 fix whitespaces. 2021-06-18 22:07:07 +02:00
Miroslav Šedivý
b9bd4d2b8f overlay fix naming. 2021-06-18 21:57:46 +02:00
Miroslav Šedivý
edabf74e2a fix build errors. 2021-06-18 00:58:14 +02:00
Miroslav Šedivý
0b92270bc6 join webscoket + webrtc connection. 2021-06-18 00:54:51 +02:00
Miroslav Šedivý
e0de57fc70 move websocket to connection. 2021-06-18 00:31:03 +02:00
Miroslav Šedivý
e958690e10 webrtc unmount all events on disconnect. 2021-06-18 00:21:20 +02:00
Miroslav Šedivý
af206457ab add connection skeleton (WIP). 2021-06-17 09:22:02 +02:00
Miroslav Šedivý
4497a18793 extract reconnection logic from websockets. 2021-06-16 23:28:05 +02:00
Miroslav Šedivý
42588ac51a _candidates as private. 2021-06-16 23:09:34 +02:00