Commit Graph

384 Commits

Author SHA1 Message Date
Samuel Mannehed
58dfb7df45 Don't react to interactions with disabled buttons
Disabled buttons should not change appearance on mouse hover, click or
on keyboard focus. Doing so destroys the "disabled" impression.
2022-10-04 15:47:25 +02:00
Pierre Ossman
c101a31520 Don't use explicitly Helvetica
On many systems you get a poor substitute, so let's instead instruct the
browser that we merely want a sans serif font for our interface.
2022-09-23 13:59:39 +02:00
Pierre Ossman
1a101443a7 Set font family on root element
This is a very global setting, so let's put it on the top node for
clarity.
2022-09-23 13:58:50 +02:00
Pierre Ossman
af10b0c5e4 Avoid using translate() for positioning
It often results in a blurry result on WebKit based browsers.
2022-09-16 13:18:06 +02:00
Pierre Ossman
32f9033863 Document state classes uses in CSS
Makes it a bit easier to understand all the magic in this CSS.
2022-09-15 10:39:21 +02:00
Pierre Ossman
efb2400833 Merge branch 'italian' of https://github.com/M2Rbiz/noVNC 2022-09-14 10:36:27 +02:00
Samuel Mannehed
69e0f0f5db Remove unnecessary clipboard clear button
This button fills no real purpose. It's easy to mark everything and
delete with either "Ctrl + A -> Delete" or, on touch devices, "long
press -> mark everything -> Delete".
2022-09-09 16:03:49 +02:00
Fabio Fantoni
5d8ede61f9 Add italian translation 2022-09-08 14:56:04 +02:00
James Kinsman
faedcd0210 Allow continued reconnect tries
Currently novnc will only retry once (assuming the server is unavailable) and then stop (as the detail from is unclean, usually "failed to connect"). Minor change will continue to reconnect every reconnect_delay seconds until either reconnected or user intervention cancels the attempt.
2022-08-08 14:22:41 +01:00
Pierre Ossman
cdfb336651 Add warnings about insecure context
Most (all?) new APIs will require a "secure context", which generally
means served over TLS. We can expect crashes because of missing
functions if this requirement isn't fulfilled, so try to warn the user.
2022-05-12 15:48:46 +02:00
Pierre Ossman
da623156d3 Adjust wording and style of server verify dialog
Try to be a bit more verbose about what this dialog means and what the
user should do.
2022-03-10 16:29:24 +01:00
Pierre Ossman
15a0608e04 Make sure server verification dialog is closed
It should be closed at this point just like all other dialogs and
panels.
2022-03-10 16:28:15 +01:00
Pierre Ossman
ced6431ac5 Make credentials rules more specific
This was a very broad selector, so it does not belong in a specific
section like this. Do what all similar rules do and make it very
targeted.
2022-03-10 16:27:17 +01:00
Pierre Ossman
a73b5acfbb Stop abusing lists for dialogs
Use some more sane elements for these things.
2022-03-10 16:26:38 +01:00
pdlan
a1709b999e Added support for RSA-AES Unencrypted Security Type 2022-03-08 13:24:26 -05:00
Pierre Ossman
c143a852b1 Convert error handler to ES6 module
We no longer support older browsers, so this is not allowed to use
modern features.
2021-11-22 14:03:59 +01:00
Pierre Ossman
2f602da961 Ignore ResizeObserver errors
It seems that Firefox has a bug where these are fired incorrectly when
we are in an <iframe>. The events also contain no useful details, so we
can't really do anything useful with them anyway.
2021-11-22 13:53:05 +01:00
Pierre Ossman
7ad4e60df6 Add transition animation to transition screen
Avoid a harsh switch to the transition screen (loading, connecting) by
using some CSS transition animation.
2021-11-19 16:18:51 +01:00
Samuel Mannehed
22fe8e383f Update json files for new translations 2021-10-22 10:36:07 +02:00
Samuel Mannehed
f69d55c02f Fix parsing of query string variables
This space that was added here was added to the parsed value of the
query variable. This broke any comparisons with the value, for example
"myvar=true" resulted in a value of "true ".

This was broken by f796b05e42

The commit also adds unit tests for webutil.getConfigVar() that will
detect problems like this in the future.
2021-09-08 15:37:42 +02:00
yatru
f796b05e42 Add support for URL fragment parameters
Passing parameters as part of the fragment could be considered
benifical from a security or privacy standpoint when compared to query
string parameters. The URL fragment parameters are not sent to the
server.
2021-09-01 14:49:37 +02:00
Jose (Ito) Matsuda
dd20b17d49 feat: add French localization strings 2021-05-06 22:35:18 -04:00
Liddack
89f9ac0016 Add Portuguese (Brazil) translation 2021-03-16 13:30:23 +01:00
NNN1590
199910e63b Update Japanese translation 2021-01-15 14:04:49 +09:00
Pierre Ossman
5b5b747494 Remove many small, obsolete, old browser hacks
These are for browsers no longer supported anyway.
2020-12-07 10:10:53 +01:00
Pierre Ossman
6cd9bacf8b Use Fetch API for getting JSON data
We no longer need to support Internet Explorer so we can use a more
proper API here.
2020-12-04 16:43:44 +01:00
Pierre Ossman
273acf3e89 Remove unused injectParamIfMissing()
It should have been removed in 58fc267b2b
with the caller.
2020-12-04 16:43:04 +01:00
Pierre Ossman
b053b3f86d Update generated JS files for translations 2020-07-14 10:16:40 +02:00
Pierre Ossman
8be924c9d9 Add touch gestures for mouse emulation
Add several single and multitouch gestures to simulate various mouse
actions that would otherwise be impossible to perform.

This replaces the old system where you could select which mouse button
a single touch would generate.
2020-06-12 09:18:46 +02:00
Samuel Mannehed
756af5b44c Standardize on camelCase in App 2020-05-31 23:37:29 +02:00
Samuel Mannehed
a7fe079f81 Standardize on camelCase in Logging 2020-05-31 23:37:29 +02:00
Pierre Ossman
42e3b03fa8 Consistently close dialogs on connect/disconnect
This was done a bit arbitrarily before which could easily miss things,
end up in the wrong state and not trigger animations correctly.

This reverts commit c12e5b2b54 and fixes
things in a different way.
2020-05-05 12:43:04 +02:00
Samuel Mannehed
479d8cefd1 Add ability to set compression level
Fixes github issue #1382.
2020-05-01 20:47:36 +02:00
Samuel Mannehed
e7fa686f32 Fix indentation for focus check 2020-05-01 15:34:14 +02:00
Samuel Mannehed
8df281cce6 Don't fade the control bar if it has focus
Fixes github issue #1369
2020-05-01 14:38:09 +02:00
Samuel Mannehed
c12e5b2b54 Hide the clipboard when not connected
Fixes github issue #1367.
2020-05-01 13:35:34 +02:00
Alex Tanskanen
a040c402ed Fix focus problem after closing the toolbar
Closing the toolbar would make the focus remain on the toolbar and
not in the session. The only way to switch focus was to click in the
session. This commit will automatically switch back focus to the session
after closing the toolbar.
2020-03-12 13:17:51 +01:00
Pierre Ossman
5243cbf611 Add UI for quality setting 2020-02-28 14:54:09 +01:00
Niko Lehto
9253e178fc Hide clipboard side bar button when view only mode
The clipboard side bar button serves no purpose if user uses 'View Only'
mode, this commit hides this button in those instances.
2020-02-24 08:57:28 +01:00
Pierre Ossman
e4e6a9b9b4 Style all input types for consistent UI
At least all that the browsers will let us.
2020-02-18 15:24:51 +01:00
Alvin Townsend
546edcd4a0 Correcting path to package.json for running at a path other than root. 2020-01-31 11:34:53 +01:00
Samuel Mannehed
e52a278ed7 Properly detect scrollbar gutter
As a rule, instead of hard-coding a behavior on specific platforms we
should do dynamic detection.

This commit moves away from always hiding scrollbars on Android and iOS
and instead detects the rendered width of scrollbars in the browser.
2020-01-02 11:30:18 +01:00
Pierre Ossman
b8d1a8bb57 Avoid using Array.includes()
Internet Explorer doesn't have this method. Use the safer indexOf()
instead.
2019-12-23 15:42:02 +01:00
Chris Koying Browet
5b453ed4a8 Expand password dialog to work for usernames too
Some VNC authentication schemes use usernames, our UI should support
these.
2019-12-05 15:46:24 +01:00
Samuel Mannehed
b17f6c6929 Simplify logic for status hierarchy
Removes unnecessary variable
2019-11-25 17:03:55 +01:00
Samuel Mannehed
afa1f8a2ab Ensure warning status timeouts are honored
When showing a new status popup we want to set a timer for how long to
show it. In cases where we show many statuses in a fast succession we
need to remove any running timeouts when showing a new one.

There are exceptions when new statuses won't be shown, and thats if a
more severe status is already showing, i.e and error or a warning.

Warnings can still have timeouts. There was a bug that occured when we
tried to show a normal status while a warning was showing. The bug
caused the warning status timeout to be removed even if the normal
status was never shown. We should only remove running timeouts if we're
actually going to show a new status.
2019-11-25 16:38:03 +01:00
Samuel Mannehed
c15502525e Add README to app/locale warning not to modify 2019-11-07 13:07:45 +01:00
Samuel Mannehed
94a01b0ae0 Keep the virtual keyboard after using extra keys
If using the extra keys always gives focus to the screen then an
on-screen keyboard would be closed. When using on-screen keyboards we
instead want to give focus to our virtual keyboard input element.
2019-10-31 16:24:06 +01:00
Samuel Mannehed
a5aa8e1282 Move focus to the screen when using extra keys
A regression from 2afda54 and friends was that you couldn't use the
extra keys and then directly use the keyboard, you would have to click
in the session first.

This commit restores the correct behavior and also adds a visual queue
to the fact that the screen got the focus by fading the controlbar.
2019-10-28 10:37:10 +01:00
Samuel Mannehed
c568ad4c74 Add missing scancode for sendTab 2019-10-28 10:02:23 +01:00