Commit Graph

427 Commits

Author SHA1 Message Date
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
Miroslav Šedivý
0bc57d550a add autoconnect for WebRTC. 2021-05-09 23:26:01 +02:00
Miroslav Šedivý
487114b3c8 fix websocket reconnection with async conn. 2021-05-09 23:25:52 +02:00
Miroslav Šedivý
f689bea219 make websocket connect async. 2021-05-09 21:06:09 +02:00
Miroslav Šedivý
31cfacd1df add autoconnect prop. 2021-05-09 20:33:43 +02:00
Miroslav Šedivý
3918a48187 wheel: add firstScroll. 2021-05-04 22:33:35 +00:00
Miroslav Šedivý
971f43c586 refactor wheel sensitivity. 2021-05-04 21:48:57 +00:00
Miroslav Šedivý
b39022c4de webrtc connect with selected video. 2021-04-30 14:06:13 +00:00
Miroslav Šedivý
73d57f0294 add auto login for token. 2021-04-24 21:22:36 +02:00
Miroslav Šedivý
edc4ea427d internal prefix private props. 2021-04-24 21:06:42 +02:00
Miroslav Šedivý
bf7a3b9163 use token if returned in session payload. 2021-04-24 20:57:14 +02:00
Miroslav Šedivý
6312ae2cd2 forward webrtc sdp for debugging, #15. 2021-04-18 22:49:41 +02:00
Miroslav Šedivý
5f9c565df6 periodically reconnect WebRTC. 2021-04-12 21:10:08 +02:00
Miroslav Šedivý
f9ca3a25db remove misleading comment. 2021-04-12 20:58:42 +02:00
Miroslav Šedivý
fee4f82ab5 bug: correct keyboard reset. 2021-04-12 13:32:52 +00:00
Miroslav Šedivý
7eaffd74a8 set default keyboard as US. 2021-04-07 23:22:04 +02:00
Miroslav Šedivý
0c98ca6925 removes fullscreen & used EVENTS structure. 2021-03-31 20:54:38 +02:00
Miroslav Šedivý
ce5aa6d40e keysyms remap in custom module. 2021-03-31 20:25:53 +02:00
Miroslav Šedivý
3b88b5c623 switch command with ctrl on mac and ios. 2021-03-31 20:12:59 +02:00
Miroslav Šedivý
3d7478ba71 key remap for ios and mac. 2021-03-30 21:07:19 +02:00
Miroslav Šedivý
25a13a177c fix disconnects. 2021-03-25 15:09:46 +01:00
Miroslav Šedivý
4a59aa06d2 lint fix. 2021-03-25 14:48:49 +01:00
Miroslav Šedivý
6496e7e229 WebRTC disconnect on URL switching. 2021-03-25 14:14:56 +01:00
Miroslav Šedivý
86d9e769f2 disconnect socket on system disconnect event. 2021-03-25 11:31:49 +01:00
Miroslav Šedivý
80d229041a do not destroy WebRTC on WS disconnect. 2021-03-23 15:41:20 +01:00
Miroslav Šedivý
c4486152e7 lint fix. 2021-03-18 14:13:02 +01:00
Miroslav Šedivý
a9e40d8b22 clone webrtc stats report. 2021-03-18 14:09:12 +01:00
Miroslav Šedivý
a73a38b736 webrtc stats: computed fps, fixes #10. 2021-03-18 12:45:58 +01:00
Miroslav Šedivý
0dbab610aa firefox framerate correct key. 2021-03-17 17:10:14 +01:00
Miroslav Šedivý
df933c8e60 firefox bug: dataChannel binaryType to arraybuffer. 2021-03-17 16:47:45 +01:00
Miroslav Šedivý
662cb53982 iceservers with auth. 2021-03-17 15:47:50 +01:00
Miroslav Šedivý
4230eb3e07 login username password. 2021-03-14 00:32:23 +01:00
Miroslav Šedivý
85c4f4371d member -> session. 2021-03-14 00:08:52 +01:00
Miroslav Šedivý
6a90cd11d2 member events -> session events. 2021-03-13 23:48:16 +01:00
Miroslav Šedivý
63fbbeaa09 memberState -> sessionState. 2021-03-13 23:41:13 +01:00
Miroslav Šedivý
d385c19794 autologin and server url in props. 2021-03-02 12:36:39 +01:00
Miroslav Šedivý
3e66e8ba8f axios withCredentials true. 2021-03-01 18:20:00 +01:00
Miroslav Šedivý
6f97a376f5 bump openapi generator version. 2021-02-26 22:54:43 +01:00
Gheorghe
c8cf5ed621 feat: ci pipeline for debug image 2021-02-26 14:34:14 +01:00
Miroslav Šedivý
606584bfdb keysym as uint32. 2021-02-23 21:26:17 +01:00
Miroslav Šedivý
ffd567698a canvas remove screenSize event. 2021-02-21 12:36:02 +01:00
Miroslav Šedivý
baf0c6de10 add playsinline to video. 2021-02-19 17:05:24 +01:00
Miroslav Šedivý
1cea58d9e4 set keyboard layout on control. 2021-02-18 23:14:47 +01:00
Miroslav Šedivý
7d4ad810b3 canvas redraw on cursorTag change. 2021-02-18 21:12:31 +01:00
Miroslav Šedivý
8bee5222b1 redraw on screenSize and clear if controlling. 2021-02-18 21:09:08 +01:00
Miroslav Šedivý
6340da049b clear canvas on WebRTC disconnect. 2021-02-18 20:53:08 +01:00
Miroslav Šedivý
49d6174953 synchronize keyboard modifiers with participant. 2021-02-18 16:53:19 +01:00
Miroslav Šedivý
91c465eeca reload canvas on image load. 2021-02-17 21:54:15 +01:00
Miroslav Šedivý
525efe17e7 add cursor tag. 2021-02-17 20:39:12 +01:00
Miroslav Šedivý
5ae700aea0 Revert "add red outline when controling." 2021-02-15 16:01:25 +01:00
Miroslav Šedivý
56a00a404c cursor image/position from WebRTC. 2021-02-13 17:29:35 +01:00
Miroslav Šedivý
3423cbc3b2 switch WebRTC to BigEndian. 2021-02-13 00:02:35 +01:00
Miroslav Šedivý
fbec6cee63 WebRTC use data channel from server. 2021-02-12 23:46:25 +01:00
Miroslav Šedivý
ed495f2fd9 overlay remove defaults for props. 2021-02-12 22:27:51 +01:00
Miroslav Šedivý
05176a2b31 round cursors pixel position. 2021-02-12 17:28:58 +01:00
Miroslav Šedivý
a1d755d6eb pass canvas size to overlay. 2021-02-12 17:11:28 +01:00
Miroslav Šedivý
873e9250cc optimize cursor moving with canvas rendering. 2021-02-11 21:17:47 +01:00
Miroslav Šedivý
6cfe39e6c5 add shared cursor as image tag. 2021-02-11 19:03:31 +01:00
Miroslav Šedivý
723ec821f3 prefix classes with neko-. 2021-02-10 20:57:13 +01:00
Miroslav Šedivý
becc18a928 add red outline when controling. 2021-02-10 20:54:44 +01:00
Miroslav Šedivý
c18213af63 implicit hosting on mouse click. 2021-02-10 20:49:02 +01:00
Miroslav Šedivý
c2d47108fc remove users first interaction event. 2021-02-10 19:33:42 +01:00
Miroslav Šedivý
221dd29968 added simple WebRTC video switching when 0 fps. 2021-02-10 19:27:34 +01:00
Miroslav Šedivý
e28b714090 webrtcReconnect. 2021-02-08 22:32:54 +01:00
Miroslav Šedivý
15e369da33 webrtc force close all. 2021-02-08 22:32:33 +01:00
Miroslav Šedivý
5f07d5aa87 bug: do not set authenticated to False when WS disconnected. 2021-02-08 19:35:14 +01:00
Miroslav Šedivý
03b4f7c71b disconnect websocket on system disconnect event. 2021-02-08 19:31:15 +01:00
Miroslav Šedivý
1ab1953dea refactor webscoket reconnection logic. 2021-02-08 19:14:39 +01:00
Miroslav Šedivý
85a3f4fd9d minor WS &WebRTC fixes. 2021-02-08 18:46:07 +01:00
Miroslav Šedivý
b6d61c0748 websocket improve disconnection handling. 2021-02-08 18:27:37 +01:00
Miroslav Šedivý
f2a9a33cb0 fix logout and save WS url. 2021-02-08 17:50:12 +01:00
Miroslav Šedivý
817ea28379 webrtc stats ignote when no connection. 2021-02-08 17:31:06 +01:00
Miroslav Šedivý
7858edb8ec webrtc connection change. 2021-02-07 17:28:15 +01:00
Miroslav Šedivý
73e043aa0d add reconnection logic. 2021-02-07 16:43:53 +01:00
Miroslav Šedivý
1fee7acaab add webrtc_stats to state. 2021-02-07 16:28:09 +01:00
Miroslav Šedivý
0aef325c5b add ice candidates adter accepting remote description. 2021-02-07 16:01:08 +01:00
Miroslav Šedivý
46c2625f1c add video stats. 2021-02-07 15:49:10 +01:00
Miroslav Šedivý
b0ed563792 accept candidates before offer. 2021-02-02 21:05:30 +01:00
Miroslav Šedivý
4850b5cb7c add Trickle ICE support. 2021-02-02 20:27:23 +01:00
Miroslav Šedivý
baffa8dde4 removed unused connection state props. 2021-01-31 14:47:12 +01:00
Miroslav Šedivý
b5432d5603 on system disconnect remove autentication. 2021-01-31 14:38:37 +01:00
Miroslav Šedivý
b85b40bfdf updated events emmiter. 2021-01-31 14:25:17 +01:00
Miroslav Šedivý
22829850bb autoplay as Prop. 2021-01-31 14:06:08 +01:00
Miroslav Šedivý
d7ee530960 webscoker & webrtc: unavailable state. 2021-01-31 13:54:47 +01:00
Miroslav Šedivý
1d1b995ceb start muted and unmute for autoplay. 2021-01-30 12:37:41 +01:00
Miroslav Šedivý
6bf28aa55d update docs & minor typo. 2021-01-29 23:21:14 +01:00
Miroslav Šedivý
eac56533e6 authentication with cookies. 2021-01-29 23:14:59 +01:00
Miroslav Šedivý
a5a82077c5 add cursor & browser to clear function. 2021-01-29 20:41:57 +01:00
Miroslav Šedivý
6142c3baec websocket supported getter. 2021-01-29 20:13:37 +01:00
Miroslav Šedivý
54f7514336 send: body any type. 2021-01-28 17:11:26 +01:00
Miroslav Šedivý
962b84d89e send / receive message. 2021-01-28 16:08:17 +01:00
Miroslav Šedivý
0e3a58c519 fix lint. 2021-01-21 16:14:05 +01:00
Miroslav Šedivý
1def45f2a1 add vuejs wrapper for component. 2021-01-21 16:01:23 +01:00
Miroslav Šedivý
224a84d082 add file chooser upload. 2021-01-20 23:59:32 +01:00
Miroslav Šedivý
ed197d5c76 logging changed. 2021-01-15 17:17:49 +01:00
Miroslav Šedivý
b9c68107d2 kbd layout -> kbd map. 2021-01-15 17:05:00 +01:00
Miroslav Šedivý
bb5f6337ef export and use models. 2021-01-13 22:36:09 +01:00
Miroslav Šedivý
45a1a39370 lint fix. 2021-01-13 22:04:36 +01:00
Miroslav Šedivý
ff89677435 cursor Image on connect. 2021-01-10 12:41:51 +01:00
Miroslav Šedivý
818e07fc8b cursor image as WS event. 2021-01-10 12:34:08 +01:00
Miroslav Šedivý
94186f3ef6 add cursor changing (WIP). 2021-01-09 23:28:56 +01:00