Commit Graph

291 Commits

Author SHA1 Message Date
Matt McClaskey 91d579bd7a
KASM-5359 Multiscreen Misc (#82)
* add auto left click on focus

* remove filter of cursor updates

* terminate session option

* Detect user switching windows vs tabs

* Get cross display dragging working

* Selectively prevent default on mouse events

* correct mouse coordinates from secondary screens

---------

Co-authored-by: matt <matt@kasmweb.com>
Co-authored-by: Chris Hunt <chris.hunt@kasmweb.com>
2024-01-04 07:22:18 -05:00
matt ed83f31384 fixed bug with secondary screen on high dpi screen 2023-12-21 18:14:03 +00:00
matt 88ecc905ef sync down control keys on scroll 2023-12-21 15:53:46 +00:00
matt 82e0100a97 fix clipboard write to client from secondary screen 2023-12-21 15:46:11 +00:00
matt 19b3de10e1 artifacting fix, open new displays in new window 2023-12-21 13:58:27 +00:00
matt db2addddce allow drag of in-session windows to seamlessly move accross local browser windows. 2023-12-15 20:14:35 +00:00
matt 4a6aa73f6d fix bug with cursor not displaying on first connect 2023-11-14 08:39:51 -05:00
matt 2b7f938c6e CopyRect artifacts, fix unload detection on iframes 2023-10-30 15:32:35 -04:00
mattmcclaskey 70166b1a27
fix recursive disaster 2023-10-26 12:44:40 -04:00
mattmcclaskey b9f5ce3953
revert previous changes, cleanup 2023-10-26 08:20:13 -04:00
Chris Hunt 51022df869
Current state 2023-10-24 14:51:34 +01:00
Chris Hunt e6f48c5722
Show disconnect button 2023-10-24 12:14:18 +01:00
mattmcclaskey 80b9af1e32
fix scroll on primary, fix artifacting on connect, allow force draw of old frames 2023-10-23 09:21:50 -04:00
Chris Hunt c95aae3f8f
Add identify function 2023-10-18 16:31:39 +01:00
Chris Hunt c7c515796a
Show native resolution option
Remove display when deleted
2023-10-12 13:59:56 +01:00
mattmcclaskey 05ddc91382
handle window moved to diffent monitor 2023-10-11 09:27:04 -04:00
mattmcclaskey 3cc2f0caf3
add pixelratio to screen plan 2023-10-11 06:34:17 -04:00
mattmcclaskey 19e8e924c2
Fix native resolution on hdpi screens 2023-10-11 06:27:14 -04:00
mattmcclaskey 0f4979bcc5
several fixes 2023-10-05 13:30:37 -04:00
mattmcclaskey aef462ce62
refactor to support any number of displays in any orientation 2023-09-20 15:18:08 -04:00
mattmcclaskey 23076cdc7c
unregister a display if window closes 2023-09-20 09:06:27 -04:00
mattmcclaskey c35b8c68f3
Added support for all orientations and offsets 2023-09-20 08:17:05 -04:00
mattmcclaskey cb1bc7f787
wired up mouse, keyboard, clipboard on second display 2023-09-20 05:33:40 -04:00
mattmcclaskey 05735088b7
WIP - lots of fixes 2023-09-13 05:44:54 -04:00
mattmcclaskey 96001175a6
WIP - computer acting odd, committing code 2023-09-12 14:16:19 -04:00
mattmcclaskey 419a3a70e9
WIP - multi monitor refactor 2023-09-08 13:12:28 -04:00
Matt McClaskey 68135beedd
sync client and server down keys on mouse down too (#76)
Co-authored-by: mattmcclaskey <matt@kasmweb.com>
2023-08-29 14:03:58 -04:00
Mariusz Marciniak d135f05932
Feature/kasm 4608 linux printing (#74)
* Add support for relaying unix sockets

* KASM-4608 Add document printing using the printer socket relay

---------

Co-authored-by: Lauri Kasanen <cand@gmx.com>
Co-authored-by: mattmcclaskey <matt@kasmweb.com>
2023-08-03 14:06:27 -04:00
mattmcclaskey d1419f9430
KASM-4146 check browser support for webrtc 2023-03-20 15:25:32 -04:00
Matt McClaskey 4a9d5cebb4
KASM-4039 Limit clipboard checks only after a focus change (#59)
* limit clipboard checks only after a focus change

---------

Co-authored-by: mattmcclaskey <matt@kasmweb.com>
2023-03-02 07:53:10 -05:00
Ryan Kuba d177cd0c51
KASM-3972 use an array of known scaling values to produce pixel perfect output (#54)
* KASM-3972 use an array of known scaling values to produce pixel perfect output

* KASM-3972 drop automatic pixel perfect support to only 1.25 and 1.5 ratios common to Windows installations

* KASM-3972 change setting name and commit html changes

---------

Co-authored-by: ryan.kuba <ryan.kuba@kasmweb.com>
2023-02-23 16:01:35 -05:00
Mariusz Marciniak 31b1a93335
KASM-3744 Fix copy/paste for files and folders (#53) 2023-01-10 08:26:53 -05:00
j-travis 8e5c0e977f
Feature/kasm 3314 kasmvnc controls (#45)
* KASM-3314 Support for changing framerate / resolution / scaling via
iframe message
2022-11-17 14:21:27 -05:00
Matt McClaskey 2f01048bc6
KASM-3574 worker cleanup (#49)
* KASM-3574 worker cleanup

Co-authored-by: mattmcclaskey <matt@kasmweb.com>
2022-11-15 12:15:40 -05:00
Ryan Kuba 34305e9956
KASM-3535 code to disable workers on jpeg quality change more qoi threads (#47)
Added more QOI worker threads
2022-11-14 07:09:10 -05:00
Matt McClaskey 437830d497
Feature/kasm 3380 udp frame (#46)
* Handle the frame id in udp packets

* refactor udp message buffer, add frame_id and rect cnt

* refactor udp to work with new display.js

* additional debug metrics, clear frame buffer on transitions tcp/udp

* fix udp with display refactor, KASM-3541 cancelAnimationFrame

Co-authored-by: Lauri Kasanen <cand@gmx.com>
Co-authored-by: mattmcclaskey <matt@kasmweb.com>
2022-11-11 09:31:16 -05:00
Matt McClaskey 3a6a63cde3
KASM-3102 Allow setting the idle timeout (#41)
refactor idle timeout to use date diff
2022-11-11 09:29:52 -05:00
Anthony Merrill a97fa93d84
Bug/kasm 3355 multibyte issue (#42)
Fix clipboard server to client decoding of multi-byte characters
2022-11-04 07:13:19 -04:00
Matt McClaskey 9f240fc7b1
Major refactor of display class, support for QOI (#43)
* Major refactor of display.js queue to assume async rect processing in order to accommodate threaded decode or udp

* QOI lossless decoder on worker threads using WASM

* rfb.js class to provide frame_id and rect counts per frame

Co-authored-by: ryan.kuba <ryan.kuba@kasmweb.com>
Co-authored-by: matt <matt@kasmweb.com>
2022-11-02 07:01:54 -04:00
Matt McClaskey 9a95983382
KASM-3367 Refactor display.js, direct to visible canvas (#40)
* refactor display.js, remove non-visible canvas and concept of damage

* tweaks to UDP transitions

* Update testing readme

Co-authored-by: matt <matt@kasmweb.com>
Co-authored-by: matt mcclaskey <matt@kamsweb.com>
2022-10-14 15:07:57 -04:00
Dmitry Maksyoma 26c97c1dd3
Feature/kasm 2346 extend mouse buttons (#39)
* Extend mouse event button mask to 16 bits

* Mouse button mapping (JS -> Xorg) support

* Refactor: extract XVNC_BUTTONS

* Refactor: XVNC_BUTTONS numbers correspond to X button numbers

* Refactor

Co-authored-by: Lauri Kasanen <cand@gmx.com>
2022-10-14 12:52:19 -04:00
Matt McClaskey acb64b01b3
Fix send clipboard seamless client to server (#34)
Co-authored-by: mmcclaskey <matt@kasmweb.com>
2022-09-16 14:35:53 -04:00
Matt McClaskey 842d7ad938
added udp toggle in UI, added err handling (#33)
Co-authored-by: Matt McClaskey <matt@kasmweb.com>
2022-09-07 05:40:29 -04:00
Matt McClaskey 5a8d8f24b4
Udp Initial MVP (#32)
* Initial UDP code

* refactored UDP reassembly

* WIP Added udp decoder

* WIP cleanup

* Port multiplexing

* UDP upgrade/downgrade

* UDP packets now have a hash

* Correct udp.js this.numColors bug

* auto upgrade to udp

* re-apply webpack

* Code cleanup, optimize clearing udpBuffer

Co-authored-by: Lauri Kasanen <cand@gmx.com>
Co-authored-by: matt <matt@kasmweb.com>
2022-07-29 12:38:55 -04:00
Matt McClaskey 1753425874
Pointer lock api (#29)
Add pointer lock and relative cursor position support. Game mode enables both pointer lock and relative cursor positions.
2022-05-03 10:37:22 -04:00
Matt McClaskey 6c708d8254
Feature/kasm 2445 clipboard ids (#28)
Adds IDs to clipboard operations for use in DLP, logging, and general attribution.
2022-04-05 08:56:54 -04:00
Matt McClaskey 385a1f99b4
Feature/kasm 2335 ime support 2 (#27)
IME support, refactored keyboard input
2022-03-25 15:03:19 -04:00
Matt McClaskey df9c9d0d96
Bugfix/kasm 2242 clipboard sync (#26)
* KASM-2242 clipboard behavior correction

* remove clipboard length check

Co-authored-by: matt <matt@kasmweb.com>
2022-01-31 09:39:19 -05:00
mmcclaskey ad1fc1f06d
KASM-2152 fps added to stats (#25)
Co-authored-by: matt <matt@kasmweb.com>
2022-01-11 15:31:39 -05:00
Mariusz Marciniak c20db143a0 KASM-2108 Update Kasm<->noVNC communication for mobile related features 2021-11-15 13:53:58 +00:00