Commit Graph

392 Commits

Author SHA1 Message Date
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
Miroslav Šedivý
980b3217f8 getFilesFromDataTansfer - with directory upload. 2021-01-09 15:31:01 +01:00
Miroslav Šedivý
6bd3352a5f drag events correctly emiting to server. 2021-01-08 22:15:49 +01:00
Miroslav Šedivý
dc5699e425 add upload drop events. 2021-01-08 21:36:59 +01:00
Miroslav Šedivý
aab2f389eb switch to new API. 2021-01-08 20:51:38 +01:00
Miroslav Šedivý
4074436d96 generate new API. 2021-01-08 20:16:05 +01:00
Miroslav Šedivý
dea3378cb0 add drag and drop event handler. 2021-01-07 20:21:40 +01:00
Miroslav Šedivý
972ee7c123 add tabs to neko component. 2020-12-29 20:50:49 +01:00
Miroslav Šedivý
398a8a4ab4 remove unused header methods. 2020-12-29 19:25:39 +01:00
Miroslav Šedivý
09e1050f8f remove remporary cookeis hooks. 2020-12-28 21:02:10 +01:00
Miroslav Šedivý
67d0c7eb78 remove duplicate API endpoints. 2020-12-28 17:34:51 +01:00
Miroslav Šedivý
eeb82c09b3 browser tab use REST API. 2020-12-27 22:14:56 +01:00
Miroslav Šedivý
b13c9696b1 api remove payload from names. 2020-12-26 23:59:29 +01:00
Miroslav Šedivý
c796a9e530 export API. 2020-12-26 23:21:49 +01:00
Miroslav Šedivý
c7fde94ac4 add headers manipulation. 2020-12-24 03:23:08 +01:00
Miroslav Šedivý
c9290bd88a browser add cookies. 2020-12-23 02:41:15 +01:00
Miroslav Šedivý
5755b45888 browser tabs example introduced. 2020-12-20 19:35:35 +01:00
Miroslav Šedivý
251cea24b8 add back and forward navigate. 2020-12-13 23:38:38 +01:00
Miroslav Šedivý
67405da3aa add browserUrl. 2020-12-13 23:24:21 +01:00
Miroslav Šedivý
ed31b7de70 API updated. 2020-12-08 16:13:26 +01:00
Miroslav Šedivý
5bdd5fc54b ignore if no video after webrtc destroying. 2020-12-07 19:45:07 +01:00
Miroslav Šedivý
cab53d7d17 webrtc connect / disconnect functions. 2020-12-07 18:46:29 +01:00
Miroslav Šedivý
f30614db25 properly destroy webrtc stream. 2020-12-07 18:44:14 +01:00
Miroslav Šedivý
b489432dbe is admin condition. 2020-12-06 20:30:34 +01:00
Miroslav Šedivý
4f56d14ae3 implicitControl only if user can host. 2020-12-06 20:08:25 +01:00
Miroslav Šedivý
e138b5fc27 is_receiving - is_watching. 2020-12-06 19:02:24 +01:00
Miroslav Šedivý
fb4f1d68cc remove WS and add memberUpdate. 2020-12-03 20:46:54 +01:00
Miroslav Šedivý
052eb3cade add clear state function. 2020-12-03 20:16:24 +01:00
Miroslav Šedivý
7f038140e3 WS remove connected & disconnected event. 2020-12-03 16:43:52 +01:00
Miroslav Šedivý
7a8a4f11dc extract member state to custom struct. 2020-12-03 16:11:26 +01:00
Miroslav Šedivý
11a843af0f new WS events. 2020-12-02 19:21:25 +01:00
Miroslav Šedivý
3df2c028cd update member data interface. 2020-12-02 18:17:07 +01:00
Miroslav Šedivý
38703f89b6 add member create & delete. 2020-12-02 13:52:02 +01:00
Miroslav Šedivý
2a6a65144c introduced ImplicitHosting. 2020-12-02 11:24:27 +01:00
Miroslav Šedivý
8bfe0c4f67 add implicit control. 2020-12-02 10:45:23 +01:00
Miroslav Šedivý
a268bddc57 member id instead of whole object in state. 2020-12-01 23:59:02 +01:00
Miroslav Šedivý
4c247f61ff members as object. 2020-12-01 22:58:05 +01:00
Miroslav Šedivý
77049128df add MemberId to init. 2020-11-30 22:25:20 +01:00
Miroslav Šedivý
267ef5baa0 WebSocket types & messages refactored using new spec. 2020-11-30 22:00:07 +01:00
Miroslav Šedivý
deae203803 use REST API. 2020-11-29 16:01:08 +01:00
Miroslav Šedivý
c3d48d39e2 lint fix. 2020-11-29 15:50:08 +01:00
Miroslav Šedivý
ac9ac7ac69 add new api internal class. 2020-11-29 15:34:52 +01:00
Miroslav Šedivý
6fa8c3c1f8 add video mute event. 2020-11-29 12:06:01 +01:00
Miroslav Šedivý
3cf85fed8e split component & page. 2020-11-28 21:47:16 +01:00
Miroslav Šedivý
f796eb236b use persistent autentication. 2020-11-28 15:28:11 +01:00
Miroslav Šedivý
bc443cb3a0 remove legacy websocket endpoints. 2020-11-28 15:08:07 +01:00
Miroslav Šedivý
3261cf663a add screenChangingToggle. 2020-11-16 16:12:04 +01:00
Miroslav Šedivý
7e5b545a0f add public gettter. 2020-11-10 21:46:22 +01:00
Miroslav Šedivý
71a6cea82e upgrade all packages. 2020-11-10 21:11:44 +01:00
Miroslav Šedivý
3214d35f24 remove unused packages. 2020-11-10 20:54:41 +01:00
Miroslav Šedivý
1b9b37bcc5 edit naming convention. 2020-11-10 20:17:46 +01:00
Miroslav Šedivý
7dc02267eb fix set volume as Number. 2020-11-10 20:04:36 +01:00
Miroslav Šedivý
c0cb144876 toggle switch inverse. 2020-11-10 19:59:51 +01:00
Miroslav Šedivý
619ac3350b refactor state & public methods. 2020-11-10 19:57:52 +01:00
Miroslav Šedivý
6177ffc242 member is_admin. 2020-11-08 22:50:18 +01:00
Miroslav Šedivý
3c09eaf0ad member is watching. 2020-11-08 22:48:04 +01:00
Miroslav Šedivý
214d3e04f4 connection state. 2020-11-08 22:44:37 +01:00
Miroslav Šedivý
869b27161b fullscreen. 2020-11-08 22:16:47 +01:00
Miroslav Šedivý
fc928f4ed2 video volume state. 2020-11-08 22:02:00 +01:00
Miroslav Šedivý
d6c3c4b2aa update states. 2020-11-08 21:19:46 +01:00
Miroslav Šedivý
a98866e5cb update state. 2020-11-08 19:38:14 +01:00
Miroslav Šedivý
b4817b886a publish neko state. 2020-11-07 20:12:13 +01:00
Miroslav Šedivý
70025fd2d7 messages class as event emitter. 2020-11-07 18:47:02 +01:00
Miroslav Šedivý
f90c506928 listen to all events. 2020-11-07 15:08:39 +01:00
Miroslav Šedivý
b38696596a add websocket and webrtc to state. 2020-11-07 13:26:07 +01:00
Miroslav Šedivý
ff7eafd5bd add messages handler. 2020-11-06 23:27:07 +01:00
Miroslav Šedivý
e79734f51e add state. 2020-11-06 22:19:41 +01:00
Miroslav Šedivý
67573f26ef split compnent & spa. 2020-11-06 20:49:05 +01:00
Miroslav Šedivý
7c9be1fd45 add outline to overlay. 2020-11-06 20:48:19 +01:00
Miroslav Šedivý
22b5a7ebd2 add interactivity. 2020-11-06 17:59:01 +01:00
Miroslav Šedivý
710675f4fa webrtc connected on data channel connected. 2020-11-06 17:32:50 +01:00
Miroslav Šedivý
8dafa9fb76 add video overlay. 2020-11-05 19:39:44 +01:00
Miroslav Šedivý
f857808497 webrtc with video. 2020-11-05 18:44:36 +01:00
Miroslav Šedivý
e99047963c webrtc & websocket simple implementation. 2020-11-05 18:06:55 +01:00
Miroslav Šedivý
3bff243dcb fix lint. 2020-11-05 17:20:37 +01:00
Miroslav Šedivý
bc918bddea add WebScoket & WebRTC classes. 2020-11-05 17:15:21 +01:00
Miroslav Šedivý
2c5ec6545a sample interactivity. 2020-11-05 12:52:22 +01:00
Miroslav Šedivý
fa28f2c6ee inital commit. 2020-11-05 11:56:26 +01:00