760 Commits

Author SHA1 Message Date
Mike Jumper
525c476854 GUACAMOLE-615: Add unit tests for JS parser in buffer mode. 2023-05-09 12:55:43 -07:00
Mike Jumper
d6a01c28e5 GUACAMOLE-615: Migrate tunnel implementations to common parser. 2023-05-09 12:55:43 -07:00
Mike Jumper
81f0e8c280 GUACAMOLE-615: Correct parser calculation of element lengths. 2023-05-05 11:20:34 -07:00
Mike Jumper
82033adad0 GUACAMOLE-615: Add more thorough unit tests for protocol parsing. 2023-05-05 11:20:34 -07:00
James Muehlner
116edebf36 GUACAMOLE-1687: Merge fix to ensure keep-alive pings are sent. 2023-05-04 16:53:30 -07:00
Michael Jumper
ed19b704cc GUACAMOLE-1687: Clean, document, and clarify usage of tunnel timer reset function. 2023-05-04 16:26:07 -07:00
Michael Jumper
e99e104fb1 GUACAMOLE-1687: Leverage network activity to ensure keep-alive pings are sent. 2023-05-04 16:26:07 -07:00
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
Mike Jumper
b8770589f3 Merge 1.5.1 changes back to master. 2023-04-07 12:06:02 -07:00
James Muehlner
bd12ac9bc6 GUACAMOLE-1765: Disable tests by default so the build doesn't require firefox. 2023-04-07 18:34:50 +00:00
James Muehlner
bf63964337 GUACAMOLE-1765: Switch to firefox browser. 2023-04-07 17:22:45 +00:00
James Muehlner
a765e34488 GUACAMOLE-1765: Use maven-frontend-plugin instead of jasmine-frontend-plugin to fix docker build. 2023-04-07 17:22:45 +00: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
5ecee2efaa GUACAMOLE-1604: Bump version numbers of all projects to 1.5.0. 2023-01-10 16:40:19 -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
James Muehlner
4b161a5a6e GUACAMOLE-377: Merge client-side support for frame tracking, RemoteFX parameter, and performance tracking extension. 2022-06-13 12:58:50 -07:00
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
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