Commit Graph

1946 Commits

Author SHA1 Message Date
Samuel Mannehed 35b78e95d2
Merge pull request #1279 from CendioOssman/nomodule
Use "nomodule" instead of manual check
2019-09-24 15:40:05 +02:00
Pierre Ossman 0b51419ca4 Use "nomodule" instead of manual check
Very few browsers are left in the wild that supports modules but not
"nomodule", so let's simplify our handling a bit.

Safari 10 supports modules but not 'nomodule', this means that this
particular version of Safari will be broken. Due to this we have to
bump up the required Safari version to 11.
2019-09-24 15:34:59 +02:00
Niko Lehto 296ba51f49 Add support for VMware cursor encoding
Supports both classic cursor type and alpha cursor type. In classic
mode the server can send 'inverted' pixels for the cursor, our code
does not support this but handles these pixels as opaque black.

Co-authored-by: Samuel Mannehed <samuel@cendio.se>
2019-09-24 10:26:30 +02:00
Niko Lehto a1afb2a215 Fix url cursor detection on Edge
_supportCursorURIs was set to true even when Edge didn't support
URIs because the fallback value "default" was used.
2019-09-23 13:50:17 +02:00
Niko Lehto c90245da25 Restore page name after disconnect 2019-09-04 15:05:14 +02:00
Niko Lehto 8d6f686b59 Test unicode desktop names 2019-09-04 14:47:40 +02:00
Niko Lehto ce66b46986 Add support for DesktopName extension
This extension allows session name to be changed during runtime.
2019-09-04 14:23:37 +02:00
Pierre Ossman 9886d5951d Set viewport size for autoscale tests
We were incorrectly relying on the viewport being indirectly set
for us. Make sure we are explicit in what we want for these tests.
2019-08-23 15:48:30 +02:00
Pierre Ossman 30ff15a35a Merge branch 'upgrade' of https://github.com/CendioOssman/noVNC 2019-08-23 15:08:56 +02:00
Pierre Ossman e5255fc246 Remove pointless Display.clear()
It served no meaningful purpose and it had bugs. So let's remove it
rather than try to fix it.
2019-08-23 15:05:58 +02:00
Pierre Ossman 3855a7bee4 Remove unused Display.logo attribute 2019-08-23 15:04:23 +02:00
Pierre Ossman 6aed0b4dd2 Deprecate showDotCursor option for RFB constructor
It is not relevant for the connection stage so it should not have
been a constructor argument to begin with. Ship with a warning for
a release before we remove it.
2019-08-23 14:00:20 +02:00
Pierre Ossman 1f2bb52850 Make sure showDotCursor can be modified before connecting
The cursor object is only attached to our canvas whilst connecting,
so we need to make sure we don't try to update anything when were
not connected or we'll get a crash.
2019-08-23 13:57:30 +02:00
Pierre Ossman 4222d72bfe Regenerate module loader after tool upgrades 2019-08-19 13:32:41 +02:00
Pierre Ossman e24b501c47 Use latest versions of development dependencies
Let's make sure we get the latest features and fixes for all the
tools we are using.
2019-08-19 13:32:41 +02:00
Pierre Ossman c47a3a3e09 Use latest NodeJS version in Travis
We want the latest and not be stuck on some old version. Otherwise
our scripts might not execute correctly.
2019-08-19 13:32:41 +02:00
Pierre Ossman 90d463f969 Make sure translation tools are lint checked
They do not have a .js suffix so eslint isn't finding them
automatically.
2019-08-19 13:32:29 +02:00
Jesper Alf Dam 08567b08ac When compacting the receive buffer don't copy unused buffer space
When compacting the receive buffer, we should only copy the bytes
between _rQi and _rQlen (the index of the first unread byte, and the
next write position).

Previously, we copied everything for _rQi up untill the end of the
buffer.
2019-08-16 19:34:09 +02:00
Jesper Alf Dam 7d755d10dc Don't compact the receive buffer unless we've actually run out of space
Previously, we would compact the buffer (moving unread data to the
start of the buffer) as follows:

- after processing a message, if there are zero unread bytes, just reset
  the indices for first and last unread byte to zero
- else, if at least 1/8th of the buffer is used, copy remaining data to the beginning of the buffer

The second option is never actually necessary, as before inserting new data
into the array, we already check if there's enough free space, and
compact the buffer first if necessary. So we've been doing a lot of
copies that weren't actually needed. Let's not do that any more.
2019-08-16 19:34:09 +02:00
Jesper Alf Dam e9f489a629 Avoid recursion in Alt check on Firefox
The Firefox workaround which checks for missing Alt key events may
synthesise new KeyboardEvents. On these events, checkAlt should not be
recursively triggered. Otherwise, we get "too much recursion" errors
whenever the Alt key is pressed.
2019-08-16 16:20:41 +02:00
Pierre Ossman 776024a008 Fix trivial lint issues in translation tools
Indentation, missing semicolon, etc.
2019-08-15 15:58:09 +02:00
Pierre Ossman 604edf07d2 Upgrade to latest rollup 2019-08-15 15:58:09 +02:00
Pierre Ossman ff7882c44c Remove unused import from module loader 2019-08-15 15:58:09 +02:00
Pierre Ossman c9765e5066 Upgrade to latest sinon and chai 2019-08-15 15:58:09 +02:00
Pierre Ossman b875486db8 Avoid deprecated called.once from sinon-chai
It's been removed in newer versions and will break eventually.
2019-08-15 15:58:09 +02:00
Tim Edwards e1d50c8c10 Added a Snap package for noVNC (#1231)
Creating an Ubuntu Snap package to make noVNC easier to deploy.

Checks for the websockify binary in both the PATH (using which) and in the location where the Snap package places the binary. This is necessary for noVNC to be usable in a Snap. It doesn't affect the original functionality of git cloning websockify if it's not found in PATH or the Snap location.
2019-07-25 22:22:48 +02:00
Samuel Mannehed 897b465b87 Add missing parentheses for arrow func arg
Our lint tests expect this when an arrow functino has a body with
curly braces.
2019-07-23 16:12:22 +02:00
Samuel Mannehed e14aa4d0fe Add documentation for the option showDotCursor
This is not only a property, it's also a parameter to the constructor.
2019-07-23 16:07:17 +02:00
Samuel Mannehed c912230309 Remove the default value of wsProtocols
Using the 'binary' protocol by default is very non-standard.
2019-07-23 16:03:49 +02:00
Samuel Mannehed 21387f9c24
Merge pull request #1262 from shiramax/sub_protocols
Add support in websocket sub-protocols
2019-07-23 15:24:10 +02:00
Shira Maximov 25b3d49d32 Add support in websocket sub-protocols 2019-07-23 13:44:18 +03:00
Samuel Mannehed 8f2bcfbe79
Merge pull request #1265 from juanjoDiaz/add_version_number_to_UI_2
Add version number to UI
2019-07-23 11:51:09 +02:00
Juanjo Diaz 15c7b7a619 Add version number to UI 2019-07-23 10:25:59 +03:00
Samuel Mannehed 21ac6ca0f2
Update link to websock.js API 2019-07-15 14:05:24 +02:00
Samuel Mannehed df4b7515a3
Merge pull request #1259 from lyarwood/launch.sh
launch.sh: Check for a local websockify directory
2019-07-14 23:31:10 +02:00
Lee Yarwood 188c9a591b launch.sh: Check for a local websockify directory
Previously launch.sh would check both for the existence of a local
websockify file and /websockify/run file.

This initial check should really be for a local websockify directory
as in packaged environments a file could very well be the actual
executable leading to launch.sh incorrectly attempting to use a local
version of websockify.
2019-07-09 12:27:26 +01:00
Pierre Ossman 23af6e142a Merge branch 'add-japanese-translation' of https://github.com/nnn1590/noVNC 2019-06-13 13:59:35 +02:00
Pierre Ossman 97924ebd5d Add support for separate key file in launch script 2019-06-13 13:51:56 +02:00
nnn1590 7ded517823 Add Japanese translation 2019-06-12 04:30:56 +09:00
Samuel Mannehed 32e081950c
Revert "Fullscreen from iframe (#1236)" (#1247)
This reverts commit 19cdc15aa3.
2019-05-25 02:51:38 +02:00
Pierre Ossman 755d6eae99 Remove server pixel format warnings
These are harmless and really only for debugging. So remove them
as they tend to trick people in to thinking something is wrong.
We already print the entire server pixel format earlier anyway in
case we need the details.
2019-05-24 13:06:26 +02:00
Ján Jockusch 19cdc15aa3 Fullscreen from iframe (#1236)
* First attempt to make the fullscreen button work inside an iframe.

* Cleaner distinction between document element and document.

* Scoping corrections. Auto-detect correct iframe.

* Added comments to the relevant sections.

* IE issue fixed.

* Same source issue solved. fullscreenToggle now checks if it is permitted to inspect other iframes.
2019-05-13 15:06:32 +02:00
Pierre Ossman 2b2b6073dd Don't do cleanup on deploy
Travis wipes out node_modules otherwise, which we need for the prepare
stages of the deployment to npm.
2019-04-15 16:11:01 +02:00
Samuel Mannehed 9fe2fd04d4 noVNC 1.1.0 2019-04-09 16:29:53 +02:00
Samuel Mannehed 3ba5cefef2 Update generated JS files for translations 2019-04-09 16:22:16 +02:00
Samuel Mannehed e94e83c6c8 Update Dutch translations
Co-authored-by: Arend Lapere <arend.lapere@gmail.com>
2019-04-09 16:21:35 +02:00
Samuel Mannehed d6804167ef Update Swedish translations 2019-04-09 16:21:19 +02:00
Samuel Mannehed a136b4b078 Allow autoscale() with zero height or width
Commit 6e7e6f9 stopped the function from running if width or height was
zero, this commit reverts that change. This commit also makes the
resulting canvas 0x0 if autoscale is called with zero. By adding this
special case we can avoid division by zero in the calculations.
2019-04-02 16:51:18 +02:00
Pierre Ossman 2aa3b5bc79 Get rid of self-closing tags
This is a remnant of XHTML and not used in standard HTML. Get rid
of them so that no-one mistakes our files for being XHTML compatible.
2019-04-02 14:22:34 +02:00
Pierre Ossman dcc41bde61 Fix up errors and warnings in vnc_playback.html
Remove the styling, as it isn't really needed, and fix some minor
things that the w3c validator complains about.
2019-03-26 15:21:31 +01:00