Commit Graph

329 Commits

Author SHA1 Message Date
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