]> git.proxmox.com Git - mirror_novnc.git/log
mirror_novnc.git
8 years agoMerge pull request #555 from maditnerd/patch-1
Joel Martin [Tue, 24 Nov 2015 03:32:31 +0000 (22:32 -0500)]
Merge pull request #555 from maditnerd/patch-1

Small typo in launch.sh

8 years agoSmall typo in launch.sh
Sarrailh Rémi [Mon, 23 Nov 2015 12:08:05 +0000 (13:08 +0100)]
Small typo in launch.sh

8 years agoMerge pull request #543 from DvdGiessen/fix/vnc_sendpassword_auth
Solly [Fri, 16 Oct 2015 15:08:04 +0000 (11:08 -0400)]
Merge pull request #543 from DvdGiessen/fix/vnc_sendpassword_auth

Fixes VNC standard auth using onPasswordRequired callback

8 years agoAdded return to correctly wait for password input before proceeding. Fixes #542
Daniël van de Giessen [Fri, 16 Oct 2015 14:38:35 +0000 (16:38 +0200)]
Added return to correctly wait for password input before proceeding. Fixes #542

8 years agoMerge pull request #532 from kanaka/bug/pako-issue
Solly [Wed, 23 Sep 2015 15:29:43 +0000 (11:29 -0400)]
Merge pull request #532 from kanaka/bug/pako-issue

Make sure Pako always has enough room

8 years agoMake sure Pako always has enough room
Solly Ross [Tue, 22 Sep 2015 20:19:52 +0000 (16:19 -0400)]
Make sure Pako always has enough room

Previously, we used a fixed chunkSize of 100KiB for Pako's output
buffer.  Using a hardcoded size caused issues, since Pako would assume
we wanted to use multiple chunks, and we didn't deal with this.  Now,
`Inflator#inflate()` takes a new `expected` argument, which indicates
the expected output size.  If this is bigger than the current chunkSize,
Inflator allocates a new output buffer that's big enough to hold the
output.

Fixes #531

8 years agoMoved resizeTimout to the UI object, no reason to have it outside anymore..
samhed [Tue, 22 Sep 2015 12:59:44 +0000 (14:59 +0200)]
Moved resizeTimout to the UI object, no reason to have it outside anymore..

8 years agoMerge pull request #524 from kanaka/bug/tight-buffer-overread
Solly [Thu, 27 Aug 2015 22:46:26 +0000 (18:46 -0400)]
Merge pull request #524 from kanaka/bug/tight-buffer-overread

Fix buffer over-reads in handle_tight

8 years agoFix buffer over-reads in handle_tight
Solly Ross [Wed, 26 Aug 2015 18:28:10 +0000 (14:28 -0400)]
Fix buffer over-reads in handle_tight

For performance reasons, the `handle_tight` function skips the
use of the receive queue API and uses the raw receive queue directly.
Because of the way that typed array receive queue gets reused, this
introduced the potential for buffer over-reads.

To address this, a new function, `rQwhole`, was introduced.
`rQwhole` simply returns a new view into the receive queue that
starts at 0 and ends at the current recorded end of the queue.

`handle_tight` now makes use of this function.

Fixes #522

8 years agoFix bug in non-true-color code
Solly Ross [Mon, 24 Aug 2015 23:34:30 +0000 (19:34 -0400)]
Fix bug in non-true-color code

There was a bug caused by 38781d931ec18304f51ed3469faff8387e3cbc55
which prevented color map look-ups sent by rfb.js from working properly,
since display.js expected a single-item array, and rfb.js sent just them
item value itself (a number) instead.  This fixes that, and tweaks the
corresponding test to match that behavior.

8 years agoTests: Fixed bug in displayed assertion
Solly Ross [Mon, 24 Aug 2015 23:30:44 +0000 (19:30 -0400)]
Tests: Fixed bug in displayed assertion

This `displayed` assertion had a bug that was causing it to not
actually check anything (it was using obj.length instead of
data_cl.length).  This fixes that.

8 years agoUI: Fix typo preventing reconnect after password
Solly Ross [Mon, 24 Aug 2015 20:41:00 +0000 (16:41 -0400)]
UI: Fix typo preventing reconnect after password

There was a typo in ui.js preventing the use of the connect button
after a password was entered.

8 years agoMerge pull request #488 from kanaka/feature/more-perf-improvements
Solly [Fri, 14 Aug 2015 15:56:57 +0000 (11:56 -0400)]
Merge pull request #488 from kanaka/feature/more-perf-improvements

Performance Improvements

8 years agoOnly work with integers when panning to avoid getting a blurry image.
samhed [Fri, 14 Aug 2015 15:02:00 +0000 (17:02 +0200)]
Only work with integers when panning to avoid getting a blurry image.
Also disable image-smoothing to avoid bugs seen on Android which were
also causing a blurry image while panning.

8 years agoSkip unnecessary render queue object creation
Solly Ross [Tue, 2 Jun 2015 19:32:14 +0000 (15:32 -0400)]
Skip unnecessary render queue object creation

This commit skips object creation for the render queue when not
needed.  Instead of pushing an object onto the queue, and then
immediately running the result, you call the function directly.
Then, if the render queue is not empty, an object is created and
pushed onto the queue.  Otherwise, the functionality is just run
directly.

8 years agoFix multi-line assertion messages in test runner
Solly Ross [Thu, 28 May 2015 19:09:31 +0000 (15:09 -0400)]
Fix multi-line assertion messages in test runner

This commit prevents multi-line error messages from being
truncated in the local test runner ('tests/run_from_console.js').

8 years agoAllow the use of the PhantomJS remote debugger
Solly Ross [Thu, 28 May 2015 19:07:43 +0000 (15:07 -0400)]
Allow the use of the PhantomJS remote debugger

This commit adds the '--debugger <port>' option, which triggers
the PhantomJS remote debugger.  The initial output of the terminal
when running the debugger gives more information on how to use
it.

8 years agoUse Typed Arrays for the send queue
Solly Ross [Thu, 28 May 2015 19:28:30 +0000 (15:28 -0400)]
Use Typed Arrays for the send queue

This commit converts the send queue to use typed arrays, and converts
message creation functions in 'rfb.js' to create messages directly into
the socket's send queue.  This commit also removes the separate mouse array,
which is no longer needed.

8 years agoAvoid Creating Small Objects Frequently
Solly Ross [Thu, 28 May 2015 19:27:40 +0000 (15:27 -0400)]
Avoid Creating Small Objects Frequently

Creating lots of small objects frequently can drastically decrease
performance.  This commit introduces three fixes which avoid this:

- Use a preallocated palette and indexed-to-rgb destination Typed Array
  (the destination typed array is currently allocated at `4 * width *
  height`).

- Inline `getTightCLength`, which returned a two-item array.

- Pass RGBX data directly in a Typed Array to the Display, which
  avoids an extra loop, and only creates a new Typed Array View,
  instead of a whole new ArrayBuffer.

8 years agoUse Typed Arrays for the Websock receive queue
Solly Ross [Wed, 20 May 2015 21:10:59 +0000 (17:10 -0400)]
Use Typed Arrays for the Websock receive queue

**This commit removes Base64 (and Flash) support**

This commit converts websock.js to used Typed Arrays for the
receive queue (and tweaks rfb.js to ensure that it continues
to function, since only Firefox implements
`%TypedArray%.prototype.slice`).  Base64 support was removed
to simplify code paths, and pave the way for using Typed Arrays
for the send queue as well.

This provides two advantages: first, we allocate a buffer ahead
of time, meaning the browser doesn't have to do any work dynamically
increasing the receive queue size.  Secondly, we are now able to pass
around Typed Array Views (e.g. `Uint8Array`), which are lightweight, and
don't involve copying.

The downside is that we initially allocate more memory -- we currently
start out with 4 MiB, and then automatically double when it looks like
the amount unused is getting to small.

The commit also explicitly adds a check to the compacting logic that
avoids calling the copy functions if `_rQlen === _rQi`.

8 years agoRemove unecessarily nested loop
Solly Ross [Tue, 19 May 2015 20:49:39 +0000 (16:49 -0400)]
Remove unecessarily nested loop

This commit removes a nested loop in indexedToRGB, converting it into a
plain loop without multiplication.

8 years agoWIP: Switch to Pako for zlib
Solly Ross [Mon, 18 May 2015 23:01:58 +0000 (19:01 -0400)]
WIP: Switch to Pako for zlib

This commit introduces an alternate implementation of the zlib
decompressor based on Pako (https://github.com/nodeca/pako).

8 years agoFix RFB.js JSHint Errors
Solly Ross [Tue, 4 Aug 2015 19:50:20 +0000 (15:50 -0400)]
Fix RFB.js JSHint Errors

This fixes a couple of JSHint errors in RFB.js caused
by using `==` instead of `===`.

8 years agoFix up vnc_playback.html and playback.js
Solly Ross [Fri, 15 May 2015 18:27:23 +0000 (14:27 -0400)]
Fix up vnc_playback.html and playback.js

This commit fixes vnc_playback.html and playback.js
so that they work with the current version of noVNC.

8 years agoCI: Switch to Container-Based Travis
Solly Ross [Thu, 6 Aug 2015 18:37:01 +0000 (14:37 -0400)]
CI: Switch to Container-Based Travis

This commit switches the Travis tests over to Travis's new
container-based infrastructure.  It also tells Travis to
cache the node_modules directory for faster setup.

8 years agoMerge pull request #499 from samhed/fullscreen
Samuel [Wed, 1 Jul 2015 11:16:53 +0000 (13:16 +0200)]
Merge pull request #499 from samhed/fullscreen

Add option to toggle fullscreen mode

8 years ago* Hide the fullscreen toggle button on Safari since alphanumerical
samhed [Thu, 25 Jun 2015 20:28:04 +0000 (22:28 +0200)]
* Hide the fullscreen toggle button on Safari since alphanumerical
  keyboard input doesn't work in fullscreen.
* Force clipping mode in Internet Explorer while in fullscreen since
  scrollbars doesn't work in fullscreen.

8 years agoAdapt display to be able to handle a changing clipping-setting while connected
samhed [Thu, 25 Jun 2015 12:58:57 +0000 (14:58 +0200)]
Adapt display to be able to handle a changing clipping-setting while connected

8 years agoFixes #498 - Add the ability to toggle fullscreen mode
samhed [Thu, 18 Jun 2015 08:45:59 +0000 (10:45 +0200)]
Fixes #498 - Add the ability to toggle fullscreen mode

8 years agoFix error from a previous commit, there is no data type called 'text'..
samhed [Thu, 25 Jun 2015 20:34:44 +0000 (22:34 +0200)]
Fix error from a previous commit, there is no data type called 'text'..

8 years agoRenamed popupStatusPanel to popupStatus and removed the global variable
samhed [Thu, 25 Jun 2015 15:04:55 +0000 (17:04 +0200)]
Renamed popupStatusPanel to popupStatus and removed the global variable
which kept track on if it was open or not (it automatically closes after
1.5 seconds anyway).

8 years agoClarified enableDisableClip (now called enableDisableViewClip) and
samhed [Thu, 25 Jun 2015 13:29:23 +0000 (15:29 +0200)]
Clarified enableDisableClip (now called enableDisableViewClip) and
moved it to where the other clipping functions are.

8 years agoAllow the popupStatusPanel to show any text but close it on a 1.5 second timer.
samhed [Thu, 25 Jun 2015 13:22:53 +0000 (15:22 +0200)]
Allow the popupStatusPanel to show any text but close it on a 1.5 second timer.

8 years agoClarify code with regards to the viewport drag functionality
samhed [Wed, 24 Jun 2015 14:20:03 +0000 (16:20 +0200)]
Clarify code with regards to the viewport drag functionality
* Fixes #502 so that the viewport drag functionality can't get stuck

8 years agoAlways show the viewport drag button on touch devices to keep the GUI from
samhed [Tue, 16 Jun 2015 20:39:17 +0000 (22:39 +0200)]
Always show the viewport drag button on touch devices to keep the GUI from
"jumping around". Enable/disable the button instead of show/hide on these
devices.

8 years agoMerge pull request #497 from MOZGIII/MOZGIII-patch-vnc-auto-fix
Solly [Fri, 12 Jun 2015 18:34:34 +0000 (14:34 -0400)]
Merge pull request #497 from MOZGIII/MOZGIII-patch-vnc-auto-fix

Fixed incorrect UI usage and minor updateState params errors in vnc_auto.html

8 years agoFixed incorrect UI usage and minor updateState params errors in vnc_auto.html
MOZGIII [Fri, 12 Jun 2015 17:41:41 +0000 (20:41 +0300)]
Fixed incorrect UI usage and minor updateState params errors in vnc_auto.html

9 years agoReverting most of commit cb3e4de. The issue was not related to using keyboardinputRes...
samhed [Tue, 19 May 2015 11:34:50 +0000 (13:34 +0200)]
Reverting most of commit cb3e4de. The issue was not related to using keyboardinputReset.. the issue was infact a typo which was introduced in 3b8ec46. I must be too tired..

9 years agoStop using keyboardinputReset at the start of keyInput
samhed [Tue, 19 May 2015 10:42:33 +0000 (12:42 +0200)]
Stop using keyboardinputReset at the start of keyInput
* This fixes backspace when using the on-screen keyboard on Android

9 years agoUpdate LICENSE.txt
Samuel [Tue, 5 May 2015 11:13:17 +0000 (13:13 +0200)]
Update LICENSE.txt

Removed old no longer existing vnc.js and added playback.js

9 years agoMerge pull request #483 from fabian-z/master
Samuel [Mon, 4 May 2015 10:17:30 +0000 (12:17 +0200)]
Merge pull request #483 from fabian-z/master

Make noVNC compatible with Content Security Policies

9 years agoMove #keyboardinput declarations to base.css/ui.js
Fabian Zaremba [Sun, 3 May 2015 17:28:05 +0000 (19:28 +0200)]
Move #keyboardinput declarations to base.css/ui.js

9 years agoRe-fixes #428 which was broken by commit 58ded70
samhed [Wed, 29 Apr 2015 12:54:28 +0000 (14:54 +0200)]
Re-fixes #428 which was broken by commit 58ded70
* Disable local cursor when the browser doesn't support data uri

9 years agoMerge pull request #415 from jimdigriz/fixes
Solly [Tue, 7 Apr 2015 18:29:46 +0000 (14:29 -0400)]
Merge pull request #415 from jimdigriz/fixes

slip in PATH for 'npm test' as not everyone has karma

9 years agoMerge pull request #474 from kanaka/bug/throw-error-from-constructor
Solly [Fri, 27 Mar 2015 17:23:32 +0000 (13:23 -0400)]
Merge pull request #474 from kanaka/bug/throw-error-from-constructor

Throw exceptions from RFB constructor

9 years agoMerge pull request #475 from kanaka/bug/follow-symlinks-for-here
Solly [Fri, 27 Mar 2015 15:54:39 +0000 (11:54 -0400)]
Merge pull request #475 from kanaka/bug/follow-symlinks-for-here

Follow symbolic links in launch.sh

9 years agoThrow exceptions from RFB constructor
Solly Ross [Tue, 24 Mar 2015 20:02:53 +0000 (16:02 -0400)]
Throw exceptions from RFB constructor

Previously, if an error was thrown from the Display constructor
in the RFB constructor, we would attempt to use `RFB#updateState`
to handle this.  However, `RFB#updateState` attempts to close
the WebSocket connection, which doesn't exist at this point.

In the constructor, it's probably just better to raise an exception
instead (making sure to clean up anything relevant).

Fixes #460

9 years agoCreate RFB object on connect
Solly Ross [Tue, 24 Mar 2015 19:05:38 +0000 (15:05 -0400)]
Create RFB object on connect

In e543525faa9cf0d683f41e183e89cd909f3dd229, we switched to creating
a new RFB object on disconnect.  This caused issues, however, since
any errors were only displayed briefly before the new "loaded" text
was displayed instead.

Now, we create the RFB object on connect.  This essentially removes
the usefulness of the "loaded" state, but prevents the aforementioned
problem.

To facilitate this, the code which does detection of cursor URI support
was moved from this Display constructor (which now calls the new
function) into its own function, `Util.browserSupportsCursorURIs()`.

Fixes #467

9 years agoFollow symbolic links in launch.sh
Solly Ross [Thu, 26 Mar 2015 20:57:17 +0000 (16:57 -0400)]
Follow symbolic links in launch.sh

Previously, in launch.sh, `$HERE` was the directory of `$0`.
However, if `$0` was actually a symlink, `$HERE` would be
wherever the symlink was, which could cause issues (for
example, the script wouldn't be able to local `$WEB` or
`$WEBSOCKIFY` properly).

Now, `$HERE` looks at whatever `$0` points at instead.

Closes #447.

9 years agoMake getCanvasLimit more efficient by only calling getPosition once.
samhed [Wed, 11 Mar 2015 06:29:30 +0000 (07:29 +0100)]
Make getCanvasLimit more efficient by only calling getPosition once.

9 years agoMerge pull request #464 from kanaka/bug/firefoxresize
Solly [Tue, 10 Mar 2015 21:13:21 +0000 (17:13 -0400)]
Merge pull request #464 from kanaka/bug/firefoxresize

Fix resize in Firefox on Android

9 years ago* Don't check specific html elements from the display code (Fixes #446)
samhed [Mon, 9 Mar 2015 13:30:56 +0000 (14:30 +0100)]
* Don't check specific html elements from the display code (Fixes #446)
* Renamed and reworked fbuClip to clippingDisplay
* Added tests for clippingDisplay
* Use the a noVNC_container which covers the entire page to get the full size
  (Fixes #463)
* Added maxWidth and maxHeight to the canvas which can limit the viewport size
* Only show either the canvas or the logo, hide one when the other is shown
* Always center the canvas (previously it was only centered when not clipping)
* Removed iOS specific "position-fixed" fixes and start calling setBarPosition
  on every resize
* Removed the noVNC_screen_pad

9 years ago* Change name of ext_desktop_size to the proper ExtendedDesktopSize
samhed [Thu, 5 Mar 2015 13:56:47 +0000 (14:56 +0100)]
* Change name of ext_desktop_size to the proper ExtendedDesktopSize
* Added better error handling in ExtendedDesktopSize
* Added helper function to share code with DesktopSize
* Update test.rfb.js to only check for error handling if we were the
  ones requesting the resize

9 years agoMake the touch-keyboard code more robust through verifying that global variables...
samhed [Thu, 5 Mar 2015 08:54:56 +0000 (09:54 +0100)]
Make the touch-keyboard code more robust through verifying that global variables are set before use.

9 years agoMerge pull request #451 from kanaka/feature/scaling
Samuel [Thu, 5 Mar 2015 08:52:10 +0000 (09:52 +0100)]
Merge pull request #451 from kanaka/feature/scaling

Introduce Local Autoscaling

9 years agoSupport local scaling
Solly Ross [Wed, 18 Feb 2015 03:41:34 +0000 (22:41 -0500)]
Support local scaling

This commit adds two new addition scaling options.  Both options do
local scaling.  The first "Local Scaling", does both upscaling and
downscaling.  The second option, "Local Downscaling", only downscales.

This is based on work by @mightypenguin (with an additional bug
reported by @glazik12).

9 years agoUpdate UI to allow for different scaling modes
Solly Ross [Tue, 17 Feb 2015 23:53:38 +0000 (18:53 -0500)]
Update UI to allow for different scaling modes

This commit updates the UI to allow for different
scaling modes.  The "resize" option was changed to
be a dropdown with the following options: "None" (nothing),
"Remote Resizing" (SetDesktopSize).

9 years agoLaunch Sauce Connect through Travis
Solly Ross [Fri, 27 Feb 2015 20:04:34 +0000 (15:04 -0500)]
Launch Sauce Connect through Travis

This commit makes Travis launch sauce connect, instead of
using karma to start Sauce Connect

9 years agoMerge pull request #461 from kanaka/bug/459-incorrect-position-with-scrollbars
Solly [Fri, 27 Feb 2015 19:11:46 +0000 (14:11 -0500)]
Merge pull request #461 from kanaka/bug/459-incorrect-position-with-scrollbars

Make Util.getPosition be relative to page

9 years agoMake Util.getPosition be relative to page
Solly Ross [Wed, 25 Feb 2015 22:02:16 +0000 (17:02 -0500)]
Make Util.getPosition be relative to page

Commit 5108c4635c847de9be0edadf572f7426f351b66a caused a regression
in the case where scrolling is used -- getPosition return position
relative to the viewport, while getEventPosition expected a position
relative to the page.

As per
https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect,
the fix for this is simply to add the `pageXOffset` and `pageYOffset` to
the output of `getBoundingClientRect()`.

Fixes #459.

9 years agoIncrease Karma-Sauce Connector Timeout
Solly Ross [Fri, 27 Feb 2015 18:21:43 +0000 (13:21 -0500)]
Increase Karma-Sauce Connector Timeout

This commit increases the browserNoActivityTimeout to 100s
(from the default of 10s) in an attempt to alliviate the
timeout issues that we are seeing.

9 years agoUpdate dependencies to the latest versions
Solly Ross [Fri, 27 Feb 2015 17:42:43 +0000 (12:42 -0500)]
Update dependencies to the latest versions

This commit updates the test dependencies to the latest versions.

9 years agoMerge pull request #458 from kanaka/bug/disconnect
Samuel [Thu, 26 Feb 2015 11:41:46 +0000 (12:41 +0100)]
Merge pull request #458 from kanaka/bug/disconnect

Fix disconnect/reconnect issues

9 years agoFix disconnect/reconnect issues
Solly Ross [Fri, 20 Feb 2015 22:27:27 +0000 (17:27 -0500)]
Fix disconnect/reconnect issues

Commit 155d78b39933a396d2555376f4e70f976c30b86d prevented reconnections
from working properly.  This fixes that by creating a new RFB object
after disconnecting or failing.

Furthermore, this ensures that a new connection cannot be opened util
we've actually disconnected (either by timer or by receiving a `close`
event).

Closes #452

9 years agoRemove 'debian' directory
Solly Ross [Fri, 20 Feb 2015 22:31:37 +0000 (17:31 -0500)]
Remove 'debian' directory

This commit removes the old debian packaging information, which is
out of date.  People who wish to create Debain packages for noVNC
are better off using the package information from the actual Debian
or Ubuntu packages.

Closes #453

9 years agoRemove last bits of websockify cruft
Solly Ross [Wed, 18 Feb 2015 04:14:30 +0000 (23:14 -0500)]
Remove last bits of websockify cruft

Issue #449 pointed out that there were some files that were
missed in 6f5148648bd0e0ffa7ad00474c230f5f1ff4e39f.  This
fixes that.

Closes #449
Closes #450

9 years agoMake sure websockify is cloned to the correct dir
Solly Ross [Tue, 17 Feb 2015 22:54:21 +0000 (17:54 -0500)]
Make sure websockify is cloned to the correct dir

When `utils/launch.sh` clones websockify, it can be cloned
into the incorrect directory, depending on how `utils/launch.sh`
is run.  This commit ensures that websockify is always cloned into
`utils/websockify`.

9 years agoActually remove the "websockify" file
Solly Ross [Tue, 17 Feb 2015 22:45:57 +0000 (17:45 -0500)]
Actually remove the "websockify" file

Somehow, `utils/websockify` itself manage to sneak back in to
6f5148648bd0e0ffa7ad00474c230f5f1ff4e39f.  This actually removes
it.

9 years agoMerge pull request #448 from kanaka/websockify-as-submodule
Solly [Tue, 17 Feb 2015 22:35:57 +0000 (17:35 -0500)]
Merge pull request #448 from kanaka/websockify-as-submodule

Remove local copies of websockify

9 years agoMerge pull request #432 from nbibler/getPositionUpdate
Solly [Tue, 17 Feb 2015 20:59:27 +0000 (15:59 -0500)]
Merge pull request #432 from nbibler/getPositionUpdate

Replace custom getPosition algorithms with getBoundingClientRect.

9 years agoMerge branch 'bug/fix-input-html'
Solly Ross [Tue, 17 Feb 2015 18:36:56 +0000 (13:36 -0500)]
Merge branch 'bug/fix-input-html'

Closes #434

9 years agoUpdate tests/input.html to include keysym.js instead of keysymdef.js
Jesper Dam (jalfd) [Sat, 31 Jan 2015 11:49:29 +0000 (12:49 +0100)]
Update tests/input.html to include keysym.js instead of keysymdef.js

9 years agoUpdate package.json to specify version 0.5.1
Solly Ross [Mon, 16 Feb 2015 22:13:00 +0000 (17:13 -0500)]
Update package.json to specify version 0.5.1

The current noVNC release is 0.5.1, but package.json still
says version 0.5.0.  This fixes that.

Fixes #441

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 agoReplace custom getPosition algorithms with getBoundingClientRect.
Nathaniel Bibler [Mon, 26 Jan 2015 16:46:40 +0000 (11:46 -0500)]
Replace custom getPosition algorithms with getBoundingClientRect.

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 agoslip in PATH for 'npm test' as not everyone has karma
Alexander Clouter [Sat, 22 Nov 2014 10:20:51 +0000 (10:20 +0000)]
slip in PATH for 'npm test' as not everyone has karma

So people can follow the 'unit tests' instructions, we need
to make sure PATH includes the karma bin directory otherwise
we see the following:
----
aclouter@stevemcqueen:/usr/src/aten-ikvm/noVNC$ npm test

> noVNC@0.5.0 test /usr/src/aten-ikvm/noVNC
> karma start karma.conf.js

sh: 1: karma: not found
npm ERR! Test failed.  See above for more details.
npm ERR! not ok code 0
----

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