]> git.proxmox.com Git - mirror_novnc.git/log
mirror_novnc.git
3 years agoMove snap specific script to snap directory
Pierre Ossman [Fri, 26 Jun 2020 12:11:55 +0000 (14:11 +0200)]
Move snap specific script to snap directory

3 years agoRemove redundant VERSION file
Pierre Ossman [Fri, 26 Jun 2020 11:25:25 +0000 (13:25 +0200)]
Remove redundant VERSION file

We want to avoid having this in multiple places.

3 years agoDon't detach handler if it doesn't exist
Pierre Ossman [Thu, 25 Jun 2020 12:45:58 +0000 (14:45 +0200)]
Don't detach handler if it doesn't exist

If the beforeEach() step has been skipped then there won't be anything
here to detach.

3 years agoHandle quick Cursor detach after mouse up
Pierre Ossman [Thu, 25 Jun 2020 12:37:21 +0000 (14:37 +0200)]
Handle quick Cursor detach after mouse up

This timer might fire after the Cursor object has detached from a DOM
element, causing crashes. This will likely not happen in real scenarios,
but the tests are quick enough to trigger this.

3 years agoUpdate build badges for GitHub actions
Pierre Ossman [Wed, 24 Jun 2020 11:02:03 +0000 (13:02 +0200)]
Update build badges for GitHub actions

3 years agoMerge branch 'actions' of https://github.com/CendioOssman/noVNC
Pierre Ossman [Wed, 24 Jun 2020 10:50:31 +0000 (12:50 +0200)]
Merge branch 'actions' of https://github.com/CendioOssman/noVNC

3 years agoUse GitHub actions instead of Travis/Sauce Labs
Pierre Ossman [Tue, 23 Jun 2020 11:56:33 +0000 (13:56 +0200)]
Use GitHub actions instead of Travis/Sauce Labs

The ability to use Sauce Labs for pull requests has now stopped working,
as Travis warned about several years ago. Instead run our tests directly
on GitHub on their various virtual machines.

3 years agoRemove default Karma options
Pierre Ossman [Tue, 23 Jun 2020 11:54:46 +0000 (13:54 +0200)]
Remove default Karma options

No need to mention things where we already use the default value.

3 years agoAlway focus on touchstart
Pierre Ossman [Tue, 16 Jun 2020 13:32:38 +0000 (15:32 +0200)]
Alway focus on touchstart

The new gesture detection code will always prevent the default behaviour
of touchstart, so this check no longer works properly. We might want to
add something similar to GestureHandler in the future, but let's wait
and see what use cases are requested.

3 years agoCompensate for visual viewport when moving cursor
Pierre Ossman [Tue, 16 Jun 2020 12:24:00 +0000 (14:24 +0200)]
Compensate for visual viewport when moving cursor

3 years agoMerge pull request #1414 from CendioOssman/gesture
Samuel Mannehed [Fri, 12 Jun 2020 14:11:30 +0000 (16:11 +0200)]
Merge pull request #1414 from CendioOssman/gesture

Add gesture handling

3 years agoFake cursor position when using touch
Samuel Mannehed [Thu, 11 Jun 2020 13:52:34 +0000 (15:52 +0200)]
Fake cursor position when using touch

With the new gestures we will simulate the cursor being in a different
location than any of the touch points. This is a bit too complex for the
Cursor class, so let's just explicitly tell it where we want the cursor
rendered.

3 years agoMove mouse event handling to RFB class
Pierre Ossman [Wed, 10 Jun 2020 14:13:03 +0000 (16:13 +0200)]
Move mouse event handling to RFB class

Move the last remaining bits to the RFB class to keep things simple, as
the Mouse class no longer provides any real value.

3 years agoIncrease wheel step threshold
Pierre Ossman [Wed, 10 Jun 2020 12:12:22 +0000 (14:12 +0200)]
Increase wheel step threshold

The previous value made the detection too sensitive and it was very
difficult to scroll precisely. A value of 50 pixels should give similar
behaviour to systems that don't do fine grained scrolling.

3 years agoMove wheel event handling to RFB class
Pierre Ossman [Wed, 10 Jun 2020 11:59:10 +0000 (13:59 +0200)]
Move wheel event handling to RFB class

The Mouse class does very little now so it mostly just obfuscate things.
Move everything directly in to the RFB class instead.

3 years agoRemove very legacy mouse event handling
Pierre Ossman [Wed, 10 Jun 2020 10:56:50 +0000 (12:56 +0200)]
Remove very legacy mouse event handling

This is only needed on such ancient versions of Internet Explorer that
it wouldn't satisfy our other requirements anyway.

3 years agoRemove delayed wheel timer
Pierre Ossman [Wed, 10 Jun 2020 10:55:27 +0000 (12:55 +0200)]
Remove delayed wheel timer

This isn't really expected behaviour from a user, i.e. that an extremely
small wheel movement still gives a large scroll event in the remote application.

3 years agoAdd lint rule for function declaration indentation
Samuel Mannehed [Wed, 10 Jun 2020 08:23:50 +0000 (10:23 +0200)]
Add lint rule for function declaration indentation

3 years agoAdd touch gestures for mouse emulation
Pierre Ossman [Mon, 18 May 2020 13:17:06 +0000 (15:17 +0200)]
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.

3 years agoStart fake test clock at real clock time
Pierre Ossman [Thu, 11 Jun 2020 14:43:38 +0000 (16:43 +0200)]
Start fake test clock at real clock time

Some code relies on the clock having a somewhat sane value, so let's not
start at 0.

3 years agoAvoid fractional pixel sizes from Display
Pierre Ossman [Thu, 11 Jun 2020 14:31:09 +0000 (16:31 +0200)]
Avoid fractional pixel sizes from Display

3 years agoAvoid printing the Websock buffer in tests
Pierre Ossman [Mon, 8 Jun 2020 13:35:28 +0000 (15:35 +0200)]
Avoid printing the Websock buffer in tests

It takes forever and just messes up the output.

3 years agoMerge branch 'camelcase' of https://github.com/samhed/noVNC
Pierre Ossman [Fri, 5 Jun 2020 07:41:25 +0000 (09:41 +0200)]
Merge branch 'camelcase' of https://github.com/samhed/noVNC

3 years agoMerge branch 'limitmouse' of https://github.com/novnc/noVNC
Pierre Ossman [Wed, 3 Jun 2020 11:55:33 +0000 (13:55 +0200)]
Merge branch 'limitmouse' of https://github.com/novnc/noVNC

4 years agoAdd camelCase rule to eslint
Samuel Mannehed [Sat, 30 May 2020 23:36:41 +0000 (01:36 +0200)]
Add camelCase rule to eslint

4 years agoStandardize on camelCase in App
Samuel Mannehed [Sun, 31 May 2020 21:36:56 +0000 (23:36 +0200)]
Standardize on camelCase in App

4 years agoStandardize on camelCase in Base64
Samuel Mannehed [Sun, 31 May 2020 21:30:13 +0000 (23:30 +0200)]
Standardize on camelCase in Base64

4 years agoStandardize on camelCase in Decoders
Samuel Mannehed [Sun, 31 May 2020 21:27:58 +0000 (23:27 +0200)]
Standardize on camelCase in Decoders

4 years agoStandardize on camelCase in Logging
Samuel Mannehed [Sun, 31 May 2020 21:24:58 +0000 (23:24 +0200)]
Standardize on camelCase in Logging

4 years agoStandardize on camelCase in Websock
Samuel Mannehed [Sun, 31 May 2020 21:05:42 +0000 (23:05 +0200)]
Standardize on camelCase in Websock

4 years agoStandardize on camelCase in Display
Samuel Mannehed [Sun, 31 May 2020 20:57:45 +0000 (22:57 +0200)]
Standardize on camelCase in Display

4 years agoStandardize on camelCase in tests
Samuel Mannehed [Sun, 31 May 2020 19:03:38 +0000 (21:03 +0200)]
Standardize on camelCase in tests

4 years agoStandardize on camelCase in utils
Samuel Mannehed [Sun, 31 May 2020 00:04:27 +0000 (02:04 +0200)]
Standardize on camelCase in utils

4 years agoStandardize on camelCase in RFB
Samuel Mannehed [Wed, 20 May 2020 23:31:55 +0000 (01:31 +0200)]
Standardize on camelCase in RFB

4 years agoRemove unused properties and variables
Samuel Mannehed [Fri, 8 May 2020 20:30:20 +0000 (22:30 +0200)]
Remove unused properties and variables

The code that used these were removed in the following commits:

9ff86fb718477515ede2d6457f06643935d76bcd (RFB._mouse_arr)
bb6965f2e60c2301dd638383bdc792d1f10af942 (old_requestAnimationFrame)
490d471c53b1791398d6c30f0efce54925939f33 (Display._c_forceCanvas)

4 years agoProperly limit mouse moves to once every 17 ms
Samuel Mannehed [Sat, 9 May 2020 18:03:06 +0000 (20:03 +0200)]
Properly limit mouse moves to once every 17 ms

Previous attempt in c958269 had a number of issues, this is a full
rewrite, complete with improved unit tests.

Fixes github issue #1402

4 years agoStop send mouse clicks while dragging in view only
Samuel Mannehed [Sun, 10 May 2020 00:05:38 +0000 (02:05 +0200)]
Stop send mouse clicks while dragging in view only

4 years agoStandardize on camelCase for functions in RFB
Samuel Mannehed [Wed, 20 May 2020 23:41:02 +0000 (01:41 +0200)]
Standardize on camelCase for functions in RFB

4 years agoStandardize on camelCase for variables in RFB
Samuel Mannehed [Wed, 20 May 2020 23:31:55 +0000 (01:31 +0200)]
Standardize on camelCase for variables in RFB

4 years agoRemove unused mouse_arr variable
Samuel Mannehed [Fri, 8 May 2020 20:30:20 +0000 (22:30 +0200)]
Remove unused mouse_arr variable

4 years agoConsistently close dialogs on connect/disconnect
Pierre Ossman [Tue, 5 May 2020 10:14:49 +0000 (12:14 +0200)]
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 c12e5b2b544aff6f662c7f61f82ce40d132e14df and fixes
things in a different way.

4 years agoMerge pull request #1398 from novnc/compressionlevel
Samuel Mannehed [Fri, 1 May 2020 18:49:49 +0000 (20:49 +0200)]
Merge pull request #1398 from novnc/compressionlevel

Add ability to set Tight compression level

4 years agoAdd ability to set compression level
Samuel Mannehed [Fri, 1 May 2020 14:14:15 +0000 (16:14 +0200)]
Add ability to set compression level

Fixes github issue #1382.

4 years agoAdd unit tests for mouse move limit
Samuel Mannehed [Fri, 1 May 2020 18:26:51 +0000 (20:26 +0200)]
Add unit tests for mouse move limit

4 years agoShorten rows to max 80 chars in mouse.js
Samuel Mannehed [Fri, 1 May 2020 17:53:36 +0000 (19:53 +0200)]
Shorten rows to max 80 chars in mouse.js

4 years agoFix wording in comment
Samuel Mannehed [Fri, 1 May 2020 17:51:33 +0000 (19:51 +0200)]
Fix wording in comment

4 years agoMerge pull request #1352 from uklatt/master
Samuel Mannehed [Fri, 1 May 2020 18:36:18 +0000 (20:36 +0200)]
Merge pull request #1352 from uklatt/master

Limit mouse move events to one every 17 mS.

4 years agoLimit mouse move events to one every 17 ms
Uwe Klatt [Fri, 3 Jan 2020 11:08:35 +0000 (12:08 +0100)]
Limit mouse move events to one every 17 ms

4 years agoFix indentation for focus check
Samuel Mannehed [Fri, 1 May 2020 13:34:14 +0000 (15:34 +0200)]
Fix indentation for focus check

4 years agoDon't fade the control bar if it has focus
Samuel Mannehed [Fri, 1 May 2020 12:38:09 +0000 (14:38 +0200)]
Don't fade the control bar if it has focus

Fixes github issue #1369

4 years agoHide the clipboard when not connected
Samuel Mannehed [Fri, 1 May 2020 11:30:01 +0000 (13:30 +0200)]
Hide the clipboard when not connected

Fixes github issue #1367.

4 years agoMerge pull request #1396 from iblech/patch-1
Samuel Mannehed [Wed, 29 Apr 2020 16:58:04 +0000 (18:58 +0200)]
Merge pull request #1396 from iblech/patch-1

Document default setting of `focusOnClick`

4 years agoDocument default setting of `focusOnClick`
Ingo Blechschmidt [Wed, 29 Apr 2020 07:36:32 +0000 (09:36 +0200)]
Document default setting of `focusOnClick`

4 years agorfb: VeNCrypt Plain SecurityType support
Filip Stedronsky [Sun, 22 Mar 2020 23:59:42 +0000 (00:59 +0100)]
rfb: VeNCrypt Plain SecurityType support

This allows using TigerVNC server with PAM authentication (e.g. agains
LDAP or other extensible authentication mechanisms)

Tested with TigerVNC server (Xvnc -SecurityTypes Plain -PlainUsers '*')

Should not break anything else, this method is tried last when all
other fail.

Tested in Firefox 74 and Chromium 80

4 years agoFix focus problem after closing the toolbar
Alex Tanskanen [Thu, 12 Mar 2020 12:17:51 +0000 (13:17 +0100)]
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.

4 years agoSet a default value for the quality input
Pierre Ossman [Fri, 28 Feb 2020 13:56:57 +0000 (14:56 +0100)]
Set a default value for the quality input

4 years agoAdd UI for quality setting
Pierre Ossman [Fri, 28 Feb 2020 13:52:56 +0000 (14:52 +0100)]
Add UI for quality setting

4 years agoMerge branch 'quality-level' of https://github.com/eDrillingSolutions/noVNC
Pierre Ossman [Fri, 28 Feb 2020 12:54:36 +0000 (13:54 +0100)]
Merge branch 'quality-level' of https://github.com/eDrillingSolutions/noVNC

4 years agoadds qualityLevel property to RFB class for updating JPEG quality level encoding...
Andrey Trebler [Mon, 10 Feb 2020 11:44:36 +0000 (12:44 +0100)]
adds qualityLevel property to RFB class for updating JPEG quality level encoding on the fly

4 years agoHide clipboard side bar button when view only mode
Niko Lehto [Mon, 24 Feb 2020 07:57:28 +0000 (08:57 +0100)]
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.

4 years agoFix crash with too large clipboard data
Alex Tanskanen [Thu, 20 Feb 2020 15:12:35 +0000 (16:12 +0100)]
Fix crash with too large clipboard data

If too much text is copied in the session, String.fromCharCode.apply()
would crash in Safari on macOS and Chrome on Linux. This commit fixes
this issue by avoiding apply() altogether. Also added test to cover this
issue.

4 years agoStyle all input types for consistent UI
Pierre Ossman [Tue, 18 Feb 2020 14:24:51 +0000 (15:24 +0100)]
Style all input types for consistent UI

At least all that the browsers will let us.

4 years agoMerge branch 'clipboard_unicode' of https://github.com/CendioNiko/noVNC
Pierre Ossman [Tue, 18 Feb 2020 08:46:10 +0000 (09:46 +0100)]
Merge branch 'clipboard_unicode' of https://github.com/CendioNiko/noVNC

4 years agoAdd extended clipboard Pseudo-Encoding
Niko Lehto [Mon, 27 Jan 2020 12:49:07 +0000 (13:49 +0100)]
Add extended clipboard Pseudo-Encoding

Add extended clipboard pseudo-encoding to allow the use of unicode
characters in the clipboard.

4 years agoExport constants in inflate.js for easier usage
Niko Lehto [Mon, 17 Feb 2020 09:27:51 +0000 (10:27 +0100)]
Export constants in inflate.js for easier usage

4 years agoFix bug where inflate would read too much data
Niko Lehto [Tue, 4 Feb 2020 08:55:49 +0000 (09:55 +0100)]
Fix bug where inflate would read too much data

4 years agoSplit api of inflate
Niko Lehto [Mon, 3 Feb 2020 09:19:00 +0000 (10:19 +0100)]
Split api of inflate

Added ability to read data chunk wise.

4 years agoHandle errors from zlib/pako
Niko Lehto [Mon, 3 Feb 2020 09:04:20 +0000 (10:04 +0100)]
Handle errors from zlib/pako

4 years agoMove error handling to Inflate class
Niko Lehto [Mon, 3 Feb 2020 08:57:56 +0000 (09:57 +0100)]
Move error handling to Inflate class

Every call wants this check so this should be done inside the class.

4 years agoAdd missing copyright header for Inflator.js
Niko Lehto [Tue, 11 Feb 2020 13:20:56 +0000 (14:20 +0100)]
Add missing copyright header for Inflator.js

4 years agoRemove unused inflate argument
Niko Lehto [Mon, 3 Feb 2020 08:53:30 +0000 (09:53 +0100)]
Remove unused inflate argument

The value true was an invalid flush argument so it was in practice
unused.

4 years agoAdd util for unsigned and signed int. conversion
Niko Lehto [Tue, 28 Jan 2020 16:00:04 +0000 (17:00 +0100)]
Add util for unsigned and signed int. conversion

Will be used in later commit in extended clipboard handling.

4 years agoAdd deflator helper class for deflating data
Niko Lehto [Fri, 7 Feb 2020 12:23:21 +0000 (13:23 +0100)]
Add deflator helper class for deflating data

Wraps pako's deflate for easier usage.

4 years agoMake clipBoardPasteFrom() test more specific
Niko Lehto [Tue, 28 Jan 2020 09:01:54 +0000 (10:01 +0100)]
Make clipBoardPasteFrom() test more specific

Don't rely on clientCutText() to test clipboardPasteFrom().

4 years agoMerge pull request #1361 from alvintownsend/master
Samuel Mannehed [Wed, 12 Feb 2020 10:25:04 +0000 (11:25 +0100)]
Merge pull request #1361 from alvintownsend/master

Correcting path to package.json for running at a path other than root.

4 years agoCorrecting path to package.json for running at a path other than root.
Alvin Townsend [Fri, 31 Jan 2020 10:34:53 +0000 (11:34 +0100)]
Correcting path to package.json for running at a path other than root.

4 years agoFix color channels for VMware alpha cursors
Samuel Mannehed [Thu, 30 Jan 2020 10:40:44 +0000 (11:40 +0100)]
Fix color channels for VMware alpha cursors

The red and blue channels were incorrectly swapped.

4 years agoMake afterEach() hooks work when skipping tests
Pierre Ossman [Thu, 23 Jan 2020 13:27:37 +0000 (14:27 +0100)]
Make afterEach() hooks work when skipping tests

Mocha will now run afterEach() hooks when tests are skipped, so we need
to make them more robust against things being partially set up.

4 years agoRemove generated HTML by Cursor when it detaches
Juanjo Diaz [Thu, 23 Jan 2020 09:51:51 +0000 (11:51 +0200)]
Remove generated HTML by Cursor when it detaches

4 years agoMerge branch 'abstraction_for_detection' of https://github.com/samhed/noVNC
Pierre Ossman [Tue, 14 Jan 2020 08:45:28 +0000 (09:45 +0100)]
Merge branch 'abstraction_for_detection' of https://github.com/samhed/noVNC

4 years agoSimplify encodeUTF8/decodeUTF8 unittests
Samuel Mannehed [Fri, 3 Jan 2020 09:41:34 +0000 (10:41 +0100)]
Simplify encodeUTF8/decodeUTF8 unittests

4 years agoAdd unit tests for encodeUTF8 and decodeUTF8
Samuel Mannehed [Thu, 2 Jan 2020 16:29:41 +0000 (17:29 +0100)]
Add unit tests for encodeUTF8 and decodeUTF8

4 years agoRemove unused python scripts
Samuel Mannehed [Thu, 2 Jan 2020 12:56:07 +0000 (13:56 +0100)]
Remove unused python scripts

4 years agoFix chinese translation for "Disconnect"
Samuel Mannehed [Thu, 2 Jan 2020 12:24:42 +0000 (13:24 +0100)]
Fix chinese translation for "Disconnect"

Thanks for @wavezhang, @litongjava, and @bhzhu203 for helping out.

4 years agoUpdate chinese translation strings
Samuel Mannehed [Thu, 2 Jan 2020 12:18:24 +0000 (13:18 +0100)]
Update chinese translation strings

Thanks to @QQ2017 and @wavezhang for helping out with correcting these.

4 years agoAdd comment for browser and platform detection
Samuel Mannehed [Thu, 24 Oct 2019 14:43:07 +0000 (16:43 +0200)]
Add comment for browser and platform detection

4 years agoAdd short description at the top of browser.js
Samuel Mannehed [Wed, 23 Oct 2019 15:08:56 +0000 (17:08 +0200)]
Add short description at the top of browser.js

4 years agoProperly detect scrollbar gutter
Samuel Mannehed [Wed, 23 Oct 2019 15:09:41 +0000 (17:09 +0200)]
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.

4 years agoRemove Google Chrome Frame plugin compatability
Samuel Mannehed [Tue, 31 Dec 2019 01:15:07 +0000 (02:15 +0100)]
Remove Google Chrome Frame plugin compatability

Chrome Frame has been retired we so we can remove it from this
compatability tag.

4 years agoRestore X-UA-Compatible meta tag to vnc_lite
Samuel Mannehed [Tue, 31 Dec 2019 01:07:31 +0000 (02:07 +0100)]
Restore X-UA-Compatible meta tag to vnc_lite

It's still required since without this IE's default setting for "Display intranet web pages in compatibility mode" will cause errors.

4 years agoRestore X-UA-Compatible meta tag to vnc.html
Samuel Mannehed [Tue, 31 Dec 2019 01:06:02 +0000 (02:06 +0100)]
Restore X-UA-Compatible meta tag to vnc.html

It's still required since without this IE's default setting for "Display intranet web pages in compatibility mode" will cause errors.

4 years agoAllow cursor to be updated while connecting
Pierre Ossman [Mon, 30 Dec 2019 08:30:00 +0000 (09:30 +0100)]
Allow cursor to be updated while connecting

We haven't got a server provided cursor at this point, but we might
have done something local, e.g. enabled the dot cursor.

4 years agoMake sure "undefined" can be a default parameter value
Pierre Ossman [Wed, 25 Dec 2019 11:10:21 +0000 (12:10 +0100)]
Make sure "undefined" can be a default parameter value

Lower layers can consider null to be a valid value, when we'd rather
they treat the value as not set.

4 years agoHandle slow loading of images
Pierre Ossman [Mon, 23 Dec 2019 14:40:17 +0000 (15:40 +0100)]
Handle slow loading of images

Internet Explorer seems to flag images as loaded prematurely, which
can result in rendering bugs. We can detect this by looking at the
dimensions though.

4 years agoValidate decoded image dimensions
Pierre Ossman [Mon, 23 Dec 2019 14:37:48 +0000 (15:37 +0100)]
Validate decoded image dimensions

They are expected to be a certain size, so verify this so no server
tries to do something broken.

4 years agoAvoid using Array.includes()
Pierre Ossman [Mon, 23 Dec 2019 14:11:32 +0000 (15:11 +0100)]
Avoid using Array.includes()

Internet Explorer doesn't have this method. Use the safer indexOf()
instead.

4 years agoBuild in the behavior to ignore decodeUTF8 errors
Samuel Mannehed [Mon, 23 Dec 2019 09:25:02 +0000 (10:25 +0100)]
Build in the behavior to ignore decodeUTF8 errors

Makes the code clearer and more explicit in intent.

4 years agoUse undefined as the default value for password
Pierre Ossman [Mon, 23 Dec 2019 08:35:51 +0000 (09:35 +0100)]
Use undefined as the default value for password

An empty password is techincally legal, and now supported by the
RFB core, so we cannot use that as a placeholder for "no password".

4 years agoPeter is no longer part of the noVNC team
Samuel Mannehed [Fri, 20 Dec 2019 23:26:57 +0000 (00:26 +0100)]
Peter is no longer part of the noVNC team

4 years agoMerge pull request #1327 from vanym/decodeUTF8_try_catch
Samuel Mannehed [Sat, 7 Dec 2019 19:12:27 +0000 (20:12 +0100)]
Merge pull request #1327 from vanym/decodeUTF8_try_catch

Fixes exception when desktop name contains non-utf8 character