Mike Jumper [Thu, 23 Jun 2022 03:51:59 +0000 (20:51 -0700)]
GUACAMOLE-1623: Merge fix for build against Java 8 (no List.of()).
James Muehlner [Thu, 23 Jun 2022 02:18:21 +0000 (02:18 +0000)]
GUACAMOLE-1623: Use Java 8 List initializer to fix Java 8 builds.
Mike Jumper [Wed, 22 Jun 2022 23:11:58 +0000 (16:11 -0700)]
GUACAMOLE-1623: Merge support for extracting Windows domain information from vault-stored usernames.
James Muehlner [Wed, 15 Jun 2022 22:44:32 +0000 (22:44 +0000)]
GUACAMOLE-1623: Extract domain field directly from the vault, or split out of username.
James Muehlner [Mon, 13 Jun 2022 19:58:50 +0000 (12:58 -0700)]
GUACAMOLE-377: Merge client-side support for frame tracking, RemoteFX parameter, and performance tracking extension.
Mike Jumper [Mon, 6 Jun 2022 16:04:48 +0000 (09:04 -0700)]
GUACAMOLE-1606: Merge changes correcting retrieval of user group attribute schema.
Virtually Nick [Mon, 6 Jun 2022 15:20:35 +0000 (11:20 -0400)]
GUACAMOLE-1606: UserGroup should retrieve UserGroup attributes, not User attributes.
Mike Jumper [Fri, 3 Jun 2022 20:53:59 +0000 (13:53 -0700)]
GUACAMOLE-1616: Merge correction to injection of HISTORY_UUID token for external connections.
James Muehlner [Fri, 3 Jun 2022 20:51:59 +0000 (20:51 +0000)]
GUACAMOLE-1616: Send updated tokens after adding HISTORY_UUID.
Mike Jumper [Wed, 1 Jun 2022 03:54:31 +0000 (20:54 -0700)]
GUACAMOLE-1616: Merge support for tracking external connection history within database.
James Muehlner [Tue, 31 May 2022 21:36:08 +0000 (21:36 +0000)]
GUACAMOLE-1616: Store HISTORY_UUID in tokens for use by other extensions.
James Muehlner [Thu, 26 May 2022 23:22:34 +0000 (23:22 +0000)]
GUACAMOLE-1616: Write history records for external connections if configured to do so.
Mike Jumper [Tue, 24 May 2022 21:12:52 +0000 (14:12 -0700)]
GUACAMOLE-1614: Merge changes upgrading to latest jasmine-maven-plugin (no PhantomJS).
James Muehlner [Tue, 24 May 2022 20:18:20 +0000 (20:18 +0000)]
GUACAMOLE-1614: Upgrade to latest jasmine-maven-plugin version to avoid PhantomJS use entirely.
Michael Jumper [Wed, 18 May 2022 22:40:31 +0000 (15:40 -0700)]
GUACAMOLE-377: Switch over to "disable-gfx" parameter (enable RDPGFX by default).
Michael Jumper [Fri, 3 Sep 2021 07:52:30 +0000 (00:52 -0700)]
GUACAMOLE-377: Add extension for displaying render statistics in a toolbar.
Michael Jumper [Fri, 3 Sep 2021 07:25:27 +0000 (00:25 -0700)]
GUACAMOLE-377: Add JavaScript API support for tracking display render statistics.
Michael Jumper [Fri, 3 Sep 2021 00:34:07 +0000 (17:34 -0700)]
GUACAMOLE-377: Add parameter definition and translation for "enable-gfx".
Michael Jumper [Sat, 24 Jul 2021 06:45:12 +0000 (23:45 -0700)]
GUACAMOLE-377: Flush frames asynchronously with requestAnimationFrame() if possible.
Michael Jumper [Mon, 2 May 2022 22:21:42 +0000 (22:21 +0000)]
Merge 1.5.0 changes back to master.
Mike Jumper [Mon, 2 May 2022 22:18:30 +0000 (15:18 -0700)]
GUACAMOLE-1594: Merge updates to Java/JavaScript dependencies of webapp.
James Muehlner [Mon, 2 May 2022 20:45:16 +0000 (20:45 +0000)]
GUACAMOLE-1594: Update as many transitive dependencies as possible with force rebuild.
James Muehlner [Mon, 2 May 2022 20:02:50 +0000 (20:02 +0000)]
GUACAMOLE-1594: Merge automatically updated NPM dependencies from dependabot.
James Muehlner [Mon, 2 May 2022 18:49:00 +0000 (18:49 +0000)]
GUACAMOLE-1594: Update jackson-databind to 2.13.2.1 and bump other dependencies as needed.
Virtually Nick [Mon, 2 May 2022 19:11:09 +0000 (15:11 -0400)]
GUACAMOLE-1594: Merge update jackson-databind to 2.13.2.1 and bump other dependencies as needed.
James Muehlner [Mon, 2 May 2022 18:49:00 +0000 (18:49 +0000)]
GUACAMOLE-1594: Update jackson-databind to 2.13.2.1 and bump other dependencies as needed.
James Muehlner [Thu, 28 Apr 2022 17:04:37 +0000 (17:04 +0000)]
Merge changes from 1.5.0 back to master.
James Muehlner [Wed, 27 Apr 2022 22:34:51 +0000 (15:34 -0700)]
GUACAMOLE-641: Merge empty field value fix for KSM integration.
Michael Jumper [Wed, 27 Apr 2022 22:01:01 +0000 (22:01 +0000)]
GUACAMOLE-641: Clarify that null will also be returned if the List actually contains null.
Michael Jumper [Wed, 27 Apr 2022 19:22:04 +0000 (19:22 +0000)]
GUACAMOLE-641: Ensure empty strings within KSM record fields are handled as if the field value is absent.
Mike Jumper [Thu, 21 Apr 2022 23:32:05 +0000 (16:32 -0700)]
GUACAMOLE-1584: Merge additional home page section header IDs to ease third-party CSS rules.
Dustin Lang [Mon, 18 Apr 2022 18:44:27 +0000 (14:44 -0400)]
GUACAMOLE-1584: add CSS ids to section headers on home page
Virtually Nick [Sat, 9 Apr 2022 17:56:14 +0000 (13:56 -0400)]
Merge 1.5.0 changes back to master.
Virtually Nick [Sat, 9 Apr 2022 17:55:20 +0000 (13:55 -0400)]
GUACAMOLE-1322: Merge fix SAML plugin loading in Docker
Virtually Nick [Sat, 9 Apr 2022 17:54:37 +0000 (13:54 -0400)]
GUACAMOLE-1579: Merge stop including the auth token when making requests to the /api/patches endpoint.
James Muehlner [Fri, 8 Apr 2022 21:48:33 +0000 (21:48 +0000)]
GUACAMOLE-1579: Stop including the auth token when making requests to the /api/patches endpoint.
Jean-Benoit Paux [Tue, 29 Mar 2022 14:56:19 +0000 (16:56 +0200)]
GUACAMOLE-1322: fix SAML plugin loading
James Muehlner [Thu, 31 Mar 2022 21:39:02 +0000 (21:39 +0000)]
Merge changes from staging/1.5.0 back to master.
James Muehlner [Thu, 31 Mar 2022 21:25:29 +0000 (14:25 -0700)]
GUACAMOLE-462: Merge sort order fix for history searching .
James Muehlner [Thu, 31 Mar 2022 20:14:01 +0000 (13:14 -0700)]
GUACAMOLE-462: Merge null-check fix for UUIDs.
Michael Jumper [Thu, 31 Mar 2022 19:56:50 +0000 (19:56 +0000)]
GUACAMOLE-462: Do not attempt to retrieve recordings for records with null UUIDs.
Virtually Nick [Thu, 31 Mar 2022 18:46:51 +0000 (14:46 -0400)]
Merge 1.5.0 changes back to master.
Virtually Nick [Thu, 31 Mar 2022 18:43:50 +0000 (14:43 -0400)]
GUACAMOLE-462: Merge ensure compatibility with 1.x extensions is maintained.
Michael Jumper [Thu, 31 Mar 2022 18:07:29 +0000 (18:07 +0000)]
GUACAMOLE-462: Ensure compatibility with 1.x extensions is maintained.
Michael Jumper [Thu, 31 Mar 2022 18:06:06 +0000 (18:06 +0000)]
GUACAMOLE-462: Request correct sort order from REST API when searching history.
Virtually Nick [Thu, 31 Mar 2022 00:14:34 +0000 (20:14 -0400)]
GUACAMOLE-1571: Merge properly wrap stream errors, and check available translations instead of hard-coding.
James Muehlner [Thu, 31 Mar 2022 00:10:13 +0000 (00:10 +0000)]
GUACAMOLE-1571: Match convention for function services.
James Muehlner [Wed, 30 Mar 2022 23:56:42 +0000 (23:56 +0000)]
GUACAMOLE-1571: Check available translations rather than hardcoding which use the default.
James Muehlner [Wed, 30 Mar 2022 23:55:17 +0000 (23:55 +0000)]
GUACAMOLE-1571: Properly wrap upload stream JSON errors.
Virtually Nick [Sat, 26 Mar 2022 21:13:27 +0000 (17:13 -0400)]
GUACAMOLE-1562: Merge correct handling of received tunnel UUIDs.
Michael Jumper [Fri, 25 Mar 2022 21:37:53 +0000 (21:37 +0000)]
GUACAMOLE-1562: Update chained tunnel UUID when underlying tunnel receives UUID.
Michael Jumper [Fri, 25 Mar 2022 21:37:17 +0000 (21:37 +0000)]
GUACAMOLE-1562: Ensure "ping" response is not erroneously handled as the tunnel UUID.
Virtually Nick [Wed, 23 Mar 2022 13:59:48 +0000 (09:59 -0400)]
GUACAMOLE-1312: Merge add FR-CA keyboard layout for RDP
Alexis Vézina [Wed, 16 Mar 2022 00:49:09 +0000 (20:49 -0400)]
GUACAMOLE-1312: Adds FR-CA keyboard layout
And its French and English traductions
Virtually Nick [Fri, 11 Mar 2022 20:56:48 +0000 (15:56 -0500)]
GUACAMOLE-1550: Merge allow TOTP key to be cleared by setting its generation status.
Michael Jumper [Fri, 11 Mar 2022 18:37:18 +0000 (18:37 +0000)]
GUACAMOLE-1550: Allow TOTP key to be cleared by setting its generation status.
The previous functionality provided two checkboxes: one for requesting
that the TOTP key be cleared, and another for directly managing whether
the TOTP key has been confirmed. This is confusing as checkboxes
normally represent state, but the "reset" checkbox here is representing
an action.
Instead, both checkboxes should represent state: whether the key has
been generated and whether the generated key has been confirmed.
Virtually Nick [Wed, 9 Mar 2022 00:06:27 +0000 (19:06 -0500)]
GUACAMOLE-462: Merge add in-app player for session recordings.
Michael Jumper [Thu, 3 Mar 2022 22:19:20 +0000 (22:19 +0000)]
GUACAMOLE-462: Declare variables with "const" where appropriate.
Michael Jumper [Fri, 11 Feb 2022 01:21:50 +0000 (17:21 -0800)]
GUACAMOLE-462: Add in-app player for session recordings.
Michael Jumper [Thu, 17 Feb 2022 22:34:51 +0000 (14:34 -0800)]
GUACAMOLE-462: Report size of files downloaded via the static HTTP tunnel.
Michael Jumper [Thu, 10 Feb 2022 19:41:05 +0000 (11:41 -0800)]
GUACAMOLE-462: Store REST API history entry directly in ConnectionHistoryEntryWrapper, rather than duplicating properties.
Virtually Nick [Wed, 2 Mar 2022 21:27:50 +0000 (16:27 -0500)]
GUACAMOLE-1545: Merge ensure tunnel "onload" fires only for true state changes.
Virtually Nick [Wed, 2 Mar 2022 21:27:00 +0000 (16:27 -0500)]
GUACAMOLE-462: Merge add support for associating connection history with logs/recordings.
Virtually Nick [Wed, 2 Mar 2022 21:25:33 +0000 (16:25 -0500)]
GUACAMOLE-462: Merge correct recording playback artifacts during seek().
Michael Jumper [Wed, 23 Feb 2022 05:11:44 +0000 (21:11 -0800)]
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.
Michael Jumper [Wed, 2 Mar 2022 20:01:17 +0000 (20:01 +0000)]
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.
Michael Jumper [Wed, 2 Mar 2022 17:34:35 +0000 (17:34 +0000)]
GUACAMOLE-462: Do not continue an outstanding state import if its corresponding seek has been cancelled.
Michael Jumper [Wed, 2 Mar 2022 17:32:58 +0000 (17:32 +0000)]
GUACAMOLE-462: Clear out pending display operations and fully reset when importing state.
Michael Jumper [Wed, 2 Mar 2022 17:31:53 +0000 (17:31 +0000)]
GUACAMOLE-462: Allow pending display frames to be cancelled.
Michael Jumper [Wed, 2 Mar 2022 17:22:06 +0000 (17:22 +0000)]
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.
Michael Jumper [Thu, 17 Feb 2022 23:39:15 +0000 (15:39 -0800)]
GUACAMOLE-462: Correct missing import for JavaDoc reference.
Michael Jumper [Thu, 17 Feb 2022 20:11:50 +0000 (12:11 -0800)]
GUACAMOLE-462: Add ${HISTORY_PATH} convenience token for automatically placing recordings in the expected location.
Michael Jumper [Fri, 11 Feb 2022 01:17:48 +0000 (17:17 -0800)]
GUACAMOLE-462: Add extension for automatically associated session recordings, logs, etc. with history entries.
Michael Jumper [Mon, 14 Feb 2022 18:49:24 +0000 (10:49 -0800)]
GUACAMOLE-462: Retrieve individual database history records directly (by ID).
Michael Jumper [Wed, 9 Feb 2022 23:33:56 +0000 (15:33 -0800)]
GUACAMOLE-462: Allow individual records to be identified and retrieved directly.
Michael Jumper [Thu, 10 Feb 2022 20:32:31 +0000 (12:32 -0800)]
GUACAMOLE-462: Add JavaScript objects for REST API representations of activity logs.
Michael Jumper [Wed, 9 Feb 2022 20:49:56 +0000 (12:49 -0800)]
GUACAMOLE-462: Migrate user/connection record mappers to common base interface.
Michael Jumper [Wed, 9 Feb 2022 18:11:38 +0000 (10:11 -0800)]
GUACAMOLE-462: Create connection history records for in-progress connections.
Besides restoring historically-provided functionality, the ID generated
by the database for connection history records is needed to generate a
deterministic UUID that can be injected into connection configurations
with ${HISTORY_UUID}. Having such a token allows session recordings to
be given names that can be reliably matched with history records.
Michael Jumper [Wed, 9 Feb 2022 00:44:36 +0000 (16:44 -0800)]
GUACAMOLE-462: Ensure activity record UUID becomes available/updated if underlying model is assigned an ID.
Michael Jumper [Sat, 11 Dec 2021 23:36:03 +0000 (15:36 -0800)]
GUACAMOLE-462: Allow logs associated with history entries to be retrieved via REST.
Michael Jumper [Sat, 11 Dec 2021 22:58:30 +0000 (14:58 -0800)]
GUACAMOLE-462: Directly support associating session recordings with history entries at API level.
Michael Jumper [Fri, 3 Dec 2021 00:08:13 +0000 (16:08 -0800)]
GUACAMOLE-462: Include history record UUID as token.
Michael Jumper [Fri, 3 Dec 2021 00:01:16 +0000 (16:01 -0800)]
GUACAMOLE-462: Generate consistent history record UUIDs based on database record IDs.
Michael Jumper [Thu, 2 Dec 2021 23:40:49 +0000 (15:40 -0800)]
GUACAMOLE-462: Add convenience classes for decorating ActivityRecordSets and their records.
Michael Jumper [Thu, 2 Dec 2021 06:52:22 +0000 (22:52 -0800)]
GUACAMOLE-462: Add API-level support for associating data with history records.
Michael Jumper [Thu, 2 Dec 2021 07:07:37 +0000 (23:07 -0800)]
GUACAMOLE-462: Separate Attributes interface into read-only and read/write variations.
Mike Jumper [Sun, 27 Feb 2022 22:55:03 +0000 (14:55 -0800)]
GUACAMOLE-1539: Merge correction to Docker entrypoint auth sanity check.
Virtually Nick [Wed, 23 Feb 2022 19:03:46 +0000 (14:03 -0500)]
GUACAMOLE-896: Merge always flush instruction buffer upon end of static tunnel.
Michael Jumper [Wed, 23 Feb 2022 04:34:54 +0000 (20:34 -0800)]
GUACAMOLE-896: Always flush instruction buffer upon end of static tunnel.
Romain Aviolat [Thu, 17 Feb 2022 13:13:59 +0000 (14:13 +0100)]
GUACAMOLE-1539: fix docker init logic when only auth-json is configured
This commit fixes an issue where the Docker init-script won't start if only the
auth-json extension is present.
Virtually Nick [Thu, 17 Feb 2022 19:22:19 +0000 (14:22 -0500)]
GUACAMOLE-1495: Merge add keymap for Polish keyboard layout for RDP
ClassicGOD [Mon, 10 Jan 2022 19:47:24 +0000 (20:47 +0100)]
GUACAMOLE-1495: add pl_pl_qwerty to translations
GUACAMOLE-1495: add pl_pl_qwerty to ca translation
GUACAMOLE-1495: add pl_pl_qwerty to cs translation
GUACAMOLE-1495: add pl_pl_qwerty to de translation
GUACAMOLE-1495: add pl_pl_qwerty to es translation
GUACAMOLE-1495: add pl_pl_qwerty to fr translation
GUACAMOLE-1495: add pl_pl_qwerty to it translation
GUACAMOLE-1495: add pl_pl_qwerty to ko translation
GUACAMOLE-1495: add pl_pl_qwerty to nl translation
GUACAMOLE-1495: add pl_pl_qwerty to no translation
GUACAMOLE-1495: add pl_pl_qwerty to pt translation
GUACAMOLE-1495: add pl_pl_qwerty to zh translation
GUACAMOLE-1495: correct typo in no.json
Virtually Nick [Mon, 14 Feb 2022 18:12:25 +0000 (13:12 -0500)]
GUACAMOLE-896: Merge leverage Blobs for storage of recording keyframes.
Michael Jumper [Mon, 14 Feb 2022 17:21:22 +0000 (09:21 -0800)]
GUACAMOLE-896: Leverage Blobs for storage of recording keyframes.
Virtually Nick [Sun, 13 Feb 2022 01:54:31 +0000 (20:54 -0500)]
GUACAMOLE-896: Merge allow playback of session recordings that cannot fit in memory.
Mike Jumper [Sat, 12 Feb 2022 01:23:43 +0000 (17:23 -0800)]
GUACAMOLE-1322: Merge Docker image support for SAML.
Michael Jumper [Sat, 12 Feb 2022 01:09:18 +0000 (17:09 -0800)]
GUACAMOLE-896: Ensure "seeking" class not erroneously assigned if seek() finishes immediately.
Michael Jumper [Sat, 12 Feb 2022 00:44:44 +0000 (16:44 -0800)]
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.
Michael Jumper [Sat, 12 Feb 2022 00:33:02 +0000 (16:33 -0800)]
GUACAMOLE-896: Add JavaScript UTF-8 parser implementation.
Michael Jumper [Fri, 11 Feb 2022 19:29:58 +0000 (11:29 -0800)]
GUACAMOLE-896: Update session recording player to support efficient reading from Blobs.