]> git.proxmox.com Git - mirror_novnc.git/log
mirror_novnc.git
9 years agoRemove local copies of websockify
Solly Ross [Mon, 16 Feb 2015 22:03:17 +0000 (17:03 -0500)]
Remove local copies of websockify

This commit removes local copies of websockify.
Instead `utils/launch.sh` performs the following logic:

If `utils/websockify` exists, use `utils/websockify/run` (if the latter
does not exist, or is not executable, fail, since this is probably a
mistake).

Otherwise, check to see if websockify is installed somewhere (try
`which websockify`).  If it is, use that.  Otherwise, clone
websockify from github, and tell git to ignore that directory.

Packaged versions of noVNC should simply list websockify as a
requirement.  The debian packaging has been updated to reflect
this.

Closes #433

9 years agoMerge pull request #444 from samhed/extdesktop
Solly [Tue, 10 Feb 2015 16:31:37 +0000 (11:31 -0500)]
Merge pull request #444 from samhed/extdesktop

Support ExtendedDesktopSize and SetDesktopSize

9 years agoSupport automatic resize [Part 4/4]: unit tests
samhed [Tue, 10 Feb 2015 16:06:55 +0000 (17:06 +0100)]
Support automatic resize [Part 4/4]: unit tests

* Added new tests for the setDesktopSize encoding
* Added new tests for the ExtendedDesktopSize encoding

9 years agoSupport automatic resize [Part 3/4]: ui.js
samhed [Tue, 10 Feb 2015 16:05:58 +0000 (17:05 +0100)]
Support automatic resize [Part 3/4]: ui.js

* Added a resize request (setDesktopSize) triggered when connecting and by
  changes to the browser window's size.
* Hid the view-drag-hand when the display area is the same or smaller than the
  remote session size.
* Added a setting for the automatic resize feature.
* Updated vnc.html and vnc_auto.html to reflect the changes to the UI.

9 years agoMerge pull request #443 from fzylogic/master
Samuel [Sat, 7 Feb 2015 02:13:41 +0000 (03:13 +0100)]
Merge pull request #443 from fzylogic/master

keysym.js needs inclusion in debian's install list

9 years agokeysym.js needs inclusion in debian's install list
Jeremy Hanmer [Fri, 6 Feb 2015 22:24:47 +0000 (14:24 -0800)]
keysym.js needs inclusion in debian's install list

9 years agoSupport automatic resize [Part 2/4]: rfb.js
samhed [Fri, 6 Feb 2015 16:06:48 +0000 (17:06 +0100)]
Support automatic resize [Part 2/4]: rfb.js

* Support sending the setDesktopSize encoding (client -> server)
* Support recieving the ExtendedDesktopSize encoding (server <- client)

9 years agoSupport automatic resize [Part 1/4]: display.js
samhed [Fri, 6 Feb 2015 15:43:45 +0000 (16:43 +0100)]
Support automatic resize [Part 1/4]: display.js

* Split viewportChange into two functions, one for changing size and the other for changing position.
* Modified viewport code to be capable of changing to a bigger size in the context of a
  client-initiated resize.
* Made clearer distinctions between when viewport-clipping or not.
* Added public function for telling when viewport-clipping.
* Updated tests that were using viewportChange.

9 years agoUse our own event registration function for keyboardinputReset.
samhed [Fri, 6 Feb 2015 14:53:10 +0000 (15:53 +0100)]
Use our own event registration function for keyboardinputReset.

9 years agoMerge pull request #427 from jswanner/register-listeners
Solly [Wed, 4 Feb 2015 16:09:37 +0000 (11:09 -0500)]
Merge pull request #427 from jswanner/register-listeners

Unregister event listeners from websock.

9 years agoFixes issue #435 - added missing comma in keysym.js
samhed [Tue, 3 Feb 2015 12:04:16 +0000 (13:04 +0100)]
Fixes issue #435 - added missing comma in keysym.js

9 years agoFixes #428 - hides the local cursor when using the server-side cursor.
samhed [Thu, 15 Jan 2015 15:27:18 +0000 (16:27 +0100)]
Fixes #428 - hides the local cursor when using the server-side cursor.

9 years agoUnregister event listeners from websock.
Jacob Swanner [Thu, 8 Jan 2015 20:25:55 +0000 (15:25 -0500)]
Unregister event listeners from websock.

Prevents possible memory and event notification leaks when tearing down
connection and reestablishing a new one.

9 years agoMerge pull request #420 from julien-f/patch-1
Samuel [Sat, 29 Nov 2014 09:46:27 +0000 (10:46 +0100)]
Merge pull request #420 from julien-f/patch-1

Loads keysym.js

9 years agoLoads keysym.js
Julien Fontanet [Fri, 28 Nov 2014 15:35:55 +0000 (16:35 +0100)]
Loads keysym.js

Without it, `XK_ISO_Level3_Shift` (at least) is undefined.

9 years agoFixes #309, make use of keysym.js
samhed [Wed, 26 Nov 2014 08:24:13 +0000 (09:24 +0100)]
Fixes #309, make use of keysym.js

Bonus 3 bug fixes:
 * Meta is 0xFFE7 not 0xFE07
 * Super_L is 0xFFEB not 0xFFEC
 * Super_R is 0xFFEC not 0xFFED

9 years agoAdd ISO Level 3 Shift (AltGr) to keysym.js
samhed [Wed, 26 Nov 2014 08:22:12 +0000 (09:22 +0100)]
Add ISO Level 3 Shift (AltGr) to keysym.js

9 years agoFixed Erroneous HEXTILE test
Solly Ross [Mon, 24 Nov 2014 20:16:12 +0000 (15:16 -0500)]
Fixed Erroneous HEXTILE test

The HEXTILE test which tested for a background tile followed
by an empty tile was only wide enough to actually test for one
tile, thus not actually testing the functionality.  It now actually
uses two tiles, thus actually testing the functionality.

9 years agoMerge pull request #416 from detain/master
Samuel [Sun, 23 Nov 2014 16:19:58 +0000 (17:19 +0100)]
Merge pull request #416 from detain/master

Fix for typo from a recent pull

9 years agoFix for typo from a recent pull
Joe Huss [Sun, 23 Nov 2014 12:22:39 +0000 (07:22 -0500)]
Fix for typo from a recent pull

There is a minor typo in the recent pull  Simple fix.

9 years agoMerge "pull-request/412" (ramondeklein/noVNC)
Solly Ross [Tue, 18 Nov 2014 01:02:42 +0000 (20:02 -0500)]
Merge "pull-request/412" (ramondeklein/noVNC)

Closes #412

9 years agoDon't draw "blank" HEXTILE tiles with random data
Ramon de Klein [Thu, 6 Nov 2014 12:11:46 +0000 (13:11 +0100)]
Don't draw "blank" HEXTILE tiles with random data

Previously, if a HEXTILE tiles was received with a subencoding
of 0x00, it would draw a rectangle using data from the render
queue, which would result in random colored blocks when using
the HEXTILE encoding.  This is the result of a miscopy during
the refactoring.  It now has the correct functionality according
to the RFB protocol specification, which is to draw a rectangle
with the last set background color.

Closes #411

9 years agoFix Karma sinon-chai version issues
Solly Ross [Mon, 17 Nov 2014 22:52:33 +0000 (17:52 -0500)]
Fix Karma sinon-chai version issues

Previously, we were using the karma-sinon-chai package to
provide sinon-chai to karma.  This used an older version of
sinon-chai, and looks to be no longer maintained (it's been
a month since sinon-chai was updated).  A new package,
karma-sinon-chai-latest, is now used.  This package uses the
latest version of sinon-chai and sinon, just like karma-chai
uses the latest version of chai.

9 years agoFix broken tests from changing default screen size
Solly Ross [Mon, 17 Nov 2014 19:19:19 +0000 (14:19 -0500)]
Fix broken tests from changing default screen size

Commit 795fca23dc6cf124b2e6969ee42bd8e7c836d605 changed the default
size from 640 to 240.  This broke a couple tests which depended on
the default size being 640.  Those tests have now been fixed.

9 years agoWe should use the globally declared UI variable
samhed [Thu, 13 Nov 2014 16:22:48 +0000 (17:22 +0100)]
We should use the globally declared UI variable

9 years agoModify minimum width of clear to accomodate smaller screens
samhed [Tue, 11 Nov 2014 15:29:06 +0000 (16:29 +0100)]
Modify minimum width of clear to accomodate smaller screens

9 years agoMerge pull request #410 from kanaka/docs/contributing-guidelines
Solly [Thu, 6 Nov 2014 16:15:11 +0000 (11:15 -0500)]
Merge pull request #410 from kanaka/docs/contributing-guidelines

Added in guidelines for contributing to noVNC

9 years agoAdded in guidelines for contributing to noVNC
Solly Ross [Sun, 2 Nov 2014 18:27:06 +0000 (13:27 -0500)]
Added in guidelines for contributing to noVNC

In CONTRIBUTING.md, you can now find a set of guidelines for
contributing to the noVNC project.  They detail coding style
information, requirements for pull requests, and how to run
the unit tests.

9 years agoFix Cursor Issue When Using True Color
Solly Ross [Wed, 29 Oct 2014 23:12:33 +0000 (19:12 -0400)]
Fix Cursor Issue When Using True Color

This fixes an issue where, when using true color, the changeCursor
function would not actually write the cursor to the target array.

Fixes #407

9 years agoMerge pull request #402 from julien-f/patch-1
Samuel [Wed, 1 Oct 2014 14:46:35 +0000 (16:46 +0200)]
Merge pull request #402 from julien-f/patch-1

Fix subprotocols

9 years agoFix subprotocols
Julien Fontanet [Wed, 1 Oct 2014 14:30:39 +0000 (16:30 +0200)]
Fix subprotocols

Broken by b1dee9478815b22bf5fee3ee9e44321d4bb46c91

9 years agoForce Travis to use Node 0.11.13
Solly Ross [Tue, 30 Sep 2014 16:17:33 +0000 (12:17 -0400)]
Force Travis to use Node 0.11.13

The latest version of Node.js has a bug that
affects the Karma test runner.  A patch has been
merged to Karma, but has not landed in a version
yet.  Until a new version of Karma is released,
we should keep node at 0.11.13.

See karma-runner/karma#1182

(cherry picked from commit 9af2346a0cead634f3af5f390770ea65929c1f4a)

9 years agoMerge pull request #397 from kanaka/refactor/use-object-defineproperty
Solly [Tue, 30 Sep 2014 15:57:10 +0000 (11:57 -0400)]
Merge pull request #397 from kanaka/refactor/use-object-defineproperty

Make Utils.js use Object.define to modify Array

9 years agoMake Utils.js use Object.define to modify Array
Solly Ross [Tue, 23 Sep 2014 02:30:19 +0000 (22:30 -0400)]
Make Utils.js use Object.define to modify Array

Previously, we were modifying Array's prototype using
simple assignment.  This can mess with enumeration/iteration.
Thus, we now use Object.defineProperty with enumerable set to
false.

See #366

9 years agoCorrect Travis CI Badge URL
Solly Ross [Tue, 23 Sep 2014 01:49:17 +0000 (21:49 -0400)]
Correct Travis CI Badge URL

The readme was using the URL for the 'refactor/cleanup'
branch, which doesn't exist anymore.  It now uses
the badge for the master branch as it should.

9 years agoAdd support for Relative Paths in the Test Runner
Solly Ross [Tue, 23 Sep 2014 01:42:32 +0000 (21:42 -0400)]
Add support for Relative Paths in the Test Runner

This patch adds support for using relative paths
with the '-r' or '--relative' methods.  This can
be useful if you want to output HTML (with the
'--output-html' option) and use it in a webpage.

Additionally, the '-o' was removed from the documentation
of '--output-html', since it hasn't worked for that in a
while ('-o' means open in browser instead).

9 years agoFix Race Condition in Display#clear on IE10
Solly Ross [Tue, 23 Sep 2014 01:37:04 +0000 (21:37 -0400)]
Fix Race Condition in Display#clear on IE10

There was a race condition in Display#clear on IE10
because we resize and then clear that causes the canvas
to not actually end up cleared.  Clearing the current
viewport first solves the issue.  It doesn't appear to
affect other platforms, so it's inside a engine check
(`Util.Engine.trident === 6`).  Once we stop supporting
IE10, we should just remove this, because it's not the best
to have Engine-specific code.

9 years agoFixed broken mouse test in test.rfb.js
Solly Ross [Fri, 19 Sep 2014 19:14:34 +0000 (15:14 -0400)]
Fixed broken mouse test in test.rfb.js

Because we use the XOR (`^`) operator, the button mask must be
set before a MouseUp event happens, otherwise we'll send a pointer
event like it was a MouseDown event.  The button mask was not set
in one of the tests, so the test was failing.

9 years agoFixed Cursor URI Support Detection
Solly Ross [Fri, 19 Sep 2014 18:51:15 +0000 (14:51 -0400)]
Fixed Cursor URI Support Detection

There was a bug in cursor URI support detection due to the way
set_defaults now works -- the code was checking for `null`, whereas
when not set, options default to `undefined` unless otherwise
specified.  The code now checks for either `null` or `undefined`.
Tests have been added to ensure that this works properly.

9 years agoFixed presence detection bug in utils.set_defaults
Solly Ross [Fri, 19 Sep 2014 18:48:00 +0000 (14:48 -0400)]
Fixed presence detection bug in utils.set_defaults

Previously, Utils.set_defaults was using `if(conf[keys[i]])`
to check for the presence of a configuration key.  This would
fail if `conf[keys[i]]` happened to be false.  Instead, we now
use `if(keys[i] in conf)`, which simply checks for the presence
of the key in the conf object.

9 years agoFixed Typo Causing MouseUp to not Register
Solly Ross [Fri, 19 Sep 2014 18:17:15 +0000 (14:17 -0400)]
Fixed Typo Causing MouseUp to not Register

There was a typo in one of the instances of the _buttonMask field
(it was written as _buttonMaks), causing MouseUp to never be sent.
This has been rectified, and the unit tests for the mouse handler
have been changed to check for explicitly sending mouseup and
mousedown.

Fixes #393

9 years agoFix Travis Sauce Tunnel Issues
Solly Ross [Fri, 19 Sep 2014 16:49:32 +0000 (12:49 -0400)]
Fix Travis Sauce Tunnel Issues

Travis is failing because Sauce can't find the appropriate tunnelid.
This should fix that but setting the tunnel id to be the Travis
job number.

9 years agoMerge pull request #391 from mandre/fix_invalid_property
Solly [Fri, 19 Sep 2014 16:35:27 +0000 (12:35 -0400)]
Merge pull request #391 from mandre/fix_invalid_property

Fix invalid updateState property on RFB preventing noVNC to load

9 years agoFixed assertion collision issues
Solly Ross [Fri, 19 Sep 2014 16:16:06 +0000 (12:16 -0400)]
Fixed assertion collision issues

When run via karma, all the tests are loaded into the same page.
This was causing a collision in the 'displayed' assertion dealing
with using viewportLoc.

The assertions are now in their own file, pulled in by tests that
need them.  Additionally, several tests which only set fb_width
and fb_height were correct to set viewportLoc as well.

Closes #392

Also-Authored-By: Martin André (github: mandre)
9 years agoAdded Sauce Auth Details for Travis CI
Solly Ross [Fri, 19 Sep 2014 15:43:58 +0000 (11:43 -0400)]
Added Sauce Auth Details for Travis CI

This will enable Travis CI to run tests on Sauce Labs
(thanks to OpenSauce, their free program for Open
Source Software)

9 years agoFix invalid updateState property of RFB
Martin André [Wed, 17 Sep 2014 07:44:21 +0000 (16:44 +0900)]
Fix invalid updateState property of RFB

It was changed to `onUpdateState` in
b1dee9478815b22bf5fee3ee9e44321d4bb46c91.

9 years agoPrevent noVNC loading error when invalid property is set on object
Martin André [Wed, 17 Sep 2014 07:31:12 +0000 (16:31 +0900)]
Prevent noVNC loading error when invalid property is set on object

Util.set_defaults should accommodate with missing properties to prevent
'Uncaught TypeError: Cannot read property 'call' of undefined' error.

9 years agoMerge pull request #368 from DirectXMan12/refactor/cleanup
Solly [Mon, 15 Sep 2014 20:50:20 +0000 (16:50 -0400)]
Merge pull request #368 from DirectXMan12/refactor/cleanup

Cleanup and test all the things (plus ditching Crockford)!

9 years agoAdd support for Travis CI and SauceLabs Testing
Solly Ross [Mon, 23 Jun 2014 23:39:50 +0000 (19:39 -0400)]
Add support for Travis CI and SauceLabs Testing

This adds support for Travis CI and SauceLabs
testing.  Testing on SauceLabs in done via
the Karma test runner.  Note that encrypted
Sauce username and access key values need
to be inserted into .travis.yml as global
environment variables.  Additionally, the
local test runner (which is still useful
for debugging tests and code) was updated
to reflect that the 'node_modules' folder
now gets placed in the root directory.

9 years agoCleanup: UI code
Solly Ross [Sun, 22 Jun 2014 03:26:28 +0000 (23:26 -0400)]
Cleanup: UI code

File: ui.js
Tests Added: False

Changes:
- Fix JSHint errors
- add some curly braces to improve clarity
- move variable declarations to relevant locations instead of at the top
  of methods

9 years agoCleanup: RFB Client
Solly Ross [Thu, 19 Jun 2014 17:27:42 +0000 (13:27 -0400)]
Cleanup: RFB Client

File: rfb.js (also websock.js)
Tests Added: True

Changes:
- De-Crockford-ified rfb.js
- Added methods to websock.js to skip bytes in the receive queue

9 years agoCleanup: Display Helper
Solly Ross [Wed, 11 Jun 2014 17:35:53 +0000 (13:35 -0400)]
Cleanup: Display Helper

File: display.js
Tests Added: True (preliminary)

Changes:
- De-crockford-ified the file

NOTE: the tests included for display.js cover basic functionality, but
are by no means nearly as comprehensive as the ones presented for
rfb.js.

9 years agoCleanup: WebSocket Helper
Solly Ross [Thu, 22 May 2014 20:57:55 +0000 (16:57 -0400)]
Cleanup: WebSocket Helper

File: websock.js
Tests Added: True
Changes:
- Cleaned up JSHint errors
- Converted to normal JS constructor pattern with "private" fields and
  methods now simply being prepended by underscores
- Added a "bind" polyfill for use in PhantomJS 1.x in util.js
- Added FakeWebSocket to fill in for actual WebSocket objects when
  testing
- Made exception handler actually log exception name and message,
  to console, in addition to stack trace

9 years agoCleanup: Webutil code
Solly Ross [Wed, 21 May 2014 19:12:20 +0000 (15:12 -0400)]
Cleanup: Webutil code

File: webutil.js
Tests Added: False
Changes:
- Fixed JSHint Errors (global "use strict", spaces)
- added some newline characters when appropriate for readability
- moved variable declarations to the places they were actually used
  for readability

9 years agoCleanup: Keyboard code
Solly Ross [Tue, 20 May 2014 23:16:01 +0000 (19:16 -0400)]
Cleanup: Keyboard code

File: keyboard.js
Tests Added: False (already present)
Changes:
- Fixed JSHint Errors
- Moved functions outside loops
- Added proper include directives to tests

9 years agoCleanup: Input code
Solly Ross [Tue, 20 May 2014 22:29:52 +0000 (18:29 -0400)]
Cleanup: Input code

File: input.js
Tests Added: False (already present partially -- see below)
Changes:
- Fixed JSHint Errors
- Converted to normal non-Crockford constructors

NOTE: while there are tests for the actual key-detecting functionality,
      the tests do not cover the actual Keyboard and Mouse objects
      themselves.

9 years agoCleanup: Util code
Solly Ross [Wed, 21 May 2014 18:54:28 +0000 (14:54 -0400)]
Cleanup: Util code

File: util.js
Tests Added: True (partial -- for logging and array push methods)
Changes:
- Fixed JSHint Errors (indentation, semicolons, global "use strict")
- Made browser detection methods more readable
- added some newline characters when appropriate for readability
- throw Errors not strings!
- Removed conf_defaults, and added make_properties and set_defaults
  instead (see below)

The removal of conf_defaults and switch to make_properties and
set_defaults is to facilitate the switch over to normal Javascript
constructors instead of Crockford-style constructors.  Now, methods
are added to the objects prototype (and thus make properties is called
outside the constructor).

9 years agoCleanup: DES code
Solly Ross [Tue, 6 May 2014 19:25:05 +0000 (15:25 -0400)]
Cleanup: DES code

File: des.js
Tests Added: False
Changes:
- Fixed JSHint Errors
- Improved whitespace around operators

9 years agoCleanup and Test: base64.js
Solly Ross [Tue, 6 May 2014 19:11:31 +0000 (15:11 -0400)]
Cleanup and Test: base64.js

This is the first commit in a series of commits
which improve the readability of some of the code
and add tests.

File: base64.js
Tests Added: True
Changes:
- Improved indentation
- Fixed JSHint errors
- Moved loop variables to be declared in the loop for better readability
  (N.B. Javascript does not have block scoping, so the variables are
  still technically available outside the loop -- it just makes the code
  clearer to place them inside the loop, since they are only used there)

9 years agoSupport the "NOTUNNEL" tunnel type for TightVNC
Solly Ross [Tue, 20 May 2014 21:03:40 +0000 (17:03 -0400)]
Support the "NOTUNNEL" tunnel type for TightVNC

Previously, tight auth was supported without any support for tunnels,
even the no-op tunnel.  No, the no-op tunnel type is supported.

9 years agoSupport running all tests from the root directory
Solly Ross [Mon, 15 Sep 2014 20:44:36 +0000 (16:44 -0400)]
Support running all tests from the root directory

Previously, if you did not specify a tests file,
you had to be in the 'tests' directory for the
"run all tests" functionality to work.  Now it
will work in any directory.

9 years agofixes an error that was made in the merge with the last sync with websockify.
samhed [Tue, 19 Aug 2014 11:49:55 +0000 (13:49 +0200)]
fixes an error that was made in the merge with the last sync with websockify.

9 years agoFix race condition in test runner
Solly Ross [Tue, 3 Jun 2014 21:42:28 +0000 (17:42 -0400)]
Fix race condition in test runner

Previously, there would be a case where if your tests took
too long to run, the casper test runner would only report
on certain tests.  This has been fixed.

9 years agoOutput error events from provider in test runner
Solly Ross [Tue, 3 Jun 2014 20:58:37 +0000 (16:58 -0400)]
Output error events from provider in test runner

Now, 'error' events from the test runner are output to stderr.
Additionally, when debug is enabled, debug output is logged to
stderr instead of stdout (as was the case previously).

9 years agoFixed typo in run_from_console.js
Solly Ross [Tue, 3 Jun 2014 17:15:02 +0000 (13:15 -0400)]
Fixed typo in run_from_console.js

9 years agoAdd support for injecting test helper files
Solly Ross [Tue, 3 Jun 2014 15:14:42 +0000 (11:14 -0400)]
Add support for injecting test helper files

Now, the phrase `requires test modules: ` may be place in a comment
in a file to require modules local to the test directory, similarly
to the way the `require local modules: ` line may be used to inject
files in the 'include' directory.  This is useful for when common
fakes need to be injected into a test.

9 years agoSupport automatically opening test HTML in browser
Solly Ross [Tue, 3 Jun 2014 15:02:27 +0000 (11:02 -0400)]
Support automatically opening test HTML in browser

When using the '-g' option with run_from_console.js, you can
now pass the '-o' option to automatically open the generated
HTML file in your default browser.  This relies on the 'open'
NPM module.

10 years agoMerge pull request #363 from kosmasgiannis/query_parse
Samuel [Tue, 6 May 2014 07:13:18 +0000 (09:13 +0200)]
Merge pull request #363 from kosmasgiannis/query_parse

Better parsing of query string variables

10 years agoBetter parsing of query string variables
Giannis Kosmas [Mon, 5 May 2014 20:23:48 +0000 (23:23 +0300)]
Better parsing of query string variables

10 years agoFix for scroll offset in Util.getPosition()
Solly Ross [Mon, 5 May 2014 18:29:29 +0000 (14:29 -0400)]
Fix for scroll offset in Util.getPosition()

Previously, Util.getPosition didn't deal with scrolling
particularly well.  This fixes that by calculating the
scroll offset when dealing with getting mouse positions.

Credit to @erikgull and @emmar for the initial version of
the fix.  Credit to Brian Huismanfor the initial code.

Closes #295
Relevant to #258

10 years agoSync with websockify
samhed [Mon, 14 Apr 2014 12:45:15 +0000 (14:45 +0200)]
Sync with websockify
Pull 90b519edf0c1857d

10 years agoCredit for this fix goes to Jesper Dam (https://github.com/Medical-Insight/noVNC...
samhed [Mon, 14 Apr 2014 11:26:52 +0000 (13:26 +0200)]
Credit for this fix goes to Jesper Dam (https://github.com/Medical-Insight/noVNC/tree/fix-ie10-keyboard).

Fix keyboard handling for IE10 (issue #352)
* Keyboard events in IE10 do not provide any useful information on the properties 'which', 'char' or 'charCode'. Instead, it seems to store the char code in the keyCode property.

10 years agoUpdated the comment in vnc.html to reflect the changes made in last commit.
samhed [Mon, 7 Apr 2014 14:58:59 +0000 (16:58 +0200)]
Updated the comment in vnc.html to reflect the changes made in last commit.

10 years agoChanging the type of the keyboardinput element to textarea, fixes issue 356.
samhed [Mon, 7 Apr 2014 14:41:25 +0000 (16:41 +0200)]
Changing the type of the keyboardinput element to textarea, fixes issue 356.
* The on-screen keyboard not closing when pressing Enter is more important than not having textsuggestions etc.

10 years agoFixes issue 344 - problem with backspace on Android.
samhed [Fri, 4 Apr 2014 15:45:04 +0000 (17:45 +0200)]
Fixes issue 344 - problem with backspace on Android.

10 years agoAttempt to change the behavior of the enter/go-key on touch devices, we want it to...
samhed [Fri, 4 Apr 2014 15:42:12 +0000 (17:42 +0200)]
Attempt to change the behavior of the enter/go-key on touch devices, we want it to be Enter.
* This code works in Firefox on Android and on Chrome and Safari on iOS.
* It does not work in Chrome on Android, the enter key is labled "Go" and closes the on screen keyboard when pressed.

10 years agoChange type of keyboardinput to password to make sure that you can write parenthesis...
samhed [Fri, 4 Apr 2014 15:36:17 +0000 (17:36 +0200)]
Change type of keyboardinput to password to make sure that you can write parenthesis on iOS devices.

10 years agoAim to disable text suggestions and the like
samhed [Fri, 4 Apr 2014 15:28:44 +0000 (17:28 +0200)]
Aim to disable text suggestions and the like

10 years agoMake sure that the default value of the hidden input field is a space.
samhed [Fri, 28 Mar 2014 07:54:49 +0000 (08:54 +0100)]
Make sure that the default value of the hidden input field is a space.

10 years agoMerge pull request #347 from dol/fix/better-ws-binarytype-detection
Solly [Wed, 26 Mar 2014 14:58:11 +0000 (10:58 -0400)]
Merge pull request #347 from dol/fix/better-ws-binarytype-detection

Improved websocket binary support detection

10 years agoAdded alt-values to the control-bar buttons.
samhed [Wed, 26 Mar 2014 14:24:50 +0000 (15:24 +0100)]
Added alt-values to the control-bar buttons.
* On slow servers where the button-images can be slowly loaded it can be useful to see some relevant text instead of "Submit query" on every button.

10 years agoAdd a prototype from MDN for indexOf to be used in browsers where it is not supported.
samhed [Wed, 26 Mar 2014 14:22:45 +0000 (15:22 +0100)]
Add a prototype from MDN for indexOf to be used in browsers where it is not supported.

10 years agoRemoved unused code.
samhed [Wed, 26 Mar 2014 10:18:48 +0000 (11:18 +0100)]
Removed unused code.

10 years agoFixed typo in README.
samhed [Mon, 17 Mar 2014 13:24:42 +0000 (14:24 +0100)]
Fixed typo in README.

10 years agoAdded a wrapper for the UTF-8 decoding.
samhed [Fri, 14 Mar 2014 14:18:05 +0000 (15:18 +0100)]
Added a wrapper for the UTF-8 decoding.

10 years agoDecode from UTF-8 to allow unicode characters in the connection name
samhed [Fri, 14 Mar 2014 12:44:10 +0000 (13:44 +0100)]
Decode from UTF-8 to allow unicode characters in the connection name

10 years agoMerge pull request #348 from Medical-Insight/fix-altgr-firefox
Samuel [Wed, 12 Mar 2014 15:51:20 +0000 (16:51 +0100)]
Merge pull request #348 from Medical-Insight/fix-altgr-firefox

Fix altgr firefox

10 years agoBetter browser OS detection.
Jesper Dam [Wed, 12 Mar 2014 10:11:52 +0000 (11:11 +0100)]
Better browser OS detection.

Apparently Firefox on Linux changed the value of navigator.appVersion,
causing our OS detection (used to determine how to interpret different
modifier keys) to fail.

Use navigator.platform instead, which should be more stable.

http://stackoverflow.com/a/19883965/33213

10 years agoBetter key identifiers
Jesper Dam [Wed, 12 Mar 2014 09:08:14 +0000 (10:08 +0100)]
Better key identifiers

Previously we identified keys in keyboard events by the 'key' property
if it was set, and 'keyCode' otherwise.

This turns out to be problematic as Firefox no longer leaves 'key'
undefined (so we fall back to using 'keyCode'), but instead sets 'key'
to 'MozPrintableKey' for all printable keys.

This meant that when (printable) keys are released, we can't match it
against the corresponding keydown event, and instead just send a keyup
event for the last keydown received.

Now, if both 'key' and 'keyCode' are set, use the concatenation of both.
Otherwise prefer 'keyCode', as that is at least unique for every key.

This should let us release the right keys on keyup events.

10 years agoImproved websocket binary support detection
Dominic Luechinger [Tue, 11 Mar 2014 13:29:58 +0000 (14:29 +0100)]
Improved websocket binary support detection

A facke connection to 'wss://localhost:17523' (randomly chosen) to detect
the WebSocket binary support is not the best solution.
First of all, check of prototype has the property 'binaryType'. If not,
perform a dummy connection to 'wss://.' instead of 'wss://localhost:17523'.

This patch was inspired by the discussion and implementation of Modernizr:
https://github.com/Modernizr/Modernizr/issues/370
https://github.com/Modernizr/Modernizr/blob/master/feature-detects/websockets/binary.js

10 years agoMerge pull request #338 from vatesfr/configurable-ws-protocols
Solly [Wed, 19 Feb 2014 23:10:44 +0000 (18:10 -0500)]
Merge pull request #338 from vatesfr/configurable-ws-protocols

WebSocket protocols are now configurable

10 years agoWebSocket protocols are now configurable.
Julien Fontanet [Wed, 19 Feb 2014 18:29:06 +0000 (19:29 +0100)]
WebSocket protocols are now configurable.

10 years agoMerge pull request #242 from Medical-Insight/use-wss-for-binary-detect
Solly [Mon, 17 Feb 2014 23:09:16 +0000 (18:09 -0500)]
Merge pull request #242 from Medical-Insight/use-wss-for-binary-detect

Use wss when creating localhost connection to detect binary support (closes #242)

10 years agoImplement XVP UI in HTML
Malcolm Scott [Sat, 28 Sep 2013 18:25:15 +0000 (19:25 +0100)]
Implement XVP UI in HTML

10 years agoImplement XVP extension (shutdown/reboot/reset)
Malcolm Scott [Sat, 28 Sep 2013 18:24:54 +0000 (19:24 +0100)]
Implement XVP extension (shutdown/reboot/reset)

10 years agoImplement XVP auth
Malcolm Scott [Sat, 28 Sep 2013 16:32:37 +0000 (17:32 +0100)]
Implement XVP auth

10 years agoMerge pull request #327 from devicenull/master
Solly [Mon, 10 Feb 2014 22:21:29 +0000 (17:21 -0500)]
Merge pull request #327 from devicenull/master

Add support for connecting to TightVNC servers

10 years agoMerge pull request #336 from samhed/removeConnectionTimeout
Samuel [Fri, 7 Feb 2014 09:15:04 +0000 (10:15 +0100)]
Merge pull request #336 from samhed/removeConnectionTimeout

Remove the connection timeouts

10 years agoRemoves the connection timeouts to enable slower clients, connections or servers.
samhed [Thu, 6 Feb 2014 15:08:00 +0000 (16:08 +0100)]
Removes the connection timeouts to enable slower clients, connections or servers.

10 years agoAdd support for TightVNC auth type
Brian Rak [Fri, 31 Jan 2014 00:20:41 +0000 (19:20 -0500)]
Add support for TightVNC auth type