Commit Graph

232 Commits

Author SHA1 Message Date
Pierre Ossman 2f4516f293 Integrate connect() in to constructor
An RFB object represents a single connection so it doesn't make
sense to have one without it trying to connect right away. Matches
the behaviour of other APIs, e.g. WebSocket.
2017-11-09 13:13:41 +01:00
Pierre Ossman 002907d2ce Remove "downscale only" mode
The normal scaling mode should be sufficient for most use cases, so
let's keep the interface simple.
2017-11-09 13:13:41 +01:00
Pierre Ossman 8d1f0a3de8 Remove local cursor setting
We have no reason to disable this except for touch devices, which
we can handle without having a setting for it.
2017-11-09 13:13:41 +01:00
Pierre Ossman 0460e5fdbe Improve naming for viewport properties 2017-11-09 13:13:41 +01:00
Pierre Ossman a80aa41628 Change clippingDisplay() to a property
It fits much better as a property given that it only tells what the
current state of things are.
2017-11-09 13:13:41 +01:00
Pierre Ossman 747b462337 Use standard JavaScript properties
Use normal properties with JavaScript setters and getters instead of
our homegrown stuff.

This also changes the properties to follow normal naming conventions.
2017-11-09 13:03:32 +01:00
Pierre Ossman 3d7bb02036 Change some attributes to arguments
Some attributes are better suited as arguments, primarily because they
are associated with a specific method and cannot be changed later.
2017-11-09 12:52:05 +01:00
Pierre Ossman 5b4e5d016e Switch to URL for connect()
This is more in line with how other JavaScript APIs work.
2017-11-09 12:52:05 +01:00
Pierre Ossman 832be2625b Add resize as a capability
Makes the API more transparent than piggybacking on completion
of the first framebuffer update.
2017-11-09 12:51:15 +01:00
Pierre Ossman cd523e8f28 Make power API generic
Decouple it from XVP and make it a generic API.
2017-11-09 12:47:21 +01:00
Pierre Ossman 430f00d6fe Allow other credentials than just password
Makes the XVP authentication mechanism more general.
2017-11-09 12:45:05 +01:00
Pierre Ossman f976b5500e Hide mouse object from RFB callers 2017-10-27 13:58:12 +02:00
Pierre Ossman b9854a5ca5 Hide display object from RFB callers 2017-10-27 13:58:11 +02:00
Pierre Ossman 4c11755ce7 Merge branch 'focus' of https://github.com/CendioOssman/noVNC 2017-10-18 15:12:46 +02:00
Pierre Ossman 867daa98af Restore handling of key events for virtual keyboard
We broke handling of keydown/keyup when we moved the focus to the
canvas, as events from our input element would then no longer be
caught when they bubbled up to the document object (where we
previously caught events).

Restore the previous behaviour in a cleaner manner by creating a
second Keyboard object to handle this extra input variant.
2017-10-18 15:08:33 +02:00
Pierre Ossman 06fe4a3e1b Make sure control bar stays visible on Tab
Avoid the deprecated keypress event in favour of the keydown event.
It has the benefit of triggering for all keys, not just those that
produce symbols.
2017-10-18 15:08:33 +02:00
Pierre Ossman 2545a6c12e Stop giving host field default focus
It's a field that isn't shown by default and rarely changed.
2017-10-18 15:08:33 +02:00
Pierre Ossman e36f95868a Add focus state for control bar buttons
The focus can now move to the canvas so it is no longer a source of
confusion. It is also important to indicate that they have focus now
that we actually respect it.
2017-10-18 15:08:29 +02:00
Pierre Ossman 2afda54456 Only grab key events on canvas
Give the canvas proper focus handling. This avoids messy logic that
needs to disable and enable event handling when we want to interact
with other UI elements.

It also makes sure we can properly inhibit the browser from triggering
local actions on key presses.
2017-10-18 15:07:17 +02:00
Samuel Mannehed a342ed703f Check if <audio>.play() returns a promise
It doesn't always. IE and Edge crashed when trying to play the bell due
to this. Fixes #929.
2017-10-17 12:16:38 +02:00
Samuel Mannehed 2e735160bf Save pw for reconnections when using query params 2017-10-16 11:06:40 +02:00
Samuel Mannehed 93358b2eed Remove 'fuzzy' marks that were mistakenly left
During the last round of translations a few fuzzy markings was not
removed even though the string was updated. This can happen when the
translators edit the .po-file manually. Fuzzy markings result in that
the strings do not get included into the generated .json files.
2017-10-11 16:20:25 +02:00
Samuel Mannehed 061488f8f1 Fix Dutch translation for "Reconnecting..." 2017-10-11 16:19:22 +02:00
Samuel Mannehed 76fa34a635 Update .json for Dutch and Swedish translations 2017-10-11 10:52:48 +02:00
Samuel Mannehed 61c37685f6 Merge pull request #920 from flumm/german
updated german translations
2017-10-11 10:01:34 +02:00
Dominik Csapak b420b966a3 updated german translations
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-10-11 07:09:50 +00:00
Samuel Mannehed e4791eac9d Merge pull request #922 from kosmasgiannis/greek
Update Greek translation
2017-10-11 09:04:13 +02:00
Giannis Kosmas 4e2de902e7 Update Greek translation 2017-10-11 09:52:26 +03:00
Mariusz Jamro a0513c87c7 Add polish translation 2017-10-10 15:37:31 +02:00
Samuel Mannehed 9e314b44e2 Merge pull request #913 from kosmasgiannis/missing_quote
Add missing quotes
2017-10-06 23:03:55 +02:00
Giannis Kosmas 067accb8d9 autoconnect variable was used before it was defined. 2017-10-06 22:53:52 +03:00
Giannis Kosmas eb533b2b00 Add missing quotes 2017-10-06 14:15:22 +03:00
Pierre Ossman d593483ecc Make port optional in ui.js as well
It is optional in the RFB object since 1a50f68, so we don't need it
at the UI layer either.
2017-10-06 10:07:47 +02:00
Samuel Mannehed a49ade5fa0 Rename setting_clip to setting_view_clip
Clarifies the purpose of the setting in order to avoid mix ups with
clipboard related things.
2017-09-07 09:01:52 +02:00
Samuel Mannehed 409b7fb97e Remove unused variable
The use of this variable was removed in b18ef8162e
2017-09-07 09:00:15 +02:00
Pierre Ossman d1a1e0e529 Adjust scaling when session size changes
Session size changes can be initiated from the server, and not just
from the client. Make sure we update the scaling when this happens.
2017-08-16 11:00:04 +02:00
Samuel Mannehed 74a29f3ff5 Make sure the control bar hint is centered
Fixed positioned flex boxes are not positioned correctly in Safari. Add
the normal top 50% translate -50% method.

Fixes issue #848.
2017-07-26 17:06:27 +02:00
Pierre Ossman 637a282be5 Scroll error stack trace
Make sure we get the stack trace without distortions by wrapping, or
cropping because it flows out of the screen.
2017-06-15 13:49:27 +02:00
Pierre Ossman 858ea4a774 Avoid use of 'let' and 'const'
They are not supported on older browsers, e.g. iOS 9.
2017-06-02 15:41:37 +02:00
Samuel Mannehed bbc1648c7a Add hint that the control bar can be moved
The control bar can be dragged to the other side, this isn't obvious
however. This adds a hint on the opposite side in the form of a subtle
glowing half-ellipse.
2017-05-29 15:57:13 +02:00
Samuel Mannehed c23665dd82 Clear the password input field
If a user disconnects but leaves the browser tab open, the password
input field would still contain the password for future connections.
We now clear the input field after reading the password into memory.
2017-05-20 19:05:46 +02:00
Samuel Mannehed b0061a3c49 Revert "Remove shadow from logo"
This reverts commit 7c44f86dcd.
2017-05-15 14:57:33 +02:00
Pierre Ossman 55988e7aec Fix bootstart of input field
It wasn't working properly anymore because it expected to be triggered
by the "load". But we now register that event listener long after the
"load" event has already fired.
2017-05-15 14:42:28 +02:00
Samuel Mannehed c464f47e96 Remove trailing whitespace 2017-05-13 01:56:24 +02:00
Samuel Mannehed 7c44f86dcd Remove shadow from logo 2017-05-13 01:43:02 +02:00
Samuel Mannehed d4fc89d8b9 Catch errors for when we can't play bell
Many browsers, for example Chrome on Android will not allow audio to
play unless it's initiated from a user action. It is not reasonable to
display an error for this. Fixes issue #821.
2017-05-12 12:52:05 +02:00
Samuel Mannehed 83391ffc38 Rename vnc_auto to vnc_lite 2017-05-12 08:57:23 +02:00
Samuel Mannehed 7ca650b73d Add missing semi colon 2017-05-12 08:48:41 +02:00
Samuel Mannehed 333ad45c70 Don't capture touch events
They are implicitly captured anyway, and we get problems if we try
to explicitly capture them.
2017-05-11 13:34:43 +02:00
David Gnedt 8a0cbd742b Update German translation
From Pull Request #771.
2017-05-09 11:49:57 +02:00