Pierre Ossman
6a4c411976
Remove createEvent() fallbacks
...
We can now rely on proper constructors for our events.
2020-12-07 10:10:53 +01:00
Pierre Ossman
5b5b747494
Remove many small, obsolete, old browser hacks
...
These are for browsers no longer supported anyway.
2020-12-07 10:10:53 +01:00
Pierre Ossman
c01eb5e74d
Drop support for Internet Explorer
2020-10-15 18:53:51 +02:00
Pierre Ossman
0630352e19
Merge branch 'rgbx' of https://github.com/CendioOssman/noVNC
2020-09-04 13:40:23 +02:00
Pierre Ossman
50cde2faab
Move mouse event handling to RFB class
...
Move the last remaining bits to the RFB class to keep things simple, as
the Mouse class no longer provides any real value.
2020-06-12 14:36:10 +02:00
Pierre Ossman
88589a44f7
Increase wheel step threshold
...
The previous value made the detection too sensitive and it was very
difficult to scroll precisely. A value of 50 pixels should give similar
behaviour to systems that don't do fine grained scrolling.
2020-06-12 09:18:46 +02:00
Pierre Ossman
f84bc57bda
Move wheel event handling to RFB class
...
The Mouse class does very little now so it mostly just obfuscate things.
Move everything directly in to the RFB class instead.
2020-06-12 09:18:46 +02:00
Pierre Ossman
8be924c9d9
Add touch gestures for mouse emulation
...
Add several single and multitouch gestures to simulate various mouse
actions that would otherwise be impossible to perform.
This replaces the old system where you could select which mouse button
a single touch would generate.
2020-06-12 09:18:46 +02:00
Pierre Ossman
440ec8a0b6
Start fake test clock at real clock time
...
Some code relies on the clock having a somewhat sane value, so let's not
start at 0.
2020-06-11 16:50:08 +02:00
Pierre Ossman
0a6aec3578
Avoid printing the Websock buffer in tests
...
It takes forever and just messes up the output.
2020-06-11 16:50:08 +02:00
Pierre Ossman
111225fa41
Split decoder tests to separate files
2020-06-08 07:46:42 +02:00
Pierre Ossman
f694c32fd5
Merge branch 'camelcase' of https://github.com/samhed/noVNC
2020-06-05 09:41:25 +02:00
Samuel Mannehed
cfb824ed03
Add camelCase rule to eslint
2020-05-31 23:37:29 +02:00
Samuel Mannehed
ea858bfa27
Standardize on camelCase in Websock
2020-05-31 23:21:35 +02:00
Samuel Mannehed
95632e413d
Standardize on camelCase in tests
2020-05-31 23:21:35 +02:00
Samuel Mannehed
80187d158c
Standardize on camelCase in RFB
2020-05-31 23:21:35 +02:00
Samuel Mannehed
150596be83
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
2020-05-31 00:53:15 +02:00
Samuel Mannehed
11a22dbf0c
Stop send mouse clicks while dragging in view only
2020-05-31 00:53:15 +02:00
Samuel Mannehed
006743857b
Standardize on camelCase for functions in RFB
2020-05-31 00:53:15 +02:00
Samuel Mannehed
e7dec5270e
Standardize on camelCase for variables in RFB
2020-05-31 00:53:15 +02:00
Samuel Mannehed
479d8cefd1
Add ability to set compression level
...
Fixes github issue #1382 .
2020-05-01 20:47:36 +02:00
Andrey Trebler
efd1f8a4f2
adds qualityLevel property to RFB class for updating JPEG quality level encoding on the fly
2020-02-28 13:14:19 +01:00
Alex Tanskanen
ceb8ef4ec1
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.
2020-02-21 09:39:31 +01:00
Pierre Ossman
384232fb56
Merge branch 'clipboard_unicode' of https://github.com/CendioNiko/noVNC
2020-02-18 09:46:10 +01:00
Niko Lehto
f73fdc3ed3
Add extended clipboard Pseudo-Encoding
...
Add extended clipboard pseudo-encoding to allow the use of unicode
characters in the clipboard.
2020-02-18 09:32:36 +01:00
Niko Lehto
3b562e8a0f
Make clipBoardPasteFrom() test more specific
...
Don't rely on clientCutText() to test clipboardPasteFrom().
2020-02-17 09:34:44 +01:00
Samuel Mannehed
71bb3fdfa5
Fix color channels for VMware alpha cursors
...
The red and blue channels were incorrectly swapped.
2020-01-30 11:48:17 +01:00
Samuel Mannehed
3055307d3d
Merge pull request #1299 from CendioNiko/vmwarecursor
...
Add support for VMware cursor encoding
2019-09-25 14:45:29 +02:00
Niko Lehto
296ba51f49
Add support for VMware cursor encoding
...
Supports both classic cursor type and alpha cursor type. In classic
mode the server can send 'inverted' pixels for the cursor, our code
does not support this but handles these pixels as opaque black.
Co-authored-by: Samuel Mannehed <samuel@cendio.se>
2019-09-24 10:26:30 +02:00
Niko Lehto
8d6f686b59
Test unicode desktop names
2019-09-04 14:47:40 +02:00
Niko Lehto
ce66b46986
Add support for DesktopName extension
...
This extension allows session name to be changed during runtime.
2019-09-04 14:23:37 +02:00
Pierre Ossman
c9765e5066
Upgrade to latest sinon and chai
2019-08-15 15:58:09 +02:00
Pierre Ossman
b875486db8
Avoid deprecated called.once from sinon-chai
...
It's been removed in newer versions and will break eventually.
2019-08-15 15:58:09 +02:00
Pierre Ossman
70e6795829
Send data one byte at a time in tests
...
This makes sure we don't have code assuming that everything is
neatly packaged in a single WebSocket message.
2019-02-15 10:26:27 +01:00
Juanjo Diaz
8a189a6291
Add getters/setter to websock
2018-12-08 17:31:20 +02:00
Pierre Ossman
d105040581
Add tests for Cursor encoding
2018-09-18 11:36:32 +02:00
Pierre Ossman
2c5491e131
Enforce space after function name
2018-09-06 17:34:15 +02:00
Pierre Ossman
d80d9d3731
Enforce function call spacing
2018-09-06 16:46:38 +02:00
Pierre Ossman
6786fd8719
Enforce comma spacing
2018-09-06 16:43:31 +02:00
Pierre Ossman
7b536961b2
Enforce indentation
2018-09-06 16:37:38 +02:00
Pierre Ossman
ae2e1ff7bd
Move sinon to karma framework
...
This frees us from manual imports, and makes things less magical
as those aren't ES modules even if the code suggest that the are.
2018-07-13 15:57:24 +02:00
Juanjo Diaz
885363a373
Use the classic `function foo() { ... }` for top level functions or functions that depend on the scope
2018-07-12 19:06:57 +02:00
Juanjo Diaz
651c23ece3
Use fat arrow functions `const foo = () => { ... };` for callbacks
...
and any other function that is passed around and it's not a top level function
2018-07-12 19:06:57 +02:00
Juanjo Diaz
0e4808bf6f
Use ES6 classes
...
Always use the shorthand notation if the function is a method of an object or class `{ foo() { ... } }` or `class bar { foo() { ... } }`
unless it's a callback in which case you a fat arrow function should be used `{ cb: () => { ... } }`
2018-07-12 19:06:57 +02:00
Pierre Ossman
8f47bd296c
Work around Siemens touch panel authentication bug
...
Siemens' touch panels support Tight authentication as well as NOTUNNEL,
but they fail to advertise the latter. Work around this issue by detecting
a Siemens device (through their custom tunnel types) and assume NOTUNNEL
support even if not advertised.
2018-06-07 15:03:34 +02:00
Juanjo Diaz
2b5f94fa6a
Prefer const/let over var
2018-05-24 00:27:09 +03:00
Juanjo Diaz
8727f598c2
Add eslint and fix reported issues
2018-05-24 00:25:44 +03:00
Samuel Mannehed
2bb8b28d78
Handle sending large clipboards
...
Pasting clipboard texts that were larger than 10240 bytes didnt work and
caused a crash in noVNC. This commit fixes the crash and adds handling
for sending large clipboard texts. Fixes issue #1065 .
2018-05-07 13:02:51 +02:00
Juanjo Diaz
9e1bd410aa
Remove jshint comments
2018-01-31 07:38:29 -08:00
Pierre Ossman
9b84f51685
Move resize handling in to RFB object
...
Makes the API simpler and makes it easier for other frontends to
get this functionality.
2017-12-06 11:29:57 +01:00