Solly Ross [Wed, 4 Oct 2017 19:03:26 +0000 (15:03 -0400)]
[release] v1.0.0-testing.2
v1.0.0-testing.2 is the "make sure all of our autopublishing works
properly" release. Assuming everything goes well, it should shortly be
followed by v1.0.0 proper.
Solly Ross [Tue, 3 Oct 2017 23:36:36 +0000 (19:36 -0400)]
[infra] updated packaging config
This updates the .npmignore file to ignore some new files that were
recently added, and to keep the `core` directory, so that noVNC can be
used as an ES6 module from NPM.
This also updates package.json to clean when generating lib files in the
`prepare` phase (which has replaced the `prepublish` phase).
Solly Ross [Tue, 3 Oct 2017 22:40:52 +0000 (18:40 -0400)]
[infra] fix vendor import paths on built files
A previous commit started (quasi-correctly) rewriting vendor import
paths on built files. The gist of it was correct, but it incorrectly
rewrote paths in vendor itself.
The babel plugin in use operated on canonical absolute paths. This mean
that it saw no difference between the import
`../vendor/pako/lib/utils/foo` and `../utils/foo`, where the later was
actually in the `vendor/pako/lib/bar` directory. This rewrote imports
in files in the vendor directory itself. However, since those files
were *already* in the correct relative location, the new import was
incorrect by a degree of `..`.
Now, we only rewrite vendor paths on things in the `core` directory.
Solly Ross [Tue, 3 Oct 2017 22:21:36 +0000 (18:21 -0400)]
[infra] option to clean on use_require.js
This adds an option to `utils/use_require.js` which cleans the lib
and build directories before regenerating them. This will enable us
to make sure we always have a fresh copy of the lib dir before
publishing.
Samuel Mannehed [Thu, 28 Sep 2017 12:05:20 +0000 (14:05 +0200)]
Upgrade and fix sinon.js
Converted version downloaded from sinonjs.org. Fixed version that
doesn't register itself on the global object. This forces all modules to
do a proper import.
Pierre Ossman [Fri, 8 Sep 2017 09:22:40 +0000 (11:22 +0200)]
Basic support for Intel AMT
This restores basic support for Intel AMT servers. They refuse clients
that request more than 16 bits per pixels, so implement a fallback
in just the "Raw" encoding.
Samuel Mannehed [Tue, 12 Sep 2017 09:16:24 +0000 (11:16 +0200)]
Combine small mouse wheel events
The VNC protocol can't handle different deltas or speeds for a mouse
wheel event. When using a device that sends a lot of small mouse wheel
events, instead of fewer larger steps, the effect was that mouse wheel
scrolling was way to sensitive.
This patch looks at the delta of wheel events and doesn't send events
until the combined delta has passed a threshold. Single events that
doesn't pass the threshold get sent after a timeout in order to not
loose any events.
Pierre Ossman [Fri, 7 Jul 2017 13:06:13 +0000 (15:06 +0200)]
Only send QEMU Extended Key Event if we have a scan code
Servers will assume that a scan code is present if this message type
is used, so fall back to the standard key event message if we don't
know the scan code.
Pierre Ossman [Thu, 6 Jul 2017 10:53:31 +0000 (12:53 +0200)]
Fallback for missing keypress events
IE and Edge have some corner cases (e.g. Ctrl+key) where we get
insufficient information in the keydown event, and we never get
a keypress event. Try to make a guess of the key in those cases.
Pierre Ossman [Wed, 21 Jun 2017 11:50:03 +0000 (13:50 +0200)]
Fake key release for iOS hardware keyboards
iOS sends decent key down events, but junk key up events when a
hardware keyboard is used. This confuses the key tracking as a
corresponding release is then never detected. To work around this
we'll treat the hardware keyboard like the virtual ones and send
the key release right away.
Solly Ross [Mon, 5 Jun 2017 17:33:39 +0000 (13:33 -0400)]
Fix Travis-Sauce Connection
Somethings got messed up in the Travis-Sauce tunnel setup. This should
fix it by re-adding the Sauce credentials. It also updates the config
to explicitly pass auth information instead of via environment
variables.
Samuel Mannehed [Mon, 22 May 2017 06:24:41 +0000 (08:24 +0200)]
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.
Pierre Ossman [Mon, 22 May 2017 11:44:48 +0000 (13:44 +0200)]
Revert recording file format changes
Change back to the old, non-modular recording file format. The new
method doesn't work reliably and there are existing recordings already
out there that we might want to handle.
Samuel Mannehed [Sat, 20 May 2017 16:59:47 +0000 (18:59 +0200)]
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.
Pierre Ossman [Fri, 19 May 2017 12:39:49 +0000 (14:39 +0200)]
Handle loading web workers in any path
The URL is interpreted relative the current page, not relative
the current script. So we need to have some extra code in order to
allow the module loader to be agnostic to its path.
Pierre Ossman [Mon, 15 May 2017 12:40:28 +0000 (14:40 +0200)]
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.
Samuel Mannehed [Fri, 12 May 2017 10:52:05 +0000 (12:52 +0200)]
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.
Pierre Ossman [Fri, 27 Jan 2017 11:52:24 +0000 (12:52 +0100)]
Clean up AltGraph handling
It doesn't need to be this general as the issue is mostly about
Windows. Also use the same modifier shuffle that RealVNC and
TigerVNC uses to get macOS working well.