Commit Graph

810 Commits

Author SHA1 Message Date
6fd1035fb1 Split decoder tests to separate files 2021-03-29 12:36:35 +03:00
212e0f1a10 Move tile handling to Hextile decoder
It is only used there so no need for it to be in the general
Display class.
2021-03-29 12:36:23 +03:00
69b945fc87 Standardize on camelCase in Display 2021-03-29 12:35:23 +03:00
b837bd6f59 Add camelCase rule to eslint 2021-03-29 12:34:42 +03:00
670eefbc97 Standardize on camelCase in Base64 2021-03-29 12:34:31 +03:00
b2d8db3f7b Standardize on camelCase in Decoders 2021-03-29 12:34:29 +03:00
a3e2b1e46e Standardize on camelCase in Logging 2021-03-29 12:34:25 +03:00
472ede66ea Standardize on camelCase in Websock 2021-03-29 12:34:23 +03:00
da228af778 Standardize on camelCase in tests 2021-03-29 12:34:13 +03:00
59f5648592 Remove unused properties and variables
The code that used these were removed in the following commits:

* 9ff86fb718477515ede2d6457f06643935d76bcd (RFB._mouse_arr)
* bb6965f2e60c2301dd638383bdc792d1f10af942 (old_requestAnimationFrame)
* 490d471c53b1791398d6c30f0efce54925939f33 (Display._c_forceCanvas)
2021-03-29 12:27:54 +03:00
19c473f792 Properly limit mouse moves to once every 17 ms
Previous attempt in c958269 had a number of issues, this is a full
rewrite, complete with improved unit tests.

Fixes github issue #1402
2021-03-29 12:26:12 +03:00
8a8fa1d906 Stop send mouse clicks while dragging in view only 2021-03-29 12:23:20 +03:00
5a81223d96 Standardize on camelCase for functions in RFB 2021-03-29 12:23:12 +03:00
eff38d47f9 Standardize on camelCase for variables in RFB 2021-03-29 12:21:50 +03:00
1de3769fd3 Remove unused mouse_arr variable 2021-03-29 12:16:38 +03:00
749ddce5b9 Add unit tests for mouse move limit 2021-03-29 12:16:01 +03:00
d420aa6413 Shorten rows to max 80 chars in mouse.js 2021-03-29 12:15:56 +03:00
93e42772bc Fix wording in comment 2021-03-29 12:15:49 +03:00
9098478faf Limit mouse move events to one every 17 ms 2021-03-29 12:15:39 +03:00
4710ec1822 Fix indentation for focus check 2021-03-29 12:15:34 +03:00
02b9b268ff Don't fade the control bar if it has focus
Fixes github issue #1369
2021-03-29 12:15:29 +03:00
a015e33111 Hide the clipboard when not connected
Fixes github issue #1367.
2021-03-29 12:15:25 +03:00
950d871b0e Document default setting of focusOnClick 2021-03-29 12:15:19 +03:00
02e7b006de rfb: VeNCrypt Plain SecurityType support
This allows using TigerVNC server with PAM authentication (e.g. agains
LDAP or other extensible authentication mechanisms)

Tested with TigerVNC server (Xvnc -SecurityTypes Plain -PlainUsers '*')

Should not break anything else, this method is tried last when all
other fail.

Tested in Firefox 74 and Chromium 80
2021-03-29 12:14:55 +03:00
95af51e28d Fix focus problem after closing the toolbar
Closing the toolbar would make the focus remain on the toolbar and
not in the session. The only way to switch focus was to click in the
session. This commit will automatically switch back focus to the session
after closing the toolbar.
2021-03-29 12:14:49 +03:00
64dfb8d1d6 Hide clipboard side bar button when view only mode
The clipboard side bar button serves no purpose if user uses 'View Only'
mode, this commit hides this button in those instances.
2021-03-29 12:14:25 +03:00
b173c8854a Fix crash with too large clipboard data
If too much text is copied in the session, String.fromCharCode.apply()
would crash in Safari on macOS and Chrome on Linux. This commit fixes
this issue by avoiding apply() altogether. Also added test to cover this
issue.
2021-03-29 12:14:19 +03:00
888f24e7af Style all input types for consistent UI
At least all that the browsers will let us.
2021-03-29 12:14:14 +03:00
8be81165bd Add extended clipboard Pseudo-Encoding
Add extended clipboard pseudo-encoding to allow the use of unicode
characters in the clipboard.
2021-03-29 12:13:59 +03:00
509b5795a0 Export constants in inflate.js for easier usage 2021-03-29 12:09:49 +03:00
581fe511ad Fix bug where inflate would read too much data 2021-03-29 12:09:44 +03:00
9ca647667b Split api of inflate
Added ability to read data chunk wise.
2021-03-29 12:09:40 +03:00
dbe2930758 Handle errors from zlib/pako 2021-03-29 12:09:36 +03:00
b690ae4c2d Move error handling to Inflate class
Every call wants this check so this should be done inside the class.
2021-03-29 12:09:32 +03:00
5e4544d5fc Add missing copyright header for Inflator.js 2021-03-29 12:09:27 +03:00
0b19961b06 Remove unused inflate argument
The value true was an invalid flush argument so it was in practice
unused.
2021-03-29 12:09:21 +03:00
286694869b Add util for unsigned and signed int. conversion
Will be used in later commit in extended clipboard handling.
2021-03-29 12:09:10 +03:00
fdeefcfab4 Add deflator helper class for deflating data
Wraps pako's deflate for easier usage.
2021-03-29 12:09:05 +03:00
24cf1f0f9a Make clipBoardPasteFrom() test more specific
Don't rely on clientCutText() to test clipboardPasteFrom().
2021-03-29 12:08:58 +03:00
d01f6e6d27 Correcting path to package.json for running at a path other than root. 2021-03-29 12:08:52 +03:00
c1160d1468 Fix color channels for VMware alpha cursors
The red and blue channels were incorrectly swapped.
2021-03-29 12:08:36 +03:00
1c38b6f120 Remove generated HTML by Cursor when it detaches 2021-03-29 12:08:01 +03:00
70dd0058ac Simplify encodeUTF8/decodeUTF8 unittests 2021-03-29 12:07:57 +03:00
a4c5c38b53 Add unit tests for encodeUTF8 and decodeUTF8 2021-03-29 12:07:52 +03:00
789308212b Remove unused python scripts 2021-03-29 12:07:48 +03:00
ce5fe304cb Fix chinese translation for "Disconnect"
Thanks for @wavezhang, @litongjava, and @bhzhu203 for helping out.
2021-03-29 12:07:41 +03:00
781075c841 Update chinese translation strings
Thanks to @QQ2017 and @wavezhang for helping out with correcting these.
2021-03-29 12:07:36 +03:00
2f43cead79 Add comment for browser and platform detection 2021-03-29 12:07:32 +03:00
e7a5aa271e Add short description at the top of browser.js 2021-03-29 12:07:23 +03:00
ad206180d2 Properly detect scrollbar gutter
As a rule, instead of hard-coding a behavior on specific platforms we
should do dynamic detection.

This commit moves away from always hiding scrollbars on Android and iOS
and instead detects the rendered width of scrollbars in the browser.
2021-03-29 12:07:09 +03:00