Juanjo Diaz
9d2c9d1a75
Use default argument for base64
2019-02-26 23:52:47 +02:00
Juanjo Diaz
667f3cc20e
Remove unnecessary context from eventtarget
2019-02-26 23:51:45 +02:00
Juanjo Diaz
fe5974a740
Remove unnecessary constructor parameter from Cursor
2019-02-26 23:51:33 +02:00
Juanjo Diaz
9255e0fb47
Remove intermediate variable from mouse
2019-02-16 23:31:58 +02:00
Pierre Ossman
b00a608af7
Remove error handling in clientCutText()
...
It is not necessary as Websock.flush() is guaranteed to succeed and
give us some space. It also remove the call to _fail(), which was
invalid at this place as clientCutText() is not a method on RFB.
2019-02-15 13:14:36 +01:00
Pierre Ossman
47c66517ae
Throw correct Error object
...
We've already defined the name Error as a logging function, so we
need to be more explicit when we want to refer to the exception
class.
2019-02-15 13:01:28 +01:00
Pierre Ossman
c02b18f06f
Clean up RFB._rfb_auth_schema assignment
2019-02-15 10:25:50 +01:00
Pierre Ossman
3bb15d4aa0
Fix security failure reason handling of slow data
...
Things would break if the security result and security reason did
not arrive in the same WebSocket message.
2019-02-15 10:24:41 +01:00
Pierre Ossman
c13df5ae67
Fix version handshake to handle slow data
2019-02-15 10:23:32 +01:00
Pierre Ossman
b8ff5d1bde
Use arrow function to avoid bind
2019-02-15 10:22:27 +01:00
Pierre Ossman
17eea9574d
Consume data properly in Hextile decoder
...
We accidentally removed the code updating the data index in 8a189a6
,
resulting in the decoder newer consuming any data. So the data would
be parsed as the next rect, causing weird errors.
2019-02-14 16:57:26 +01:00
Mykola Mokhnach
d7791ebbcd
Make the screen background cutomizable
2019-01-18 19:36:23 +01:00
Samuel Mannehed
ef64917a90
Only disable scrollbars on Android and iOS
...
Previously scrollbars were disabled on all touch devices. This meant
that they were disabled on Windows when touch was detected. Windows does
in fact have useful scrollbars even in touch mode. Fixes Issue #1172
2019-01-09 14:59:22 +01:00
Samuel Mannehed
47b3eac82b
Move UI.isSafari into core/util/browser.js
...
This is where the rest of these kinds of functions are.
2019-01-09 14:58:03 +01:00
Samuel Mannehed
97e23ebbb2
Reorder browser and platform info functions
...
Platform info functions grouped together and browser info functions
grouped together.
2019-01-09 14:56:59 +01:00
Juanjo Diaz
879e33ab64
Extract rQshift to common function
2018-12-08 17:32:00 +02:00
Juanjo Diaz
8a189a6291
Add getters/setter to websock
2018-12-08 17:31:20 +02:00
Samuel Mannehed
18439b0680
Merge pull request #1165 from juanjoDiaz/throw_errors_instead_of_strings
...
Throw Error instead of String
2018-11-26 19:09:44 +01:00
Samuel Mannehed
2bab9a0460
Merge pull request #1166 from juanjoDiaz/simplify_EventTargetMixin
...
Simplify EventTargetMixin
2018-11-26 18:42:10 +01:00
Juanjo Diaz
11ef53544f
Simplify EventTargetMixin
2018-11-25 13:53:23 +02:00
Juanjo Diaz
d3ed883a8f
Use `new` when constructing errors
2018-11-24 21:44:11 +02:00
Juanjo Diaz
84a5a2d827
Throw Error instead of String
2018-11-24 19:47:57 +02:00
Solly Ross
84586c0f17
Change copyright header ( #1138 )
...
* Change copyright header
This updates the copyright header to say "The noVNC Authors". People
who previously had copyright listings are now under the AUTHORS file.
2018-10-09 12:15:35 +02:00
Pierre Ossman
679535ec29
Fix cursor encoding handling from earlier merge
...
Old code snuck in when merging the split of decoders to separate
classes. Restore the proper handling of cursors.
2018-09-18 11:08:02 +02:00
Pierre Ossman
9881899e7b
Merge branch 'style' of https://github.com/CendioOssman/noVNC
2018-09-17 13:54:04 +02:00
Pierre Ossman
934c606d91
Merge branch 'decoders' of https://github.com/CendioOssman/noVNC
2018-09-17 13:47:12 +02:00
Alexander E. Patrakov
4c38179d15
Show dot when there is no visible cursor
...
Disabled by default.
2018-09-14 20:31:59 +05:00
Alexander E. Patrakov
d1314d4b3a
Moved the "pixels + mask -> RGBA" logic to rfb.js
...
As requested by Pierre Ossman - he needs this for supporting other
cursor extensions.
2018-09-07 23:01:46 +08:00
Pierre Ossman
2c5491e131
Enforce space after function name
2018-09-06 17:34:15 +02:00
Pierre Ossman
3f1cda2e37
Enforce space before code block
2018-09-06 17:29:26 +02:00
Pierre Ossman
0ae5c54ab3
Enforce explicit semi-colons
2018-09-06 17:25:02 +02:00
Pierre Ossman
426a8c927b
Enforce curly braces for control statements
2018-09-06 17:22:40 +02:00
Pierre Ossman
4a16dc51a8
Enforce no trailing whitespace
2018-09-06 17:12:45 +02:00
Pierre Ossman
942a312779
Enforce object key spacing
2018-09-06 17:07:11 +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
a98881151f
Enforce brace style
2018-09-06 15:39:26 +02:00
Pierre Ossman
923cd22083
Move decoders to separate classes
...
Makes things a lot clearer by letting each encoding handle its own
details and state.
2018-08-22 15:12:34 +02:00
Pierre Ossman
11309f3243
Handle pseudo encodings directly
...
These have very special behaviour compared to normal data encodings,
so separate out them and handle them separately.
2018-08-22 15:12:10 +02:00
Pierre Ossman
e17cae8f32
Remove statistics tracking
...
The profiles in the browsers are much better these days and give us
much better data than we can provide ourselves.
2018-08-22 15:12:05 +02:00
Pierre Ossman
71960cda85
Give proper int argument to encodingName()
2018-08-22 14:46:37 +02:00
Pierre Ossman
ce6287574f
Merge branch 'hidpi_scale' of https://github.com/CendioOssman/noVNC
2018-08-16 17:50:09 +02:00
Samuel Mannehed
3b7c47417e
Move dragThreshold definition to util/
...
In order to avoid multiple declarations that has to be updated in the
case of future updates.
2018-08-10 11:24:09 +02:00
Pierre Ossman
ab1ace383e
Handle fractional screen sizes
...
With high DPI systems we can end up with a container with a size that
is not an integer number of CSS pixels. Make sure we can handle those
cases by allowing a fractional size for the output canvas. Framebuffer
size and viewport coordinates are still restricted to integer dimensions
though.
Based on initial patch by Alexander E. Patrakov.
2018-07-26 14:15:59 +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
67fefcf184
Merge branch 'cursor' of https://github.com/CendioOssman/noVNC
2018-07-11 13:39:37 +02:00
Pierre Ossman
baa4f23ee5
Provide fallback cursor method
...
Some browsers don't support custom cursors, and there are cases
where the browsers refuse to show the cursor. Handle both of these
cases by letting the browser render the cursor via a floating
canvas.
This allows us to support a local cursor at all times.
2018-07-06 16:37:27 +02:00
Pierre Ossman
1073b60155
Sort vkeys table
2018-07-04 15:53:41 +02:00
Pierre Ossman
8acadd9e97
Merge branch 'fix/ie11-numpad5-compatibility' of https://github.com/vlastoun/noVNC
2018-07-04 15:53:30 +02:00
Samuel Mannehed
f90c2a6d4b
Avoid TypedArray.slice() because of IE11
2018-06-15 12:00:43 +02:00
Samuel Mannehed
d9814c06bf
Use string assignment operator instead of concat()
...
The assignment operator is a lot faster.
2018-06-15 11:59:28 +02:00
Samuel Mannehed
4318c8cafd
Use the correct slicing for rQshiftStr
...
This didn't result in any error however since slice() handles such
mistakes gracefully.
2018-06-15 11:56:56 +02:00
Samuel Mannehed
db9daa98a5
Avoid big strings on the stack
...
Previous code resulted in RangeErrors by potentially creating big
strings.
Fixes issue #1065
2018-06-14 16:59:52 +02:00
Samuel Mannehed
362bd5e3a2
Call rQshiftBytes to avoid code duplication
2018-06-14 16:51:29 +02:00
Samuel Mannehed
e87b645b56
Remove typedArrayToString
...
We don't use PhantomJS anymore
2018-06-14 16:43:48 +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
Pierre Ossman
e6bad200e4
Add debug logging for Tight authentication
...
Makes it easier to diagnose user issues when we can see what the
server and noVNC are trying to negotiate.
2018-06-07 14:57:17 +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
Vlastimil Sadilek
5858f472e3
Fix: IE11 Numpad5 compatibility when numlock off
...
This fix Numpad5 in Internet Explorer 11 if numlock state of host differs with numlock state of
VNC console.
2018-05-16 13:52:56 +02: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
Vlastimil Sadilek
f3e2fc58ec
Fix: undefined err, undefined Exception
2018-05-04 14:23:02 +02:00
Pierre Ossman
b475eed5fa
Separate out cursor handling
...
Make cursor handling more generic in preparation for generic handling
of corner cases.
2018-03-15 17:22:21 +01:00
Pierre Ossman
35dd3c2299
Merge branches 'ffalt' and 'altgr' of https://github.com/CendioOssman/noVNC
2018-03-13 16:03:01 +01:00
Pierre Ossman
3a7c0c67c1
Work around broken Alt keyup in Firefox
...
Firefox no longer sends keyup events properly for the Alt keys. Try
to sniff out the state of the Alt key by monitoring other events that
include its state.
2018-03-13 16:01:38 +01:00
Pierre Ossman
b22c9ef954
Better detection of AltGr on Windows
...
Try to properly detect the fake CtrlL+AltR sequence Windows sends
when pressing AltGr. This allows us to send more accurate key
events over to the server.
2018-03-09 12:14:23 +01:00
Pierre Ossman
d6ae445773
Handle _keyDownList in _sendKeyEvent()
...
This makes sure it never gets out of sync with what we've actually
sent.
2018-03-09 12:13:21 +01:00
Pierre Ossman
e1802cac7f
Separate Tight PNG in stats output
2018-02-27 10:52:02 +01:00
Pierre Ossman
5bdcf5d31c
Enforce Tight PNG restrictions
...
Tight PNG rects cannot use the basic compression variants, and PNG
cannot be used in a standard Tight rect.
This is a partial revert of 3e8b26a
based on better understanding
of the encoding.
2018-02-27 10:50:13 +01:00
Leslie Qi Wang
2c813a33fe
add encoding support for TightPNG
2018-02-23 10:38:17 -08:00
Solly Ross
a4d51bd220
Merge pull request #1009 from juanjoDiaz/move_browser_checks
...
Move browser checks to browser.js
2018-02-01 10:33:28 -05:00
Solly Ross
096fcc4fa3
Merge pull request #1007 from juanjoDiaz/remove_jshints_comments
...
Remove jshint comments
2018-01-31 10:58:20 -05:00
Juanjo Diaz
9e1bd410aa
Remove jshint comments
2018-01-31 07:38:29 -08:00
Solly Ross
ca0644b252
Merge pull request #1008 from juanjoDiaz/remove_unnecesary_base64_dependency
...
Remove unnecessary base64 dependency
2018-01-30 13:41:28 -05:00
Juanjo Diaz
a003535941
Remove console statements
2018-01-30 08:53:38 -08:00
Juanjo Diaz
24c99fbfd7
Remove unnecessary Log dependency in events.js
2018-01-30 08:38:46 -08:00
Juanjo Diaz
59ef29163e
Move browser checks to browser.js
2018-01-30 08:35:47 -08:00
Juanjo Diaz
9dc0f4095b
Remove unnecessary base64 dependency
2018-01-30 08:19:39 -08:00
Pierre Ossman
72abf78487
Merge branch 'master' of https://github.com/josiah2009/noVNC
2017-12-14 12:50:38 +01:00
Samuel Mannehed
b245ec7038
Fix disconnect crash when screen doesn't exist
...
The function removeChild throws an exception when the element specified
doesn't exist. This can happen when opening the websocket throws an
exception during connect. Fixes issue #979
2017-12-12 18:25:20 +01:00
Pierre Ossman
4f4f62261a
Merge branch 'resize' of https://github.com/CendioOssman/noVNC
2017-12-11 16:48:54 +01: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
Pierre Ossman
898cd32c07
Don't send pointer event on end of drag
...
We should only send an event to the server if we didn't actually
end up dragging the viewport.
2017-11-30 16:15:42 +01:00
Josiah White
baf822d3de
Initalize cached 16x16 tile.
2017-11-30 03:17:02 -05:00
Pierre Ossman
7f39868158
Remove noisy websock debug logging
...
It generates too many log lines that it drowns out everything else.
2017-11-24 13:10:35 +01:00
Pierre Ossman
ddcb60c3b3
Don't log WebSocket close by default
...
This is an expected event so it shouldn't be logged by default.
2017-11-20 15:21:59 +01:00
Samuel Mannehed
db46e36eb9
Merge pull request #950 from samhed/disconnectapi
...
Abstract information from RFB to the UI
2017-11-17 11:01:11 +01:00
Samuel Mannehed
7279364c9a
Move localization.js to app
...
Since it is no longer used in core. Also splits localization tests into
a separate file.
2017-11-14 15:36:12 +01:00
Samuel Mannehed
d472f3f19e
Abstract RFB errors to avoid sending strings
...
The API allowed strings to be passed from the RFB module to the
application using the disconnect reason. This caused problems since
the application didn't have control over translations for these
strings.
Most of the information being passed using this string was very
technical and not helpful to the end user. One exception to this was
the security result information regarding for example authentication
failures. The protocol allows the VNC server to pass a string
directly to the user in the security result.
So the disconnect reason is replaced by a boolean saying if the
disconnection was clean or not. And for the security result information
from the server, a new event has been added.
2017-11-14 15:36:12 +01:00
Samuel Mannehed
ee5cae9fee
Replace updatestate event with connect
...
Instead of exposing all the internal connection states, the RFB module
will now only send events on connect and on disconnect. This makes it
simpler for the application and gets rid of the double events that were
being sent on disconnect (previously updatestate and disconnect).
2017-11-14 14:10:36 +01:00
Pierre Ossman
b8dfb983df
Fix old focus on click references
...
The property was renamed when mergin the public API changes, but
a few references were overlooked.
2017-11-11 16:44:53 +01:00
Samuel Mannehed
5b20d338ce
Remove RFB.notification()
...
This interface was a band aid for poor design. The two cases where it
was used was replaced by logging.
2017-11-11 02:10:12 +01:00
Samuel Mannehed
4e1c5435b8
Add missing semicolons
2017-11-11 02:10:12 +01:00
Pierre Ossman
a201bfc5eb
Merge branch 'api' of https://github.com/CendioOssman/noVNC
2017-11-10 14:19:05 +01:00
Pierre Ossman
e89eef94aa
Use standard EventTarget interface for events
2017-11-09 13:14:16 +01:00
Pierre Ossman
65fdfeae13
Remove unused options argument in onnotification event handler
2017-11-09 13:13:41 +01:00
Pierre Ossman
2f4516f293
Integrate connect() in to constructor
...
An RFB object represents a single connection so it doesn't make
sense to have one without it trying to connect right away. Matches
the behaviour of other APIs, e.g. WebSocket.
2017-11-09 13:13:41 +01:00
Pierre Ossman
68e09edcdc
Remove disconnectTimeout property
...
Callers should not need to modify this timeout.
2017-11-09 13:13:41 +01:00
Pierre Ossman
002907d2ce
Remove "downscale only" mode
...
The normal scaling mode should be sufficient for most use cases, so
let's keep the interface simple.
2017-11-09 13:13:41 +01:00