Commit Graph

1775 Commits

Author SHA1 Message Date
samhed 30bfff81d9 Clarified enableDisableClip (now called enableDisableViewClip) and
moved it to where the other clipping functions are.
2015-06-25 15:29:23 +02:00
samhed 4f19e5c697 Allow the popupStatusPanel to show any text but close it on a 1.5 second timer. 2015-06-25 15:22:53 +02:00
samhed 31ddaa1c7a Clarify code with regards to the viewport drag functionality
* Fixes #502 so that the viewport drag functionality can't get stuck
2015-06-24 16:20:03 +02:00
samhed 29a0e6a8a3 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.
2015-06-16 22:41:29 +02:00
Solly 539955ff27 Merge pull request #497 from MOZGIII/MOZGIII-patch-vnc-auto-fix
Fixed incorrect UI usage and minor updateState params errors in vnc_auto.html
2015-06-12 14:34:34 -04:00
MOZGIII 2bcfd58667 Fixed incorrect UI usage and minor updateState params errors in vnc_auto.html 2015-06-12 20:41:41 +03:00
samhed 1138bdd4b7 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.. 2015-05-19 13:34:50 +02:00
samhed cb3e4deb73 Stop using keyboardinputReset at the start of keyInput
* This fixes backspace when using the on-screen keyboard on Android
2015-05-19 12:44:30 +02:00
Samuel 613f05eea0 Update LICENSE.txt
Removed old no longer existing vnc.js and added playback.js
2015-05-05 13:13:17 +02:00
Samuel 8af9b6910c Merge pull request #483 from fabian-z/master
Make noVNC compatible with Content Security Policies
2015-05-04 12:17:30 +02:00
Fabian Zaremba 48d26b2d47 Move #keyboardinput declarations to base.css/ui.js 2015-05-04 12:11:30 +02:00
samhed 8ce27ddb4b Re-fixes #428 which was broken by commit 58ded70
* Disable local cursor when the browser doesn't support data uri
2015-04-29 14:54:28 +02:00
Solly f9ffb21b6b Merge pull request #415 from jimdigriz/fixes
slip in PATH for 'npm test' as not everyone has karma
2015-04-07 14:29:46 -04:00
Solly cd1ab146bb Merge pull request #474 from kanaka/bug/throw-error-from-constructor
Throw exceptions from RFB constructor
2015-03-27 13:23:32 -04:00
Solly 245dc8669b Merge pull request #475 from kanaka/bug/follow-symlinks-for-here
Follow symbolic links in launch.sh
2015-03-27 11:54:39 -04:00
Solly Ross d9fc1c7be4 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
2015-03-26 17:10:24 -04:00
Solly Ross 58ded70d15 Create RFB object on connect
In e543525faa, 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
2015-03-26 17:09:05 -04:00
Solly Ross 2ace90e6d5 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.
2015-03-26 16:57:17 -04:00
samhed 16b3ef77d1 Make getCanvasLimit more efficient by only calling getPosition once. 2015-03-11 07:29:30 +01:00
Solly cefc9a9177 Merge pull request #464 from kanaka/bug/firefoxresize
Fix resize in Firefox on Android
2015-03-10 17:13:21 -04:00
samhed fdedbafb1d * 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
2015-03-09 14:30:56 +01:00
samhed 798340b98d * 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
2015-03-05 14:56:47 +01:00
samhed 3b8ec46fd2 Make the touch-keyboard code more robust through verifying that global variables are set before use. 2015-03-05 09:54:56 +01:00
Samuel 205d1a11ce Merge pull request #451 from kanaka/feature/scaling
Introduce Local Autoscaling
2015-03-05 09:52:10 +01:00
Solly Ross 72747869a7 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).
2015-03-03 13:15:49 -05:00
Solly Ross 8b46c0deb0 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).
2015-02-27 17:13:51 -05:00
Solly Ross 7e161007ab Launch Sauce Connect through Travis
This commit makes Travis launch sauce connect, instead of
using karma to start Sauce Connect
2015-02-27 17:13:33 -05:00
Solly 18c34c4766 Merge pull request #461 from kanaka/bug/459-incorrect-position-with-scrollbars
Make Util.getPosition be relative to page
2015-02-27 14:11:46 -05:00
Solly Ross 7e54fb93dd Make Util.getPosition be relative to page
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.
2015-02-27 13:37:13 -05:00
Solly Ross 20d3fb6665 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.
2015-02-27 13:23:09 -05:00
Solly Ross 88224c3fa7 Update dependencies to the latest versions
This commit updates the test dependencies to the latest versions.
2015-02-27 12:42:43 -05:00
Samuel 4043d8bb12 Merge pull request #458 from kanaka/bug/disconnect
Fix disconnect/reconnect issues
2015-02-26 12:41:46 +01:00
Solly Ross e543525faa Fix disconnect/reconnect issues
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
2015-02-25 11:01:18 -05:00
Solly Ross 2ec29db752 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
2015-02-20 17:34:59 -05:00
Solly Ross fe8a4dc9d8 Remove last bits of websockify cruft
Issue #449 pointed out that there were some files that were
missed in 6f5148648b.  This
fixes that.

Closes #449
Closes #450
2015-02-17 23:15:51 -05:00
Solly Ross 9db6a90677 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`.
2015-02-17 17:54:21 -05:00
Solly Ross 5cd6de495f Actually remove the "websockify" file
Somehow, `utils/websockify` itself manage to sneak back in to
6f5148648b.  This actually removes
it.
2015-02-17 17:45:57 -05:00
Solly 985c433867 Merge pull request #448 from kanaka/websockify-as-submodule
Remove local copies of websockify
2015-02-17 17:35:57 -05:00
Solly 5108c4635c Merge pull request #432 from nbibler/getPositionUpdate
Replace custom getPosition algorithms with getBoundingClientRect.
2015-02-17 15:59:27 -05:00
Solly Ross dedf9affbf Merge branch 'bug/fix-input-html'
Closes #434
2015-02-17 13:36:56 -05:00
Jesper Dam (jalfd) 1188993c0f Update tests/input.html to include keysym.js instead of keysymdef.js 2015-02-17 13:36:22 -05:00
Solly Ross 4e534a804e 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
2015-02-16 17:13:00 -05:00
Solly Ross 6f5148648b 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
2015-02-16 17:09:58 -05:00
Solly f675e03ccc Merge pull request #444 from samhed/extdesktop
Support ExtendedDesktopSize and SetDesktopSize
2015-02-10 11:31:37 -05:00
samhed 4dec490aae Support automatic resize [Part 4/4]: unit tests
* Added new tests for the setDesktopSize encoding
* Added new tests for the ExtendedDesktopSize encoding
2015-02-10 17:06:55 +01:00
samhed f8b399d7df 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.
2015-02-10 17:05:58 +01:00
Samuel 757653c007 Merge pull request #443 from fzylogic/master
keysym.js needs inclusion in debian's install list
2015-02-07 03:13:41 +01:00
Jeremy Hanmer a2158362d9 keysym.js needs inclusion in debian's install list 2015-02-06 14:24:47 -08:00
samhed b0ec6509f1 Support automatic resize [Part 2/4]: rfb.js
* Support sending the setDesktopSize encoding (client -> server)
* Support recieving the ExtendedDesktopSize encoding (server <- client)
2015-02-06 17:06:48 +01:00
samhed 636be753b2 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.
2015-02-06 16:54:14 +01:00