Michael Jumper
e58005ae23
GUACAMOLE-724: Leverage DOM rather than CSS to show/hide connection tile headers.
...
CSS, though clean, results in delays in element size changes. When
switching between a view that has tile headers and a view that does
not, this manifests as visible "popping" as client displays are
initially sized to fit the area without the header followed by the area
with the header. Leveraging AngularJS directly ensures that such
changes occur in lockstep with the connection process.
2021-07-08 03:31:48 -07:00
Michael Jumper
8c0af308da
GUACAMOLE-724: Defer connecting until width/height of display area is known.
2021-07-08 03:31:48 -07:00
Michael Jumper
c9900434c4
GUACAMOLE-724: Migrate tiled thumbnail rendering to same flex layout as client view.
2021-07-08 03:31:48 -07:00
Michael Jumper
1f2007eb28
GUACAMOLE-724: Replace CSS grid layout with simpler, equialent, and more compatible flex layout.
2021-07-08 03:31:48 -07:00
Michael Jumper
760a96a47d
GUACAMOLE-724: Migrate to flex layout for modals for IE10+ compatibility.
2021-07-08 03:31:48 -07:00
Michael Jumper
4a20411eae
GUACAMOLE-724: Correct SVG aspect ratio handling in IE10+.
2021-07-08 03:31:48 -07:00
Michael Jumper
fe44b55f10
GUACAMOLE-724: Always resolve promise from setClipboard() (as documented).
...
Returning a value from the callback provided to finally() is not
sufficient to force promise resolution.
2021-07-08 03:31:48 -07:00
Michael Jumper
c87bd6bb3e
GUACAMOLE-724: Correct "infdig" error due to client group session storage constantly regenerating if logged out.
2021-07-08 03:31:48 -07:00
Michael Jumper
c2b252242b
GUACAMOLE-724: Correct rendering of tiled clients on IE10+ by migrating to grid layout.
2021-07-08 03:31:48 -07:00
Michael Jumper
09288b79b2
GUACAMOLE-724: Do not show parameter section headers when prompting via modal.
2021-07-08 03:31:48 -07:00
Michael Jumper
8ed27a8b36
GUACAMOLE-724: Properly disconnect if required parameters are not submitted.
2021-07-08 03:31:48 -07:00
Michael Jumper
b2b131ef34
GUACAMOLE-724: Increase opacity of client-specific notifications for sake of readability.
2021-07-08 03:31:48 -07:00
Michael Jumper
5903cf902c
GUACAMOLE-724: Simplify and correct keyboard handling to NOT send extra key events for Ctrl+Alt+Shift.
2021-07-08 03:31:48 -07:00
Michael Jumper
5e9fe0ea6e
GUACAMOLE-724: Scroll entire file transfer manager, not each individual client section.
2021-07-08 03:31:48 -07:00
Michael Jumper
0118489001
GUACAMOLE-724: ManagedClientGroup.forEach() must not attempt to visit non-existent clients.
2021-07-08 03:31:48 -07:00
Michael Jumper
b3c410a371
GUACAMOLE-724: Correct unreadable error coloring of new client-specific modals.
2021-07-08 03:31:48 -07:00
Michael Jumper
19aa600b80
GUACAMOLE-724: Migrate file transfer status dialog to multi-client support.
2021-07-08 03:31:48 -07:00
Michael Jumper
6b296374d5
GUACAMOLE-724: Add per-tile visual indication of drag/drop.
2021-07-08 03:31:48 -07:00
Michael Jumper
68e856987e
GUACAMOLE-724: Clear out sharing profiles from previous client if focus is changing to a client lacking a UUID.
2021-07-08 03:31:48 -07:00
Michael Jumper
5e2e28365c
GUACAMOLE-724: Track client focus changes within tiled client directive, not just in changes to overall attached group.
2021-07-08 03:31:48 -07:00
Michael Jumper
7d5b6c6898
GUACAMOLE-724: Add indicator showing whether a tiled connection is shared.
2021-07-08 03:31:48 -07:00
Michael Jumper
0ea12ca5aa
GUACAMOLE-724: Switch to SVG versions of all PNG images.
2021-07-08 03:31:48 -07:00
Michael Jumper
4c1876341d
GUACAMOLE-724: Remove .png images that are not actually referenced.
2021-07-08 03:31:48 -07:00
Michael Jumper
6f9e2a8b78
GUACAMOLE-724: Allow multiple tiled clients to be focused using Shift+Click and Ctrl+Click.
2021-07-08 03:31:48 -07:00
Michael Jumper
90f2270dab
GUACAMOLE-724: Move handling of drag/pinch gestures to individual client tiles.
2021-07-08 03:31:48 -07:00
Michael Jumper
b0febd3402
GUACAMOLE-724: Migrate client zoom editor to own directive.
2021-07-08 03:31:48 -07:00
Michael Jumper
448ebb5019
GUACAMOLE-724: Ensure focus is not retained when transferring a client from an unattached group to an attached group.
2021-07-08 03:31:48 -07:00
Michael Jumper
19a32d3e10
GUACAMOLE-724: Expose checkboxes within Guacamole menu for adding/removing connections from current view.
2021-07-08 03:31:48 -07:00
Michael Jumper
a249876bff
GUACAMOLE-724: Replace per-client clipboard with shared clipboard.
2021-07-08 03:31:48 -07:00
Michael Jumper
63452b7bc8
GUACAMOLE-724: Automatically focus the first client if no client has yet been focused.
2021-07-08 03:31:48 -07:00
Michael Jumper
d0b1fb7d7f
GUACAMOLE-724: Control only the currently-focused client with client-specific menu options.
2021-07-08 03:31:48 -07:00
Michael Jumper
3f4c6a4cd1
GUACAMOLE-724: Move mouse emulation setting from client to menu.
2021-07-08 03:31:48 -07:00
Michael Jumper
4b227fe8c6
GUACAMOLE-724: Remove client-side "last used" timestamp (no longer needed).
...
The last-used timestamp was previously required to sort active clients
within the client panel in a sensible and deterministic order. This now
happens automatically via client groups, which are stored in an array
in order of last use. No code remains referencing the last-used
timestamp.
2021-07-08 03:31:48 -07:00
Michael Jumper
1f2cd94a65
GUACAMOLE-724: Display nifty "pop" animation when a new client appears within the client panel.
2021-07-08 03:31:48 -07:00
Michael Jumper
aae80292cb
GUACAMOLE-724: Abstract away groups of running clients within their own type.
2021-07-08 03:31:48 -07:00
Michael Jumper
bfd3cbc204
GUACAMOLE-724: Do not reload client controller if only updating which client(s) are visible.
...
Reloading the client controller would reset UI state, including whether
the Guacamole menu is currently shown.
2021-06-17 20:32:53 -07:00
Michael Jumper
2f1d46aa86
GUACAMOLE-724: Provide separate, client-specific notifications for each tiled client.
2021-06-17 20:32:53 -07:00
Michael Jumper
fbdb692444
GUACAMOLE-724: Remove unused arbitrary parameters from client route (the webapp tunnel doesn't use these).
2021-06-16 11:28:35 -07:00
Michael Jumper
85d01ba730
GUACAMOLE-724: Implement base support for displaying multiple connections in a tiled grid.
2021-06-16 11:28:35 -07:00
Michael Jumper
2aa6a5b628
GUACAMOLE-1364: Ensure extension resources are included in defined order.
2021-06-15 00:21:56 -07:00
Michael Jumper
45c2cbf6b8
GUACAMOLE-1364: Remove inconsistent "guac-" prefix from standard extension namespaces.
2021-06-15 00:21:56 -07:00
Michael Jumper
6a6cae0e30
GUACAMOLE-1364: Add "extension-priority" property for overriding extension load order.
2021-06-15 00:21:56 -07:00
Michael Jumper
85bc4ac52b
GUACAMOLE-680: Correct grammar of authenticationService documentation.
...
"promise succeeds" should be "promise that succeeds".
2021-06-14 15:48:52 -07:00
Michael Jumper
ef590d2b3b
GUACAMOLE-680: Display logged-out status as notification.
2021-06-13 22:26:42 -07:00
Michael Jumper
b29c0a03ea
GUACAMOLE-680: Use common styling for all dialogs/notifications.
2021-06-13 22:26:42 -07:00
Michael Jumper
529e19729b
GUACAMOLE-680: Ensure the "guacLogout" event is specific to manual logouts.
2021-06-13 22:26:42 -07:00
Michael Jumper
823970eb7f
GUACAMOLE-680: Display status message upon logout (rather than immediately reauthenticating).
...
The former behavior (immediately reauthenticating) typically results in
the login screen appearing, but will also instantly sign the user back
in if a single sign-on solution is being used. This results in the
logout action appearing to have no effect when SSO is involved.
2021-06-13 22:24:14 -07:00
Michael Jumper
581a7cb47a
GUACAMOLE-680: Refactor repeated modal structures to common directive.
2021-06-13 22:24:14 -07:00
Michael Jumper
a8aa3bef52
GUACAMOLE-773: Restore missing static template/layout files.
...
The on-screen keyboard layouts and AngularJS templates were previously
part of the Java webapp build, but are now part of the NPM/Webpack
build. Those files were incorrectly left out of the Webpack config,
causing the on-screen keyboard and automatic display resize to fail.
Display of the on-screen keyboard fails without these files as it relies
on loading the on-screen keyboard layouts dynamically via HTTP. Handling
of automatic display resize fails because this relies on a hidden
<object> element containing a blank HTML document, with that document
served statically over HTTP.
2021-06-04 02:08:54 -07:00
Michael Jumper
6bcef68c9f
GUACAMOLE-773: Exclude node_modules directory from source archive.
2021-06-03 03:45:01 -07:00
Michael Jumper
b90a083fe1
GUACAMOLE-773: Use caret version notation for JavaScript dependencies where appropriate.
...
The default caret version notation that is already well-established in
the NPM community should be used except where there is reason not to.
Here, it makes sense to use the caret for all dependencies except:
1. "google-closure-compiler", which does not use semantic versioning
and does not guarantee a compatible API. We cannot know that a new
release is expected to be compatible and thus must specify an exact
version.
2. "blob-polyfill", which does not use semantic versioning BUT must
provide a compatible API by its own nature (it is a polyfill for an
API defined by a W3C standard). Any current, stable release should be
OK for "blob-polyfill", hence ">=".
2021-06-02 20:37:52 -07:00
Michael Jumper
3ec578edce
GUACAMOLE-773: Remove angular-touch (no longer applicable).
...
Previously, the angular-touch library provided by AngularJS was used to
allow click interactions with UI components to work on touch devices
without an uncomfortable ~300ms delay. From AngularJS 1.7.x onward, this
feature of angular-touch is no longer present:
https://docs.angularjs.org/guide/migration#ngtouch
This should be OK - modern browsers will now recognize applications
aimed at touch support via the use of the "viewport" meta tag (which we
use), removing our original need for angular-touch. The same goes for
IE10+.
2021-06-02 20:37:52 -07:00
Michael Jumper
82161ae712
GUACAMOLE-773: Consider Pickr available only if initialization has completed.
...
In previous versions of Pickr, catching exceptions during Pickr creation
was sufficient to detect whether Pickr can be used with the current
browser. This is no longer the case, and we must instead rely on the
lack of an "init" event.
2021-06-02 20:37:52 -07:00
Michael Jumper
700e2023af
GUACAMOLE-773: Remove use of XHTML-style self-closing tags from normal HTML.
...
This is particularly important for AngularJS 1.8.x and jQuery 3.5.0+,
which will no longer correct this automatically with their HTML
prefilters, resulting in unexpected nesting of tags when the browser
interprets something like "<div/>" as "<div>" (older versions of jQuery
would have corrected "<div/>" to "<div></div>").
See:
* https://docs.angularjs.org/guide/migration#migrating-from-1-7-to-1-8
* https://jquery.com/upgrade-guide/3.5/
2021-06-02 20:37:52 -07:00
Michael Jumper
e93d0faa22
GUACAMOLE-773: Update Pickr to version 1.8.1.
2021-06-02 20:37:52 -07:00
Michael Jumper
8ed9ac524c
GUACAMOLE-773: Add license information for new JavaScript dependencies pulled in by Webpack.
2021-06-02 20:37:52 -07:00
Michael Jumper
4c32e5951b
GUACAMOLE-773: Add separate license for messageformat-parser (different version from messageformat).
2021-06-02 20:37:52 -07:00
Michael Jumper
fd6c5c3e91
GUACAMOLE-773: Update license information from Webjar Maven coordinates to NPM module coordinates.
2021-06-02 20:37:52 -07:00
Michael Jumper
5587213183
GUACAMOLE-773: Include required polyfills for Blob and datalist.
2021-06-02 20:37:52 -07:00
Michael Jumper
c546545c5e
GUACAMOLE-773: Include NPM dependencies when considering generated LICENSE.
2021-06-02 20:37:52 -07:00
Michael Jumper
5340e392c6
GUACAMOLE-773: Update to more recent version of "ssri" as suggested by npm audit.
2021-06-02 20:37:52 -07:00
Michael Jumper
503332270c
GUACAMOLE-773: Remove unused messageformat dependency (it's bundled with angular-translate's messageformat support).
2021-06-02 20:37:52 -07:00
Michael Jumper
e99e304eed
GUACAMOLE-773: Update to latest version of frontend-maven-plugin (properly deals with STDERR as not necessarily 100% errors).
2021-06-02 20:37:52 -07:00
Michael Jumper
e119ba459b
GUACAMOLE-773: Allow automatic license generation to consider multiple dependency lists, not necessarily from Maven.
2021-06-02 20:37:52 -07:00
Michael Jumper
9131fdbbfb
GUACAMOLE-773: Automatically generate dependencies for NPM modules.
2021-06-02 20:37:52 -07:00
Michael Jumper
28cfa2b8b0
GUACAMOLE-773: Update to latest versions of all JavaScript dependencies.
2021-06-02 12:48:57 -07:00
Michael Jumper
53d3e517cc
GUACAMOLE-773: Upgrade (temporarily) to angular-translate 2.17.1 to satisfy Closure Compiler.
...
See: https://github.com/angular-translate/angular-translate/commit/fe47ae7
2021-06-02 12:48:57 -07:00
Michael Jumper
5f0ab7b3f3
GUACAMOLE-773: Use Webpack rather than Webpack+Gulp.
2021-06-02 12:48:57 -07:00
Michael Jumper
1ef61687d8
GUACAMOLE-773: Migrate to NPM for AngularJS portion of webapp build.
2021-06-02 12:48:57 -07:00
Mike Jumper
71948a54ca
GUACAMOLE-1252: Merge correction for null pointer dereference retrieving the RADIUS NAS IP.
2021-05-31 13:42:09 -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
Mike Jumper
78904863c4
GUACAMOLE-944: Merge support for arbitrary, non-DN search usernames.
2021-05-30 17:11:56 -07:00
Mike Jumper
3ec0bdbc57
GUACAMOLE-1355: Merge missing Korean translations.
2021-05-28 00:59:10 -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
307ec9627a
GUACAMOLE-1048: Use GuacamoleConnectionClosedException to represent explicit connection closure.
2021-05-25 11:39:04 -07:00
Michael Jumper
0889e4f2d2
GUACAMOLE-1048: Leverage exception conversion provided by GuacamoleStatus for "error" instruction handling.
2021-05-25 11:39:04 -07:00
Michael Jumper
e2f2b715a4
GUACAMOLE-1048: Allow direct conversion from GuacamoleStatus to GuacamoleException.
2021-05-24 02:14:37 -07:00
Michael Jumper
4dd2a80c84
GUACAMOLE-641: Log primary sources of configuration information.
2021-05-20 16:54:45 -07:00
Michael Jumper
c54f126824
GUACAMOLE-641: Standardize database username/password retrieval via JDBCEnvironment.
2021-05-20 16:54:45 -07:00
Michael Jumper
4d65105695
GUACAMOLE-641: Migrate existing extensions to singleton LocalEnvironment.
2021-05-20 16:54:45 -07:00
Michael Jumper
3a24b2f556
GUACAMOLE-641: Revert support for passing Environment via extension constructors.
...
This reverts commit 1f0b855ea4a39f4c41979ad9d59297f02f188b82.
2021-05-20 16:47:04 -07:00
Michael Jumper
fc7c7b7966
GUACAMOLE-641: Leverage singleton instance of LocalEnvironment.
2021-05-20 16:47:02 -07:00
Michael Jumper
30ddd7a092
GUACAMOLE-641: Provide DelegatingEnvironment convenience class.
2021-05-20 16:45:40 -07:00
Michael Jumper
61a3ec1331
GUACAMOLE-641: Allow extensions to add arbitrary sources of Guacamole properties.
2021-05-20 16:45:38 -07:00
Michael Jumper
9d7b979195
GUACAMOLE-641: Allow extensions to receive Environment via constructors.
2021-05-20 16:42:39 -07:00
Mike Jumper
6644955fff
GUACAMOLE-1245: Merge parameter definitions for WoL UDP port.
2021-05-19 16:04:42 -07:00
Mike Jumper
c1f19b9517
GUACAMOLE-1252: Merge support for overriding default RADIUS NAS IP address.
2021-05-19 15:56:07 -07:00
Mike Jumper
cde84724e8
GUACAMOLE-1339: Merge updates and corrections to Spanish translation strings.
2021-05-09 15:27:55 -07:00
Michael Jumper
125137b76c
GUACAMOLE-773: Never bundle SLF4J with extensions (conflicts with webapp).
2021-04-27 15:24:01 -07:00
Michael Jumper
af0b2ec5c2
GUACAMOLE-773: Use HTTPS for all LICENSE information URLs pointing to Apache.
2021-04-27 15:24:01 -07:00
Michael Jumper
f5b76806a4
GUACAMOLE-773: Update to latest version of JUnit 4.x.
2021-04-27 15:24:01 -07:00
Michael Jumper
4246acf24e
GUACAMOLE-773: Update Jersey from 2.33 to 2.34.
2021-04-26 12:53:23 -07:00
Michael Jumper
9b90376ef3
GUACAMOLE-773: Remove license documentation for dependencies that are no longer bundled.
2021-04-03 19:26:46 -07:00
Michael Jumper
a5ae5811c1
GUACAMOLE-773: Bring license details of bundled Java dependencies up-to-date.
2021-04-03 19:22:43 -07:00
Michael Jumper
d155975d93
GUACAMOLE-773: Allow license checks to be bypassed when necessary for testing/development.
2021-04-03 17:21:34 -07:00
Michael Jumper
481a2ca60b
GUACAMOLE-773: Switch to older mybatis-guice that uses a stable SLF4J.
...
Newer releases of mybatis-guice have switched over to alpha releases of
SLF4J 2.0.0.
2021-04-03 12:10:10 -07:00