Commit Graph

449 Commits

Author SHA1 Message Date
Miroslav Šedivý
9ba33292ea ignored keyup hashmap. 2022-05-01 21:51:10 +02:00
Miroslav Šedivý
d87c78ba50 bi directional clipboard handling over WS. 2022-04-29 00:00:41 +02:00
Miroslav Šedivý
968082d7b4 paste control with clipboard. 2022-04-28 23:58:31 +02:00
Miroslav Šedivý
0aae212c1f sync user's clipboard. 2022-04-28 23:25:33 +02:00
Miroslav Šedivý
e65c10005e use textarea for pasting. 2022-04-28 22:48:04 +02:00
Miroslav Šedivý
ca49272bf2 move paused to webrtc stats. 2022-03-29 23:39:12 +02:00
Miroslav Šedivý
7435ff68a6 do not show screencast if not connected to webrtc. 2022-03-27 22:49:52 +02:00
Miroslav Šedivý
f7f533f269 implement private mode. 2022-03-27 22:49:12 +02:00
Miroslav Šedivý
5f6aef469a implement settings structure. 2022-03-27 01:16:19 +01:00
Miroslav Šedivý
67c62a1516 fix screencast start race. 2022-03-19 00:24:52 +01:00
Miroslav Šedivý
a58ae0b95f catch videoSnap error. 2022-03-19 00:23:57 +01:00
Miroslav Šedivý
33245fea03 webrtc fallback image video snap. 2022-03-18 23:56:27 +01:00
Miroslav Šedivý
8f8094e7bd screencast switch to image src. 2022-03-12 00:16:27 +01:00
Miroslav Šedivý
82f45bfedd add videoSnap. 2022-03-12 00:01:54 +01:00
Miroslav Šedivý
9ea1fb00d3 show screencast if not playing instead of unplayable. 2022-03-11 00:23:44 +01:00
Miroslav Šedivý
cee6332587 screencast as overlay, load when webrtc unstable. 2022-03-10 23:46:30 +01:00
Miroslav Šedivý
e61b04671b fix onsignalingstatechange. 2022-03-10 22:39:55 +01:00
Miroslav Šedivý
45e8ad19a9 webrtc send: check only data channel availability. 2022-03-10 22:39:34 +01:00
Miroslav Šedivý
f536552377 add webrtc stable to state. 2022-03-10 22:38:33 +01:00
Miroslav Šedivý
134db3d0c9 lint. 2022-03-10 20:44:23 +01:00
Miroslav Šedivý
e2db39fe69 add comments to reconnector. 2022-03-09 00:05:50 +01:00
Miroslav Šedivý
7a7041625a webrtc set video on track unmute. 2022-03-07 23:28:13 +01:00
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