Commit Graph

676 Commits

Author SHA1 Message Date
James Muehlner
0404bff11b GUACAMOLE-1614: Upgrade to latest jasmine-maven-plugin version to avoid PhantomJS use entirely. 2022-05-24 20:18:20 +00:00
Michael Jumper
b9e79d99c5 GUACAMOLE-1562: Update chained tunnel UUID when underlying tunnel receives UUID. 2022-03-25 21:37:53 +00:00
Michael Jumper
c555fe6411 GUACAMOLE-1562: Ensure "ping" response is not erroneously handled as the tunnel UUID. 2022-03-25 21:37:17 +00:00
Michael Jumper
2428c7eb14 GUACAMOLE-462: Report size of files downloaded via the static HTTP tunnel. 2022-03-02 23:05:02 +00:00
Virtually Nick
000357fbc9 GUACAMOLE-1545: Merge ensure tunnel "onload" fires only for true state changes. 2022-03-02 16:27:50 -05:00
Michael Jumper
c3aad01be8 GUACAMOLE-462: Continue playback only after keyframe import.
If this is not done, asynchronous decoding of the keyframe via text()
may complete AFTER replay continues, effectively ignoring the keyframe,
leaving currentFrame untouched, and unnecessarily replaying
instructions.
2022-03-02 20:37:41 +00:00
Michael Jumper
c4b8a13968 GUACAMOLE-462: State of recording after resetting to a keyframe is the index of that keyframe, not necessarily the requested seek index.
Further instructions may need to be replayed after seeking to the
keyframe in order to reach the desired frame index.
2022-03-02 20:37:37 +00:00
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
8ebe13d085 GUACAMOLE-1545: Ensure tunnel "onload" fires only for true state changes.
Previously, the state of the tunnel implementations was initialized to
"CONNECTING", which is incorrect and may result in (1) initial state
changes to "CONNECTING" not firing "onstatechange" and (2) the state
change to "CLOSED" incorrectly firing when initially connecting,
despite there not being an established connection.
2022-03-02 20:35:52 +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