Commit Graph

176 Commits

Author SHA1 Message Date
Pierre Ossman
732233eda0 Handle partial error location information
We might not get line or column number, but the file is still
useful information.
2017-03-27 16:29:38 +02:00
Pierre Ossman
5da03103a3 ErrorEvent.error isn't always set
It's not just a matter of the browser lacking support.
2017-03-27 16:29:38 +02:00
Pierre Ossman
13c558e3a0 Limit fallback error width to window width
Change the layout a bit to make sure the entire message can be read.
2017-03-27 16:29:38 +02:00
Pierre Ossman
c361080be8 Use monospace font for unhandled errors
The browsers uses crude layout formatting that expects this.
2017-03-27 16:29:38 +02:00
Pierre Ossman
7e19216368 Define an initial shadow for spinner
IE and Edge refuse to animate attributes that weren't present in
the static definition.
2017-03-23 17:53:09 +01:00
Solly Ross
adfc9d3f54 Move error handler into separate file
This commit moves the global error handler into a separate file,
so that it can catch module loading errors.

This also adds support for properly displaying error messages with
newlines in them (since the module loader may throw those)
2017-03-21 17:39:07 -04:00
Solly Ross
e6a8eb15ca Only apply settings with an RFB object
We should only apply settings if we have an RFB object available.
Some of the settings handlers didn't respect this, but do now.
2017-03-21 17:39:07 -04:00
Solly Ross
e25f9c4010 Use transition animation while loading
This shows the transition animation while loading, so users can see
something is going on.
2017-03-21 17:39:07 -04:00
Solly Ross
6d6f0db0da Refactor ES6 module structure/split up Util
This commit restructures many of the ES6 modules, splitting them
up to actual export multiple functions instead of a single object.

It also splits up Util into multiple sub-modules, to make it easier
to maintain.

Finally, localisation is renamed to localization.
2017-03-21 17:39:05 -04:00
Solly Ross
6e744119f8 Remove WebUtil.load_scripts
The only remaining user of WebUtil.load_scripts was for loading
localisation.  Instead, we now load the localization information
over XHR as a JSON blob.
2017-03-07 11:11:29 -05:00
Solly Ross
2a7c6d20ab Load translations over XHR
This commit causes translations to be loaded over XHR instead of
the import system.
2017-03-07 11:11:29 -05:00
Solly Ross
bc35b1d27e Remove WebUtil.dirObj
`WebUtil.dirObj` wasn't being used anywhere, so this removes it.
2017-03-07 11:11:29 -05:00
Solly Ross
3ae0bb0968 Uncomment ES6 module syntax
This removes the special comment part of the ES6 module syntax,
opting to enable ES6 module syntax by default.

It also appends `.js` to all import paths to better support in-browser
loading.
2017-02-26 16:30:37 -05:00
Solly Ross
d55e454582 Fix typos in imports and i18n
`app/ui.js` had an incorrect import path which caused issues
when using the ES6 and/or CommonJS builds of noVNC.

`core/util.js` had a non-strict-compatible declaration of a variable
without a `let` or `var` (it now uses `let`).

This fixes both issues.
2017-02-26 16:30:37 -05:00
Samuel Mannehed
b56d975248 Merge branch 'settingswhileconnected' of https://github.com/samhed/noVNC
Closes pull request #778
2017-02-24 15:42:27 +01:00
Samuel Mannehed
7a005a1b18 Merge branch 'disableLabels' of https://github.com/samhed/noVNC
Closes pull request #776
2017-02-24 15:13:09 +01:00
Pierre Ossman
6e8a8c8df1 Remove 512x512 icon
It is not a launcher icon, but rather used for display on Google
Play. As such it is not needed and removing it mitigates the issue
of some buggy browsers downloading each and every listed icon.
2017-02-23 16:29:16 +01:00
Samuel Mannehed
24584cca89 Disable labels for settings as well
Makes the settings UI easier to read.
2017-02-21 11:58:03 +01:00
Samuel Mannehed
6c857dc50c Set input type number for port & reconnect_delay 2017-02-21 11:57:24 +01:00
Samuel Mannehed
fb49f91b00 Allow local cursor to be changed while connected 2017-02-19 01:53:41 +01:00
Samuel Mannehed
3a535adab0 Allow auto reconnect to be changed while connected 2017-02-19 01:53:41 +01:00
Samuel Mannehed
ef1e8bab22 Allow view_only to be changed while connected 2017-02-19 01:53:41 +01:00
Samuel Mannehed
0298305e80 Allow clipping to be changed while connected 2017-02-18 16:30:35 +01:00
Pierre Ossman
e677b66cc7 Proper workaround for Chrome's scrollbar bug
Avoid applying this workaround more than necessary. Also comment a
bit more why this hack is needed.
2017-02-16 16:28:55 +01:00
Samuel Mannehed
b56772ec43 Update drag button at right time
It needs to update whenever the viewport or clipping changes, so
let's make sure that actually happens and not trigger on mildly
related events.
2017-02-16 16:07:55 +01:00
Samuel Mannehed
6bfd9dc96f Update clipping before changing scaling
The scaling is relative the current viewport, so we need to make
sure it is correct before changing the scale setting.
2017-02-16 16:07:55 +01:00
Samuel Mannehed
5f38376adb Don't change stored setting when "forcing"
Don't overwrite the user's configured choice. Instead ignore
settings when they cannot be respected.
2017-02-16 16:07:55 +01:00
Samuel Mannehed
631428d966 Fix status class for IE
IE apparently doesn't support removing several class specifiers at
once, so switch to several calls.
2017-02-16 16:07:55 +01:00
Samuel Mannehed
b18ef8162e Allow scroll bars on Safari and IE
The previous problems were because we were scrolling the wrong element,
so we can enable this feature now.
2017-02-16 16:07:40 +01:00
Samuel Mannehed
f3b7727535 Fix canvas size on IE 2017-02-16 14:48:34 +01:00
Samuel Mannehed
280676c7e9 Properly encapsulate the scale in Display
Other parts of the code shouldn't have to care about this. Let Display
convert between canvas coordinates and framebuffer coordinates.
2017-02-16 14:00:39 +01:00
Samuel Mannehed
bd7d89e7cc Fix resize on Chrome
Chrome sucks at calculating the size and gets confused due to the
scrollbars. Hide the scroll bars while resizing.
2017-02-10 16:39:18 +01:00
Pierre Ossman
86d15a4929 Use setCapture() polyfill everywhere
This makes sure we get consistent behaviour across all browsers.
2017-02-09 15:51:22 +01:00
Pierre Ossman
b345859ed6 More aggressive retaining of focus
Try to keep the virtual keyboard up even more. Only release focus
when it is absolutely necessary.
2017-02-09 14:20:37 +01:00
Pierre Ossman
3f48c7017d Tweak spinner appearence
Change the look of the "busy" spinner a bit. It's mostly used for
connection stuff, so give it a more data flow feel. Also bling it
up a bit with some fading. Perty sells. :)
2017-02-07 16:09:10 +01:00
Pierre Ossman
84b05d24b0 Allow submitting the password from the input field 2017-02-03 13:19:15 +01:00
Pierre Ossman
648c83984c Scroll correct element
The element we want scrolling around is noVNC_screen, not the entire
window. This also allows us to compute the screen size without
fiddling the scrollbars on and off.
2017-02-03 13:17:43 +01:00
Pierre Ossman
f6299e0aed Move keyboard style in CSS
Put it so it matches where it is in the HTML.
2017-02-03 11:44:24 +01:00
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
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
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