Commit Graph

668 Commits

Author SHA1 Message Date
Michael Jumper
27c7ab782f GUACAMOLE-462: Do not continue an outstanding state import if its corresponding seek has been cancelled. 2022-03-02 20:37:30 +00:00
Michael Jumper
d4899f102f GUACAMOLE-462: Clear out pending display operations and fully reset when importing state. 2022-03-02 20:37:25 +00:00
Michael Jumper
a27bd2694a GUACAMOLE-462: Allow pending display frames to be cancelled. 2022-03-02 20:37:18 +00:00
Michael Jumper
a096abd735 GUACAMOLE-896: Always flush instruction buffer upon end of static tunnel. 2022-02-23 09:28:48 -08:00
Michael Jumper
d0257122bb GUACAMOLE-896: Leverage Blobs for storage of recording keyframes. 2022-02-14 09:21:22 -08:00
Michael Jumper
2c8bc58402 GUACAMOLE-896: Avoid XHR-related memory limitations by using Fetch API.
The Fetch API allows us to read HTTP responses as true streams, without
building an in-memory string. We can the buffer things ourselves as we
see fit, including as a Blob that can dynamically leverage disk storage
for larger data.
2022-02-11 17:17:44 -08:00
Michael Jumper
f559f5ca70 GUACAMOLE-896: Add JavaScript UTF-8 parser implementation. 2022-02-11 17:17:44 -08:00
Michael Jumper
a97404b6ad GUACAMOLE-896: Update session recording player to support efficient reading from Blobs. 2022-02-11 17:09:57 -08:00
Virtually Nick
a543db56e2 Merge 1.4.0 changes back to master. 2021-12-19 18:35:32 -05:00
Michael Jumper
1ca1161a68 GUACAMOLE-986: Update documentation of all parameters/returns to specify non-nullable and/or primitive types where appropriate. 2021-12-18 23:03:57 -08:00
Virtually Nick
588915d232 Merge 1.4.0 changes back to master. 2021-12-12 07:25:13 -05:00
Michael Jumper
5e9e215356 GUACAMOLE-1411: Bump version numbers to 1.4.0. 2021-12-11 16:27:00 -08:00
Jimmy
24ae073aa8 GUACAMOLE-1446: Fixed a typo mistake ("ssociate", "initialied", "assocaited"). 2021-10-26 08:09:12 +03:00
Jimmy
4e19e37bfb GUACAMOLE-1446: Fixed a typo mistake ("approriate"). 2021-10-26 08:09:12 +03:00
Jimmy
cc3f3813b8 GUACAMOLE-1446: Fixed a typo mistake ("destionation"). 2021-10-26 08:09:12 +03:00
Jimmy
8b365c6da6 GUACAMOLE-1446: Fixed a typo mistake ("accomodate"). 2021-10-26 08:09:12 +03:00
Jimmy
a818aff733 GUACAMOLE-1446: Fixed a typo mistake ("the the") in some java files. 2021-10-26 08:09:12 +03:00
Michael Jumper
0597358dde GUACAMOLE-956: Decouple tunnel UUID from HTTP tunnel session identification. 2021-10-23 22:29:39 -07:00
Michael Jumper
6608ba3e2d GUACAMOLE-1386: Centralize abstraction of KeyboardEvent contents within KeyEvent and its subclasses. 2021-08-12 22:43:16 -07:00
Michael Jumper
b629b2137e GUACAMOLE-1386: Do not synchronize modifiers based on key events that were dropped/rejected. 2021-08-12 22:43:16 -07:00
Michael Jumper
b347a118fa GUACAMOLE-1386: Defer handling of "Meta" until it is known to be functioning as a modifier.
Some platforms like ChromeOS use the Meta key as an alternative method
for typing individual keys like Home (Meta+Left) and End (Meta+Right).
In these cases, Meta does not function as a modifier and is actually
implicitly released once the keyboard shortcut is identified.

Since we cannot know whether Meta is actually Meta until it's confirmed
to be used by itself or with another key, we need to defer handling of
Meta keydown until either (1) Meta is released without having been used
with another key or (2) Meta is used as a modifier with another key.
2021-08-12 16:33:19 -07:00
Michael Jumper
5c9483a810 GUACAMOLE-1386: Correct/add "Menu" key definition, which is also not "Super". 2021-07-26 20:26:39 -07:00
Michael Jumper
01a5f6cdb9 GUACAMOLE-1386: Correct keyboard definition of "Windows" key as "Meta", not "Super". 2021-07-26 20:26:04 -07:00
Michael Jumper
1d435d9c12 GUACAMOLE-1204: Show full class names within JSDoc navigation sidebar (ambiguous otherwise). 2021-05-30 17:37:17 -07:00
Michael Jumper
0446433860 GUACAMOLE-1204: Rename mouse-related classes to remove redundant "Mouse" prefix. 2021-05-30 17:37:17 -07:00
Michael Jumper
8d63277ba7 GUACAMOLE-1204: Migrate Guacamole.Mouse to new event stack. 2021-05-30 17:37:17 -07:00
Michael Jumper
c32947c029 GUACAMOLE-1204: Allow the events given to Guacamole.Event.DOMEvent to be a single event or omitted entirely. 2021-05-27 14:43:22 -07:00
Michael Jumper
739fbbbf2e GUACAMOLE-1204: Provide convenience function for creating an element-relative Guacamole.Position from client coordinates. 2021-05-27 14:43:22 -07:00
Michael Jumper
568355140d GUACAMOLE-1204: Provide convenience function for cancelling DOM events. 2021-05-27 14:43:22 -07:00
Michael Jumper
7ce3882319 GUACAMOLE-1317: Update all Maven plugins to latest. 2021-04-02 11:03:41 -07:00
Michael Jumper
3823a91ea7 GUACAMOLE-1298: Combine duplicate Maven declarations into parent pom.xml. 2021-03-31 16:22:30 -07:00
Michael Jumper
53fe6e34f8 GUACAMOLE-1298: Migrate to centralized declarations of common dependencies. 2021-03-31 11:24:24 -07:00
Mike Jumper
ed849860b8 GUACAMOLE-986: Merge explicit documentation of non-nullable return values and parameters. 2021-02-21 16:03:54 -08:00
Mike Jumper
c1e7d221b1 GUACAMOLE-1055: Merge Russian OSK support for Latin characters. 2021-02-20 21:35:54 -08:00
Michael Jumper
eaa7b49dd4 GUACAMOLE-1204: Provide convenience functions for updating multiple event handlers. 2021-02-11 20:32:28 -08:00
Michael Jumper
23e909d2fc GUACAMOLE-1204: Add support for multi-touch events. 2021-02-11 20:32:28 -08:00
Michael Jumper
df6b71541e GUACAMOLE-1204: Add generic, listener-driven event system. 2021-02-11 20:32:28 -08:00
Michael Jumper
1ce4e975eb GUACAMOLE-1204: Add convenient mechanism for automatically scaling mouse events. 2021-02-11 20:32:28 -08:00
Michael Jumper
7d53fe4f09 GUACAMOLE-1204: Extract Guacamole.Position base class from Guacamole.Mouse.State. 2021-02-11 20:32:28 -08:00
Michael Jumper
5ad3389a23 GUACAMOLE-221: Define event for client-side receipt of a tunnel UUID. 2020-11-25 15:24:31 -08:00
Virtually Nick
5da40bd633 GUACAMOLE-1205: Bump Guacamole Client components to version 1.3.0 2020-11-03 18:06:47 -05:00
Michael Jumper
688ff5310c GUACAMOLE-221: Add client support for the "required" instruction. 2020-11-01 20:46:41 -08:00
darksimpson
22e2e4f7a2 GUACAMOLE-1055: Improve Russian OSK to be able to enter Latin symbols also 2020-04-29 03:25:22 +03:00
Jakub Vrána
f722072807 GUACAMOLE-986: Add non-nullable modifier to return type of functions never returning null
Alternatively use a primitive type instead of nullable boxed type.
2020-03-11 13:27:56 +01:00
Virtually Nick
211f8e2b25 GUACAMOLE-966: Bump client version numbers to 1.2.0 2020-02-27 14:02:45 -05:00
Michael Jumper
e27fe504a9 GUACAMOLE-905: Automatically resume AudioContext when recording starts.
The AudioContext is paused by default in Google Chrome as a defense
against autoplay. It can be explicitly resumed with resume() as long as
there has been enough interaction with the page.
2020-01-12 17:19:18 -08:00
Michael Jumper
e93d3e00f2 GUACAMOLE-732: Retrieve audio stream via Promise for newer versions of getUserMedia(). 2019-12-23 20:40:34 -08:00
Michael Jumper
1e9ddc2183 GUACAMOLE-884: Note that the drawImage() functions accept anything implementing the CanvasImageSource interface, not just Image. 2019-09-29 22:17:45 -07:00
Michael Jumper
6649c5d334 GUACAMOLE-884: Document implications of using drawStream() vs. the other drawing functions. 2019-09-29 22:13:19 -07:00
Michael Jumper
4e130d2afd GUACAMOLE-884: Leverage createImageBitmap() for reading image data where supported.
Some browsers suffer from a memory leak when reading image data
repeatedly using the Image object. Reading from Blobs does not exhibit
the same behavior. While reading from Blobs has previously been seen to
perform poorly compared to data URIs, this was observed when reading
using createObjectURL(). The createImageBitmap() function appears to
perform identically to reading data URIs using Image.
2019-09-29 21:57:05 -07:00