Commit Graph

1775 Commits

Author SHA1 Message Date
Pierre Ossman 9865432a02 Center canvas (again)
The previous attempt could leave parts of the canvas outside the
document, making it impossible to reach. Use a safer method as
recommended by Mozilla.
2017-02-03 11:43:17 +01:00
Samuel Mannehed 93c4b5caaa Merge pull request #762 from novnc/saveimmediately
Save settings immediately
2017-01-30 13:02:49 +01:00
Samuel Mannehed 623b1b7d96 Allow resize setting to be changed while connected
There is no reason to why this shouldn't be possible.
2017-01-27 16:22:15 +01:00
Samuel Mannehed 59387b34ea Separate init functions from event handling setup
Adds a new section for all functions that add event handlers.
2017-01-27 16:20:53 +01:00
Samuel Mannehed 3fdc69ceda Rename function for adding resize handlers
Moves the one handler for the status out of the function as well. It
didn't fit in with the function's old name either.
2017-01-27 16:20:53 +01:00
Samuel Mannehed b3d91b78e1 Rename and move init function for fullscreen 2017-01-27 16:20:53 +01:00
Samuel Mannehed dceda58642 Save settings immediately
Retire the old settingsApply. This also allows UI logic to check the
state of things using the settings instead of having to look at the
values of HTML elements (we couldn't be sure if the changes were
applied yet or not).
2017-01-27 16:20:33 +01:00
Samuel Mannehed 0b09e9cb6f Remove unused toggleConnectPanel function 2017-01-24 14:37:14 +01:00
Samuel Mannehed aa90547519 Add UI wrapper for Webutil.init_logging 2017-01-24 14:36:19 +01:00
Pierre Ossman 394ad22be9 Merge branch 'add-reconnect' of https://github.com/fd0/noVNC 2017-01-23 13:47:57 +01:00
Alexander Neumann 044d54ed62 Add reconnect option
Add an option to automatically reconnect after a delay when the
connection is closed.

Closes #746
2017-01-23 11:42:41 +01:00
Pierre Ossman a7619faf18 Set pointer cursor for status bar
It can be dismissed by clicking on it, so hint this by setting the
pointer cursor type.
2017-01-20 10:11:16 +01:00
Samuel Mannehed 7d73fdf9a4 Replace TigerVNC with MobileVNC
TigerVNC doesn't have a built in websocket proxy
2017-01-19 13:45:06 +01:00
Pierre Ossman 413ea87741 Fix global error handler
It stopped working when we switched to textContent as it relies
on being able to add new HTML elements. Do things properly by
adding new elements via createElement().
2017-01-18 15:59:31 +01:00
Samuel Mannehed 1ec1c512af Fix screenshot URL's 2017-01-14 11:45:28 +01:00
Samuel Mannehed adc19ca16e Change server example
Replaced PocketVNC with TigerVNC since the PocketVNC url was broken and the project isn't active anymore.
2017-01-14 11:42:03 +01:00
Samuel Mannehed 5911cfd582 Update to new organization urls 2017-01-14 11:33:36 +01:00
Solly Ross 6048299a13 Use textContent instead of innerHTML
Previously, setting `innerHTML` was used to display the statuses.  These
could include content communicated from the remote VNC server, allowing
the remove VNC server to inject HTML into the noVNC page.

This commit switches all uses of `innerHTML` to use `textContent`, which
is not vulnerable to the HTML injection.
2017-01-12 14:47:36 -05:00
Samuel Mannehed 41f476a863 Add Pierre Ossman to core team 2017-01-12 09:38:23 +01:00
Samuel Mannehed 3e08594c89 Fix rfb._cleanup() (#743)
We don't have to check for _display or context here since this is a
private function which is never called under such circumstances. This
solves problems caused by display.get_context() which was previously
removed in e549ae074f.
2017-01-09 12:49:10 +01:00
Solly Ross 16ed7b8b43 Merge pull request #715 from CendioOssman/cleanup
Cleanup of settings (amongst other things)
2017-01-06 14:08:59 -05:00
Pierre Ossman 813458923e Avoid wrapping labels 2017-01-04 15:05:59 +01:00
Pierre Ossman cac935ffc2 Clean up z index ordering
We have enough layers now that we need to have some system for this.
E.g. make sure that dialogs during connect show up in front of the
blocking transition layer.
2017-01-04 15:05:59 +01:00
Pierre Ossman b3c932c386 Make connect button more prominent
It's generally the only thing the user needs to click on, so make
sure it clearly stands out.
2017-01-04 15:05:58 +01:00
Pierre Ossman 512d3605ad Remove connect dialog
It only contained a password field, which might not be needed, and
is handled by a separate dialog if it is.
2017-01-04 15:05:01 +01:00
Pierre Ossman ef3e12b595 Remove vendor prefix from border-radius
It's been standardised for quite some time, so remove the extra
noise in the CSS.
2017-01-04 15:05:01 +01:00
Pierre Ossman 13304bacd0 Group rarely changed settings together 2017-01-04 15:05:01 +01:00
Pierre Ossman 575f69832d Group WebSocket settings together
It was easy to confuse them as being VNC settings, so keep them all
under one group.
2017-01-04 15:05:01 +01:00
Pierre Ossman 340d9d66cc Remove alternative style sheets
Anyone with basic knowledge of CSS will easily figure out how to
customise the appearance of the UI, so remove the burden of having
to maintain these extra style sheets.
2017-01-04 15:05:01 +01:00
Pierre Ossman 58fc267b2b Remove unused token setting 2017-01-04 15:05:01 +01:00
Pierre Ossman 47fbdced45 Center canvas vertically as well 2017-01-04 15:05:01 +01:00
Pierre Ossman 8f2ca5feaa Black out background when connected 2017-01-04 15:04:51 +01:00
Alexander E. Patrakov a124c8eab2 Changed the default compression level to 2
The old default was to ask for the maximum compression level. This
is against the recommendations in libvncserver/tight.c due to excessive
CPU load. It also causes Vino 3.8.1 (still shipped with Ubuntu 16.04
LTS) to prefer the blurry JPEG compression too much - e.g. red text on
the default background in MATE terminal becomes almost unreadable.

The new default is the recommended compression level for low-color
workloads, according to libvncserver source. Also, it is the maximum
compression level that doesn't trigger the Vino bug with red text in
most cases.

Fixes issue #737.
2016-12-29 18:22:31 +05:00
Lee-Feng 558544364c Fix no auth "this._updateState" bug
Fixes #735
2016-12-20 08:37:31 +01:00
Samuel Mannehed c01b2f0259 Merge pull request #699 from CendioOssman/double
Display double buffering
2016-12-13 12:42:22 +01:00
Pierre Ossman adf345fdc4 Clean up viewport handling
Make sure the viewport is properly updated when necessary, on respects
given restrictions.
2016-12-09 09:20:50 +01:00
Pierre Ossman 3f781f2aa3 Remove max dimension handling
The viewport handling is now a lot clearer, so simply limit the size
of the viewport in the caller rather than having this extra layer
of checks.
2016-12-09 09:20:50 +01:00
Pierre Ossman e549ae074f Prevent access to sensitive display variables
These should not be directly accessed. Instead use drawing operation
and Display.resize().
2016-12-09 09:20:50 +01:00
Pierre Ossman 84cd0e719e Double buffering damage tracking
Optimise the copy from the hidden canvas to the visible one a bit
by only copying the modified area.
2016-12-09 09:20:50 +01:00
Pierre Ossman 2ba767a7fe Use double buffering for the display
Do all rendering to a hidden canvas and then copy over the finished
frame to the visible canvas once everything is done. This simplifies
things and solves some bugs as we can retain a copy of the entire
frame buffer.
2016-12-09 09:20:50 +01:00
Pierre Ossman 18d21e3621 Update all state on session size change 2016-12-09 09:20:50 +01:00
Pierre Ossman 02329ab19c Don't violate Display abstraction
Use the normal API as much as possible instead of poking around in
internals that might change.
2016-12-09 09:20:50 +01:00
Pierre Ossman 3181a032f8 Add test for Display.flush() 2016-12-09 09:20:50 +01:00
Pierre Ossman 74e390512d Remove blitStringImage() in favour of imageRect()
The latter is more generic and can easily be modified for other
mechanisms in the future.
2016-12-09 09:20:50 +01:00
Pierre Ossman 18e96092c3 Flush out rendering after each performance test
There might be operations pending in the render queue. Make sure
these are fully handled before we consider the test run over.
2016-12-09 09:20:39 +01:00
Pierre Ossman e12e2759b0 Run performance tests at full speed
setTimeout() is subject to delays, possible massive ones. As such it
is rather useless for performance sensitive code. Use the non-standard
setImmediate() API instead, emulating it on postMessage() when it
isn't available.
2016-12-06 16:14:11 +01:00
Samuel Mannehed e663da8c32 Merge pull request #727 from CendioOssman/travis
Fix travis tests
2016-12-01 10:43:35 +01:00
Pierre Ossman 6ec3af22ca Skip language tests on broken browsers
The hacks needed to run these tests require proper handling of
properties. Unfortunately IE and old versions of Chrome mess up,
so just skip the tests there.
2016-11-29 17:00:24 +01:00
Pierre Ossman acca6487f2 Update test platforms
Test on the latest version of everything, as new versions are
coming out constantly. Also add some missing combinations.
2016-11-29 17:00:24 +01:00
Samuel Mannehed a8cc32d8b9 Merge pull request #725 from CendioOssman/rightbar
Allow control bar to be moved to the right side
2016-11-29 13:23:02 +01:00