Commit 5108c4635c 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.
Commit 155d78b399 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
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
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`.
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
* 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.
* 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.
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
----
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.
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
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.
Commit 795fca23dc 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.
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.
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)