Commit Graph
544 Commits
Author SHA1 Message Date
Michael Jumper 34bab9524e GUACAMOLE-567: Regularly test connection stability of HTTP tunnel.
Unlike the WebSocket tunnel, where a manual ping request/response must
be explicitly implemented, we can rely on HTTP's own request/response
to verify stability.
2018-09-07 12:20:28 -07:00
Michael Jumper ea0b33bee1 GUACAMOLE-567: Use ping messages specific to the WebSocket tunnel to test connection stability independently of the underlying Guacamole connection. 2018-09-07 12:20:28 -07:00
Michael Jumper 5825835237 GUACAMOLE-567: Add tunnel isConnected() function. Consider both OPEN and UNSTABLE status as connected. 2018-09-07 12:20:28 -07:00
Michael Jumper 45513592a7 GUACAMOLE-570: Bump version numbers to 1.0.0. 2018-06-05 21:34:26 -07:00
Michael Jumper e6f3665995 GUACAMOLE-567: Add UNSTABLE tunnel status. Mark tunnel as UNSTABLE if no data has been received in a reasonable amount of time, but the tunnel is technically still open. 2018-05-27 15:43:41 -07:00
Michael Jumper ca98d07b4a GUACAMOLE-567: Rely on HTTP or WebSocket status code to determine error if Guacamole-specific reason is missing. Default to server unreachable. 2018-05-27 12:29:10 -07:00
Michael Jumper a1e59b9d3a GUACAMOLE-567: Add HTTP and WebSocket translation functions to Guacamole.Status.Code. 2018-05-27 12:28:28 -07:00
Michael Jumper cdc5dec2c9 GUACAMOLE-517: Correct keysym definition of "Print Screen" key. 2018-03-06 12:16:18 -08:00
Michael Jumper 5db2e3cae7 GUACAMOLE-161: Merge changes adding Caps Lock to the do-not-auto-repeat list. 2018-03-03 12:27:01 -08:00
Michael Jumper 57d81544ea GUACAMOLE-495: Remove setClipboard() function of Guacamole.Client, deprecated since 0.9.1 (05a7c87). 2018-02-01 22:32:36 -08:00
Frode Langelo a28c81c001 GUACAMOLE-161: Add CapsLock to the no_repeat key list. 2018-02-01 16:43:15 +00:00
Michael Jumper b6b7a37000 GUACAMOLE-161: Do not rely on receiving keyup for Caps Lock on Mac (only keydown is dispatched). 2018-01-17 18:54:19 -08:00
Michael Jumper a49bfadebf GUACAMOLE-352: Refactor Guacamole.Keyboard.InputSink to Guacamole.InputSink. 2018-01-16 10:20:43 -08:00
Michael Jumper b61f12d69d GUACAMOLE-352: Remove margin and padding from input sink. 2018-01-16 10:20:43 -08:00
Michael Jumper 4b93347617 GUACAMOLE-352: Hide input sink field in bottom-left corner for sake of input method dialogs. 2018-01-16 10:20:43 -08:00
Michael Jumper 376c4380d5 GUACAMOLE-352: Monitor input and composition events to keep input sink contents clear. 2018-01-16 10:20:43 -08:00
Michael Jumper 802fec9bfd GUACAMOLE-352: Handle input/composition events while bubbling. 2018-01-16 10:20:43 -08:00
Michael Jumper 9f6b2fad37 GUACAMOLE-352: Additionally click() while attempting to refocus the input sink field. Do not rely on autofocus, which may result in the field being partly focused (outlined as focused) but not receiving any actual text input. 2018-01-16 10:20:42 -08:00
Michael Jumper e5e01beb60 GUACAMOLE-352: Ignore other input fields if they are invisible. 2018-01-16 10:20:42 -08:00
Michael Jumper 7b29f7b082 GUACAMOLE-352: Do not clear InputSink field upon "input" event (may be fired after a partial composition). 2018-01-16 10:20:42 -08:00
Michael Jumper 5136b1cf8e GUACAMOLE-352: Clarify that Guacamole.Keyboard can be given an Element or a Document. 2018-01-16 10:20:42 -08:00
Michael Jumper 2d26d24dda GUACAMOLE-352: Allow additional elements to be added to a single Guacamole.Keyboard. 2018-01-16 10:20:41 -08:00
Michael Jumper 05822907b4 GUACAMOLE-352: Refocus InputSink through key events rather than clicks. 2018-01-16 09:50:54 -08:00
Michael Jumper f9a639d201 GUACAMOLE-352: Add Guacamole.Keyboard.InputSink object to serve as a reliable default destination for input events. 2018-01-16 09:50:54 -08:00
Michael Jumper 3d6a3aaa2a GUACAMOLE-352: Rely on isComposing property of InputEvent to determine whether the event should be ignored. 2018-01-16 09:50:54 -08:00
Michael Jumper 646f9732f3 GUACAMOLE-352: Track in-progress composition, ignoring "input" events for a composition which is known to be incomplete. 2018-01-16 09:50:54 -08:00
Michael Jumper fd47d1d7ef GUACAMOLE-352: Only attempt to type fully-composed strings. 2018-01-16 09:50:54 -08:00
Michael Jumper cdacd57099 GUACAMOLE-352: Handle "input" / "compositionend" events in a mutually-exclusive manner, as they may conflict. 2018-01-16 09:50:54 -08:00
Michael Jumper 3ee73d835c GUACAMOLE-352: Handle both "input" and "compositionend" events as sources of keys. 2018-01-16 09:50:54 -08:00
Michael Jumper 9dc86119b0 GUACAMOLE-352: Do not attempt to send dead keys (only the composed key should be sent). 2018-01-16 09:50:54 -08:00
Nick Couchman 612d99b797 GUACAMOLE-232: Merge handle known platform/browser keyboard quirks semantically. 2018-01-16 12:00:18 -05:00
Michael Jumper c3d3093d25 GUACAMOLE-232: Automatically press modifiers if remote state does not match local state. 2018-01-15 14:04:15 -08:00
Michael Jumper 960e83f780 GUACAMOLE-232: Do not rely on receiving keyup events on iOS. 2018-01-15 00:25:24 -08:00
Michael Jumper d84f03afea GUACAMOLE-232: Semantically represent platform/browser key event quirks. 2018-01-15 00:24:34 -08:00
Michael Jumper 5ed1586f50 GUACAMOLE-447: Add UIKit key constants sometimes (incorrectly) used by iOS Safari. 2018-01-05 11:01:15 -08:00
Nick Couchman e1443d87b9 GUACAMOLE-237: Make standard comments instead of JSDoc comments. 2018-01-03 13:07:24 -05:00
Nick Couchman f0a658bb97 GUACAMOLE-237: Update JSDoc comments for new code. 2018-01-03 12:19:48 -05:00
Nick Couchman 4c53f28aa2 GUACAMOLE-237: Simplify checks for mediaDevices and getUserMedia. 2018-01-02 12:26:22 -05:00
Nick Couchman f6291c034c GUACAMOLE-237: Define navigator.mediaDevices and getUserMedia when undefined. 2018-01-02 11:43:24 -05:00
Nick Couchman 1c27c66cb3 GUACAMOLE-237: Move to new getUserMedia method. 2018-01-01 22:11:45 -05:00
Nick Couchman d73a0ece29 Merge 0.9.14 changes back to master. 2018-01-01 16:29:38 -05:00
Michael Jumper ce4cd11993 GUACAMOLE-423: Bump version numbers for all modified components to 0.9.14. 2017-12-06 00:12:43 -08:00
Ignasi Barrera e12d547973 GUACAMOLE-437: Fix extraHeaders in the StaticHTTPTunnel 2017-11-20 18:43:14 +01:00
Ignasi Barrera 227e41fbd9 GUACAMOLE-437: Fix extraHeaders scope 2017-11-20 18:41:43 +01:00
Ignasi Barrera 948b4e804c GUACAMOLE-437: Custom headers for Guacamole tunnel 2017-11-19 03:45:39 +01:00
Or Cohen 63f603ec9d GUACAMOLE-431: Fix tunnel stuck in CLOSED state
When the tunnel is closed and another `connect()` call is made, it stops
notifying about state changes (`onstatechanges`) if the connection continues
to fail.

This patch sets the state to `CONNECTING` when calling `connect()`.
2017-11-07 12:41:51 +02:00
Or Cohen d778ad7035 GUACAMOLE-431: Move setState to base Tunnel class
Move `setState()` to Tunnel class to avoid repetition.
2017-11-07 12:41:40 +02:00
Ignasi Barrera 3fbf176a15 GUACAMOLE-385: Proper MIME type for tunnel write operations 2017-09-23 20:57:11 +02:00
Michael Jumper 519daeebe2 GUACAMOLE-346: Use internal seekToFrame() to handle frame timing. 2017-07-15 17:10:47 -07:00
Michael Jumper b41311f1ed GUACAMOLE-346: Simplify style of seek callback invocation. 2017-07-15 16:16:26 -07:00