Commit Graph

685 Commits

Author SHA1 Message Date
Michael Jumper
70d2cd97d6 GUACAMOLE-1562: Update chained tunnel UUID when underlying tunnel receives UUID. 2023-05-04 16:21:15 -07:00
Michael Jumper
063557f084 GUACAMOLE-1562: Ensure "ping" response is not erroneously handled as the tunnel UUID. 2023-05-04 16:21:15 -07:00
Virtually Nick
56c6e5022d Merge 1.5.1 changes back to master. 2023-04-10 10:22:47 -04:00
Mike Jumper
0b4468ba24 GUACAMOLE-1752: Bump version numbers to 1.5.1. 2023-04-09 19:54:19 -07:00
Virtually Nick
2f30b6aad6 Merge 1.5.0 changes back to master. 2023-02-03 14:31:12 -05:00
Mike Jumper
bd91327415 GUACAMOLE-1293: Allow "onmsg" to determine whether "onjoin" and "onleave" fire. 2023-01-31 15:27:00 -08:00
Mike Jumper
b7e3f73ffa GUACAMOLE-1293: Clarify message parameter mapping with variable naming. 2023-01-30 12:07:50 -08:00
Mike Jumper
a0d5824e83 GUACAMOLE-1293: Add "onjoin" and "onleave" events as alternative to handling low-level "msg" instructions directly. 2023-01-30 10:16:22 -08:00
Mike Jumper
0614861578 Merge 1.5.0 changes back to master. 2023-01-10 21:59:48 -08:00
Mike Jumper
9f176ed489 Merge 1.5.0 changes back to master. 2023-01-10 21:52:26 -08:00
Virtually Nick
9e5f101371 GUACAMOLE-1293: Change "username" instruction to simply "name" for clarity on its purpose. 2023-01-10 21:10:43 -05:00
Virtually Nick
773a03a7d9 GUACAMOLE-1293: Correct and add missing comments for accuracy and clarity. 2023-01-10 21:10:43 -05:00
Virtually Nick
871ffe7288 GUACAMOLE-1293: Change msg instruction to code plus arguments. 2023-01-10 21:10:43 -05:00
Virtually Nick
ca2b89077c GUACAMOLE-1293: Add common support for the msg instruction. 2023-01-10 21:10:43 -05:00
Mike Jumper
0eed915d28 GUACAMOLE-1604: Bump Guacamole.API_VERSION to 1.5.0. 2023-01-10 16:40:52 -08:00
Mike Jumper
c2f2defcba GUACAMOLE-1402: Merge proper API definitions of all possible client state values. 2022-12-11 13:23:06 -08:00
Michael Jumper
7f2ea222bb GUACAMOLE-1687: Clean, document, and clarify usage of tunnel timer reset function. 2022-09-28 10:50:25 -07:00
Michael Jumper
3036c96a1f GUACAMOLE-1687: Leverage network activity to ensure keep-alive pings are sent. 2022-09-27 16:46:25 -07:00
Michael Jumper
e5dccc8657 GUACAMOLE-377: Add JavaScript API support for tracking display render statistics. 2022-05-18 15:56:39 -07:00
Michael Jumper
d6db8fac7e GUACAMOLE-377: Flush frames asynchronously with requestAnimationFrame() if possible. 2022-05-17 21:09:17 +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
e35f3bbd63 GUACAMOLE-1402: Expose Client state enum values. 2021-12-26 10:18:37 -05: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