169 Commits

Author SHA1 Message Date
Miroslav Šedivý
0d830998e5
Native touch events (#42)
* add webrtc touch events.

* bind touch events to overlay.

* we care only for changed touches.

* switch to int32.

* pressure uint16.

* add implicit control.

* add touch to controls.

* fix iteration of changedTouches.

* switch pressure to uint8.

* convert force to pressure.

* add hasTouchEvents.

* add touch_events to state.

* bind touch or gesture handler on demand.

* remove duplicate gesture detach.
2023-08-17 16:16:08 +02:00
Miroslav Šedivý
e13c97299d
disable pointer events when session can not control. (#41) 2023-07-16 16:54:28 +02:00
Miroslav Šedivý
4918c62c9a
Add support for touch gestures (#40)
* implement control using webrtc.

* overlay to use NekoControl.

* WIP.

* add is_host to control state.

* control use webrtc only if hosting.

* add proper links to 3rd party code.

* fix button events for gestureHandler.

* lint.

* fix implicit control gain for touch events.
2023-07-07 14:59:54 +02:00
Miroslav Šedivý
e58aecc49c
Refactor signaling for video and audio (#39)
* refactor webrtc video and audio.

* do not reconnect if video is disabled.

* export webrtc types.
2023-06-26 21:27:26 +02:00
Miroslav Šedivý
2c67394a7a add locked_controls to settings clear. 2023-06-07 17:36:20 +02:00
Miroslav Šedivý
8d39a95e92
WebRTC congestion control (#24)
* Move congestion control to server

* Address MR comments

* lint.

* bring back webrtc stats sync with state.

* update webrtc messages.

* set bitrate & video auto for signal request.

* clear up bitrate & video_auto.

* add bitrate and audio for connect function.

* reintroduce server side congestion control if video auto is false.

* mov ecode around.

* fix default video_auto.

* revert bitrate addition.

* remove video from signal provide.

---------

Co-authored-by: Aleksandar Sukovic <aleksandar.sukovic@gmail.com>
2023-05-15 19:32:21 +02:00
Miroslav Šedivý
0f9679d6d6 update api. 2023-05-15 17:09:08 +02:00
Miroslav Šedivý
af5aefd669 add locked_controls to state. 2023-05-15 17:09:08 +02:00
Miroslav Šedivý
13caeb3746 fix autoplay. 2023-05-14 22:20:10 +02:00
Miroslav Šedivý
645c4aa184 fix autoconnect for set url. 2023-05-14 22:20:10 +02:00
Miroslav Šedivý
8df29744b0
Screen sync add custom multiplier and rate settings (#32)
* screen sync add custom multiplier and rate settings.

* fix rate.

* add to page.
2023-04-28 19:39:11 +02:00
Miroslav Šedivý
9b851aac61 use window matchMedia. 2023-04-19 12:32:48 +02:00
Miroslav Šedivý
d3514b9698
Fix textarea focus for touchscreens with keyboard (#30)
* check if touchscreen has mouse.

* add inputMode to props.

* fix formatting.
2023-04-18 10:19:52 +02:00
Miroslav Šedivý
1f461cb322
Optimizing canvas for cursor rendering (#27)
* use dpr as canvas scale.

* wheel use event timestamp.

* remove vue set.

* add cursor rendering fps.
2023-04-13 12:25:36 +02:00
Miroslav Šedivý
9b579a8cbd
Screen size sync (#23)
* allow choosing any screen configuration.

* add screen sync option.

* round size to int.

* lint.
2023-02-14 21:20:05 +01:00
Miroslav Šedivý
dc2ef37e17
Add mobile keyboard API (#21)
* fix page for mobile - minor changes.

* fix textarea overlay to hide caret and avodi zooming on mobiles.

* fix typo.

* show keyboard btn if is touch device.

* lint fix.

* add to API.

* mobile keybaord fix andorid blur.

* add mobile keybaord toggle.

* fix overlay.

* mobile keybaord, skip if not a touch device.
2023-01-27 19:21:42 +01:00
Miroslav Šedivý
b27b8e028d
add bitrate switcher. (#15) 2022-11-07 19:40:36 +01:00
Miroslav Šedivý
84a1d16de3 accept ?token= in server URL. 2022-09-16 10:50:57 +02:00
Miroslav Šedivý
cfcc06fdcd hide overlay only if disconnected. 2022-08-25 00:15:31 +02:00
Miroslav Šedivý
56b7c8087d rename to wsControl. 2022-07-28 12:44:07 +02:00
Miroslav Šedivý
6f18bde058 overlay onAction move to control. 2022-07-28 12:44:07 +02:00
Miroslav Šedivý
f3850e022c overlay use control instead of event emitter. 2022-07-28 12:44:07 +02:00
Miroslav Šedivý
cd15007e3c
hide elements around textarea if added by browsers extensions. (#5) 2022-07-28 12:20:42 +02:00
Miroslav Šedivý
9c20591e3d add sendMessage. 2022-05-29 19:58:30 +02:00
Miroslav Šedivý
44f21b2f13 with external api. 2022-05-21 15:36:29 +01:00
Miroslav Šedivý
d87c78ba50 bi directional clipboard handling over WS. 2022-04-29 00:00:41 +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ý
33245fea03 webrtc fallback image video snap. 2022-03-18 23:56:27 +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ý
f536552377 add webrtc stable to state. 2022-03-10 22:38:33 +01:00
Miroslav Šedivý
7a7041625a webrtc set video on track unmute. 2022-03-07 23:28:13 +01:00
Miroslav Šedivý
b3eba8bd14 add original event to control events. 2022-02-12 14:25:25 +01:00
Miroslav Šedivý
c5e845c025 Resolve "Fallback image caching problem" 2022-02-07 13:31:11 +00: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ý
d546c5f65f add media input methods. 2022-01-06 22:32:40 +01:00
Miroslav Šedivý
c67e6c7dc3 use session ID in cursor draw functions. 2021-11-15 19:10:12 +01:00
Miroslav Šedivý
a6dea31605 ignore session and host cursor. 2021-11-12 00:04:32 +01:00
Miroslav Šedivý
b621c685c1 add inactive cursors to member profile. 2021-11-03 23:49:21 +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ý
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