Commit Graph

464 Commits

Author SHA1 Message Date
Richard Koliser bc9421b6c8
KASM-4493 parseFloat from string before passing to isNumber (#71) 2023-06-06 05:31:54 -04:00
Ryan Kuba 9aca68d9fe
Merge pull request #70 from kasmtech/bugfix/KASM-4400_translation_blue_screen
KASM-4400 undid improper method of doing auto connect
2023-05-12 15:28:03 -04:00
Ryan Kuba aeb8c1b04d
Feature/kasm 4320 internationalization (#68)
add new language system
2023-05-12 14:30:52 -04:00
matt b3bb20c01a KASM-4400 undid improper method of doing auto connect 2023-05-12 16:59:32 +00:00
mattmcclaskey 39ab180c75
KASM-4159 reduce logo size 2023-03-21 07:27:04 -04:00
mattmcclaskey d1419f9430
KASM-4146 check browser support for webrtc 2023-03-20 15:25:32 -04:00
Ryan Kuba 866c2772f0
Hide lossless if not supported and tweak logo style (#61)
* Hide lossless if not supported and tweak logo style

Co-authored-by: ryan.kuba <ryan.kuba@kasmweb.com>
Co-authored-by: mattmcclaskey <matt@kasmweb.com>
2023-03-14 14:29:44 -04:00
Ryan Kuba f17512ee88
Feature/kasm 4109 logos hide lossless (#60)
* KASM-4109 update to new logos and ensure lossless is only shown as an option on setups that support it

* KASM-4109 add css changes for loading screen

* change logo background color, removed lossless changes

---------

Co-authored-by: ryan.kuba <ryan.kuba@kasmweb.com>
Co-authored-by: mattmcclaskey <matt@kasmweb.com>
2023-03-14 07:50:24 -04:00
Ryan Kuba d177cd0c51
KASM-3972 use an array of known scaling values to produce pixel perfect output (#54)
* KASM-3972 use an array of known scaling values to produce pixel perfect output

* KASM-3972 drop automatic pixel perfect support to only 1.25 and 1.5 ratios common to Windows installations

* KASM-3972 change setting name and commit html changes

---------

Co-authored-by: ryan.kuba <ryan.kuba@kasmweb.com>
2023-02-23 16:01:35 -05:00
Ryan Kuba 8ec5d5d7d4
KASM-3891 add URL param to show control bar in iframe (#56)
* KASM-3891 add URL param to show control bar in iframe and post message to parent on control bar open and close

* KASM-3891 send fullscreen requests to parent and bypass local logic

---------

Co-authored-by: ryan.kuba <ryan.kuba@kasmweb.com>
2023-02-16 11:54:56 -05:00
Ryan Kuba 46e361a4e1
KASM-3993 add link outs to the KasmVNC about page and documentation in the sidebar as unobtrusively as possible (#55)
Co-authored-by: ryan.kuba <ryan.kuba@kasmweb.com>
2023-02-08 12:43:30 -07:00
Matt McClaskey f223cfcafe
KASM-3673 Faulty extreme mode (#52) 2022-12-01 07:15:03 -05:00
Matt McClaskey 59aec69dee
Fix quality presets not applying fully on refresh (#51)
Co-authored-by: matt <matt@kasmweb.com>
2022-11-28 15:21:22 -05:00
j-travis 6e2febb0aa
KASM-3611 Break after perf_stats iframe routine (#50) 2022-11-18 17:22:07 -05:00
j-travis 8e5c0e977f
Feature/kasm 3314 kasmvnc controls (#45)
* KASM-3314 Support for changing framerate / resolution / scaling via
iframe message
2022-11-17 14:21:27 -05:00
Matt McClaskey 437830d497
Feature/kasm 3380 udp frame (#46)
* Handle the frame id in udp packets

* refactor udp message buffer, add frame_id and rect cnt

* refactor udp to work with new display.js

* additional debug metrics, clear frame buffer on transitions tcp/udp

* fix udp with display refactor, KASM-3541 cancelAnimationFrame

Co-authored-by: Lauri Kasanen <cand@gmx.com>
Co-authored-by: mattmcclaskey <matt@kasmweb.com>
2022-11-11 09:31:16 -05:00
Matt McClaskey 3a6a63cde3
KASM-3102 Allow setting the idle timeout (#41)
refactor idle timeout to use date diff
2022-11-11 09:29:52 -05:00
Ryan Kuba c5350ba2d7
KASM-3521 need to support relative pathing for the qoi workers (#44)
KASM-3521 need to support relative pathing for the qoi workers
2022-11-04 15:40:41 -04:00
Matt McClaskey 9f240fc7b1
Major refactor of display class, support for QOI (#43)
* Major refactor of display.js queue to assume async rect processing in order to accommodate threaded decode or udp

* QOI lossless decoder on worker threads using WASM

* rfb.js class to provide frame_id and rect counts per frame

Co-authored-by: ryan.kuba <ryan.kuba@kasmweb.com>
Co-authored-by: matt <matt@kasmweb.com>
2022-11-02 07:01:54 -04:00
Dmitry Maksyoma 26c97c1dd3
Feature/kasm 2346 extend mouse buttons (#39)
* Extend mouse event button mask to 16 bits

* Mouse button mapping (JS -> Xorg) support

* Refactor: extract XVNC_BUTTONS

* Refactor: XVNC_BUTTONS numbers correspond to X button numbers

* Refactor

Co-authored-by: Lauri Kasanen <cand@gmx.com>
2022-10-14 12:52:19 -04:00
j-travis 79a7dd0ccf
KASM-3313 Update Stream Quality Presets (#36)
- 60fps for High,Extreme
- Max Settings for Extreme
2022-10-07 12:05:22 -04:00
Matt McClaskey 820b948372
Disable WebRTC by default 2022-09-23 06:18:09 -04:00
Matt McClaskey acb64b01b3
Fix send clipboard seamless client to server (#34)
Co-authored-by: mmcclaskey <matt@kasmweb.com>
2022-09-16 14:35:53 -04:00
Matt McClaskey 842d7ad938
added udp toggle in UI, added err handling (#33)
Co-authored-by: Matt McClaskey <matt@kasmweb.com>
2022-09-07 05:40:29 -04:00
Matt McClaskey 7e5a302a7a
Attempt to gracefully disconnect when user refreshes (#31)
Co-authored-by: Matthew McClaskey <matt@kasmweb.com>
2022-06-24 13:07:13 -04:00
Matt McClaskey e3991665d6
Feature/kasm 2634 UI updates (#30)
* KASM-2634 control panel UI updates

* add kasm splash background

* WIP minor tweaks

* WIP fix disabled settings, add more idle timout options

Co-authored-by: matt <matt@kasmweb.com>
2022-06-24 04:58:34 -04:00
Matt McClaskey 1753425874
Pointer lock api (#29)
Add pointer lock and relative cursor position support. Game mode enables both pointer lock and relative cursor positions.
2022-05-03 10:37:22 -04:00
Matt McClaskey 385a1f99b4
Feature/kasm 2335 ime support 2 (#27)
IME support, refactored keyboard input
2022-03-25 15:03:19 -04:00
Matt McClaskey df9c9d0d96
Bugfix/kasm 2242 clipboard sync (#26)
* KASM-2242 clipboard behavior correction

* remove clipboard length check

Co-authored-by: matt <matt@kasmweb.com>
2022-01-31 09:39:19 -05:00
mmcclaskey ad1fc1f06d
KASM-2152 fps added to stats (#25)
Co-authored-by: matt <matt@kasmweb.com>
2022-01-11 15:31:39 -05:00
Mariusz Marciniak c20db143a0 KASM-2108 Update Kasm<->noVNC communication for mobile related features 2021-11-15 13:53:58 +00:00
mmcclaskey 170cb81f6f
KASM-2075 fix seamless clipboard on touch (#22)
Co-authored-by: matt <matt@kasmweb.com>
2021-11-09 14:01:11 -05:00
Mariusz Marciniak a8a3651898 KASM-2001 Add keyboard controls panel 2021-11-08 21:22:39 +00:00
mmcclaskey 2faf2049c2
Bugfix/kasm 2053 video quality (#19)
* KASM-2053 Fixes previous issues where there was no difference between medium and high
* Expands quality settings to adjust more rendering settings
* Adds an extreme quality setting and custom
* Adds the quality setting to the noVNC control panel, was previously only exposed in the backend for integration with Kasm Workspaces
* Switching quality settings no longer requires reconnecting.
2021-11-08 12:57:24 -05:00
Mariusz Marciniak 075bb31d5b Fix webpack to allow async promises 2021-10-13 15:22:32 +02:00
matt 0bd7bf8b3e rebase from master 2021-10-12 18:36:43 +00:00
j-travis a4cf389029
Merge pull request #15 from kasmtech/feature/KASM-1871_scroll_sensitivity
Feature/kasm 1871 scroll sensitivity
2021-10-12 13:31:19 -04:00
matt f8fde81dfb WIP: cleanup code 2021-10-12 14:11:26 +00:00
matt f3418af9b7 WIP: fix recieving large binary cliipboard 2021-10-08 15:08:12 +00:00
Mariusz Marciniak bc2f084921 KASM-1946 Fix default noVNC dialogs appearing shortly before the kasm session loads 2021-10-08 12:06:32 +02:00
Mariusz Marciniak f509f5231a KASM-1890 Add MacOS shortcut translation 2021-10-07 11:58:46 +02:00
matt 8842f372b8 WIP, firefox support 2021-10-01 19:02:51 +00:00
matt c533d18ac7 Merge branch 'master' into chromeclip 2021-10-01 09:03:09 +00:00
matt e7c601efc0 clipboard WIP 2021-10-01 09:03:03 +00:00
matt 34bfdddab5 KASM-1947 binary clipboard WIP 2021-09-23 08:39:37 +00:00
matt 3c477925f3 KASM-1947 send png WIP 2021-09-17 13:47:11 +00:00
matt a0907e9390 KASM-1834 added new anti-aliasing feature 2021-09-12 17:53:03 +00:00
matt 855d9d6dd2 KASM-1834 inform client refresh required 2021-08-04 19:50:37 +00:00
matt 30326f7c11 KASM-1834 expose quality settings 2021-08-02 17:13:01 +00:00
matt a7ed2e3e1d removed commented out line 2021-04-01 08:15:48 -04:00
matt cc783027c0 Additional fixes 2021-03-31 14:46:45 -04:00
matt f1d7df548a KasmVNC changes merged manually 2021-03-30 15:03:34 -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
Pierre Ossman 65066326c5 Improve Windows key image
The previous one didn't have sharp lines, or follow pixel boundaries
properly.
2019-10-23 15:51:41 +02:00
Pierre Ossman f2d42dc357 Never show drag icon if clipping is disabled
Toggling the enabled state is a remnant from an earlier version
of the code where we could determine if the the session is actually
clipped, and not just that the setting is enabled.

Right now we only change things based on the setting, so let's
completely hide the button when clipping is disabled.
2019-10-14 10:15:19 +02:00
Samuel Mannehed 412d93060d Update copyright to 2019 for modified files 2019-09-30 15:35:33 +02:00
Niko Lehto c90245da25 Restore page name after disconnect 2019-09-04 15:05:14 +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
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
Juanjo Diaz 15c7b7a619 Add version number to UI 2019-07-23 10:25:59 +03: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
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
Samuel Mannehed 3ba5cefef2 Update generated JS files for translations 2019-04-09 16:22:16 +02:00
Samuel Mannehed 9a823732a0
Merge pull request #1204 from juanjoDiaz/small_improvements
Small improvements
2019-03-04 09:32:11 +01:00
Juanjo Diaz 1c9b904d1a Remove callbacks from UI in favour of promises 2019-02-27 10:18:59 +02:00
Dmitriy Shweew d917ccdaf7 Add Russian translation (#1211)
By Dmitriy Shweew (shweew)
2019-02-27 01:24:22 +01:00
Baw_Appie 823daa8002 Add Korean translation 2019-01-16 10:43:49 +01:00
Samuel Mannehed ef64917a90 Only disable scrollbars on Android and iOS
Previously scrollbars were disabled on all touch devices. This meant
that they were disabled on Windows when touch was detected. Windows does
in fact have useful scrollbars even in touch mode. Fixes Issue #1172
2019-01-09 14:59:22 +01:00
Samuel Mannehed 47b3eac82b Move UI.isSafari into core/util/browser.js
This is where the rest of these kinds of functions are.
2019-01-09 14:58:03 +01:00
Sebastian Safari 3e835a5d37 Add Windows Key Feature 2019-01-08 06:57:12 -08:00
Samuel Mannehed cffb42ee8f Dont reset touch mouse button state for view-only
Fixes bug introduced in 61f93180c8.
2018-11-01 11:22:19 +01:00
Samuel Mannehed 7449170cc8 Fix chinese translation of "Connect"
Thanks to Lyon Hu (@chnhyg) for finding the issue.
2018-11-01 11:07:58 +01:00