Commit Graph
100 Commits
Author SHA1 Message Date
Michael Jumper e44ea62d83 GUAC-574: Update appropriate count - should be user here, not group. 2014-03-26 18:17:20 -07:00
Michael Jumper 7fa30998b2 GUAC-574: Only update active connections if socket not yet closed. 2014-03-26 18:15:01 -07:00
Michael Jumper b6ccf4c2f3 GUAC-574: Synchronize across ActiveConnectionMap to prevent connection usage race conditions. Need to revisit architecture of connection management within MySQL. 2014-03-26 16:47:27 -07:00
Michael Jumper 633535c83e GUAC-573: Correct version number of overall guacamole-client package. 2014-03-26 12:21:10 -07:00
Michael Jumper 4487cac7b7 GUAC-571: Refactor scope of getSizeString(). 2014-03-25 11:56:34 -07:00
Michael Jumper ac61c798e5 GUAC-569: Bump version numbers of guacamole-client components to 0.9.0. 2014-03-25 10:38:02 -07:00
Michael Jumper e993e96752 GUAC-565: Remove experimental code from master (it will be restored in a branch for the corresponding epic). 2014-03-24 22:23:58 -07:00
Michael Jumper d112a747b6 GUAC-562: Send 403 for UNAUTHORIZED, even though 401 seems more appropriate. To do otherwise causes problems when HTTP authorize headers are present in the request (see: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html). 2014-03-24 19:49:23 -07:00
Michael Jumper b6ce30318a GUAC-545: Automatically reconnect if appropriate for the error encountered. 2014-03-24 13:09:00 -07:00
Michael Jumper 5ad5afe4b0 GUAC-545: Add reconnect button and countdown. 2014-03-24 12:52:53 -07:00
Michael Jumper 7d56352876 GUAC-544: Implement reconnect via GuacUI.Client.connect() function. Can be called again to reinitialize the UI and reconnect. 2014-03-24 11:58:06 -07:00
Michael Jumper 18369f277f GUAC-559: Notify when tunnel is disconnected. Ignore explicit disconnection status from Guacamole.Client. 2014-03-23 18:34:30 -07:00
Michael Jumper adff91af2b GUAC-561: Reword tunnel errors to describe UPSTREAM_TIMEOUT properly. 2014-03-23 13:12:31 -07:00
Michael Jumper 5ad6d77ef6 GUAC-561: Close tunnel with timeout error code if data not received from server. 2014-03-23 12:48:07 -07:00
Michael Jumper 03dbfa088e GUAC-561: Throw timeout exception when socket times out. 2014-03-22 15:27:54 -07:00
Michael Jumper 6d4a83ce33 GUAC-558: Add separate error strings for tunnel errors. 2014-03-21 19:46:01 -07:00
Michael Jumper 11b8e3673a GUAC-558: Send proper error when unable to connect due to lack of context. 2014-03-21 19:35:04 -07:00
Michael Jumper 28711720f7 GUAC-558: Use same error handling function throughout HTTP tunnel. Ignore RESOURCE_NOT_FOUND for connected HTTP tunnels as that actually signals end-of-stream. 2014-03-21 19:28:17 -07:00
Michael Jumper 7cb933c9c1 GUAC-558: Ensure state/error handlers are called ONLY on the last tunnel. Rewrite to clean program flow. 2014-03-21 18:54:04 -07:00
Michael Jumper f183e29586 GUAC-558: Fix calls to onerror handler, switch to corresponding close_tunnel() prototype. 2014-03-21 18:22:12 -07:00
Michael Jumper c5573f9811 GUAC-558: Do NOT make initial request if connect failed. 2014-03-21 18:10:27 -07:00
Michael Jumper 7dbb1b1ac0 GUAC-558: Do not send pending messages if tunnel is closed. 2014-03-21 18:06:59 -07:00
Michael Jumper 627271953d GUAC-558: Add specific handler for tunnel state change. Add state property and values. Clean up warnings. 2014-03-21 16:46:55 -07:00
Michael Jumper af4de98277 GUAC-558: Do not trigger client onerror for tunnel onerror. 2014-03-21 11:19:07 -07:00
Michael Jumper 1289c16869 GUAC-558: Send status along WebSocket when end-of-stream is received. 2014-03-21 11:06:31 -07:00
Michael Jumper ec614c2f83 GUAC-556: Fix JavaScript definitions of UPSTREAM_TIMEOUT and UPSTREAM_ERROR - they were swapped. 2014-03-19 22:12:16 -07:00
Michael Jumper b976cd3a29 GUAC-549: Restore use of original all.min.js (should not have been committed as all.js). 2014-03-19 16:08:59 -07:00
Michael Jumper a1aba4d2a7 GUAC-549: Use new onerror/onack handlers. Translate Guacamole.Status codes to human-readable messages. 2014-03-19 15:43:36 -07:00
Michael Jumper 6a70dd5582 GUAC-549: Use Guacamole.Status for ack messages. 2014-03-19 14:35:31 -07:00
Michael Jumper d4a6fd21f7 GUAC-549: Throw status instead of error for connect() in tunnel and client. Pass status instead of message/code parameters for onerror event handlers. 2014-03-19 13:58:52 -07:00
Michael Jumper 52395f6c2e GUAC-549: Add status code object and enum. 2014-03-19 13:54:13 -07:00
Michael Jumper 5eb84053cd GUAC-553: Send Guacamole status code as sole content of WebSocket close frame. 2014-03-19 11:26:09 -07:00
Michael Jumper c69da31af9 GUAC-553: Map Guacamole error status to nearest WebSocket error status. 2014-03-19 10:50:33 -07:00
Michael Jumper 78f7eb415d GUAC-550: Use appropriate exceptions for error cases. Report when resources cannot be used because they are locked, exhausted, etc. 2014-03-18 22:27:20 -07:00
Michael Jumper 1a4ddb5660 GUAC-547: Send status code as header. Use status code wherever GuacamoleExceptions are handled. 2014-03-18 17:23:16 -07:00
Michael Jumper 377d8b62d0 GUAC-547: Implement exceptions for remaining status codes. 2014-03-18 17:05:01 -07:00
Michael Jumper 494e611008 GUAC-547: Define status for server exception - avoid future problems when generic error status changes. 2014-03-18 16:54:04 -07:00
Michael Jumper ac288916b8 GUAC-547: Associate a GuacamoleStatus with all GuacamoleExceptions. 2014-03-18 16:44:19 -07:00
Michael Jumper 4f3f55d0e0 GUAC-547: Add GuacamoleStatus object which enumerates all possible status codes, associating them with roughly-corresponding HTTP error codes. 2014-03-18 16:40:49 -07:00
Michael Jumper 390ddcd694 Synchronize on getContents() as well, for sake of consistency and predictability. 2014-03-06 10:43:42 -08:00
Michael Jumper e4f67e5aff Fix possible NPE in MonitoringGuacamoleReader read() and readInstruction(). 2014-03-06 10:42:25 -08:00
Michael Jumper 4851ba8b5c Fix movement calculations. 2014-03-05 01:10:03 -08:00
Michael Jumper bacc5406ec Handle start/end of gestures more cleanly. 2014-03-04 16:56:12 -08:00
Michael Jumper 462525c08c Further cleanup. Implement long-press for right click. 2014-03-04 16:31:46 -08:00
Michael Jumper e54d164113 Use tap+hold for click+drag. 2014-03-04 15:14:56 -08:00
Michael Jumper 6d1c9ba550 Modify Guacamole.Touchscreen to play nicely with other gesture-handling objects. Send click only on touchend. Move mouse only if related to a drag. 2014-03-04 13:42:14 -08:00
Michael Jumper f0c62ff82a Clean up Mouse.js a bit. 2014-03-04 13:08:29 -08:00
Michael Jumper 6502cd61a0 Add static channel parameter for RDP. 2014-03-04 11:23:52 -08:00
Michael Jumper 3c8d72653e Add controlling enable-clipboard-integration property. 2014-03-03 09:48:32 -08:00
Michael Jumper 65451a37f8 Use monitor to wait for changes, rather than universally waiting for entire timeout period. 2014-03-03 09:48:32 -08:00
Michael Jumper 4334cf7d76 Use servlet to retrieve clipboard state. 2014-03-03 09:48:31 -08:00
Michael Jumper 2a178d11fc Move to clipboard state tracking, rather than events. 2014-03-03 09:48:31 -08:00
Michael Jumper fb1bc0f5e4 Integrate clipboard paste. Add stubs for copy/cut. 2014-03-03 09:48:30 -08:00
Michael Jumper cc72cba29a Allow default action of key events to be manually enabled. 2014-03-03 09:48:30 -08:00
Michael Jumper 893a3f0d84 Route all instructions through monitoring reader. 2014-03-03 09:48:29 -08:00
Michael Jumper a11103ce4c Implement GuacamoleReader which intercepts instructions. 2014-03-03 09:48:29 -08:00
Michael Jumper d528ca10dc Add clipboard change event and listener. 2014-03-03 09:48:28 -08:00
Michael Jumper da7112b2f5 Fix reference to old object. 2014-03-03 09:48:08 -08:00
Michael Jumper 4982971fec Remove automatic calls to sendAck(). 2014-02-28 18:34:08 -08:00
Michael Jumper d09019b413 Implement ArrayBufferWriter. 2014-02-28 17:32:53 -08:00
Michael Jumper 1229c42152 Add StringWriter object. 2014-02-28 15:53:02 -08:00
Michael Jumper 853d5d5cc4 Fix file upload. 2014-02-28 15:51:10 -08:00
Michael Jumper 7ffbfd8a23 Fix file download. 2014-02-28 15:47:41 -08:00
Michael Jumper 71ae352208 Migrate to cleaner InputStream and OutputStream with Reader wrappers. 2014-02-28 15:25:01 -08:00
Michael Jumper beb9e5c684 Refactor InputStream API. 2014-02-28 10:03:01 -08:00
Michael Jumper 4478e91c8a Add support for pipe instruction. 2014-02-27 22:26:53 -08:00
Michael Jumper 76fce28d01 #518: Close connection on end-of-stream. 2014-02-03 11:54:04 -08:00
Michael Jumper f57d2c167e #518: Send roughly-appropriate codes and close the WebSocket connection when errors are encountered. 2014-02-03 11:36:27 -08:00
Michael Jumper fab6b9f035 Add parameters for RemoteApp. 2014-01-30 01:17:43 -08:00
Michael Jumper 03a67cc3c5 Rename guacamole.js to all.js. 2014-01-22 14:20:38 -08:00
Michael Jumper b8c4419bf5 Set default layer and cursor layer z-index so they display correctly. 2014-01-17 01:55:25 -08:00
Michael Jumper 8936faa6a5 Sort layer containers within flatten(). 2014-01-16 17:17:51 -08:00
Michael Jumper f706e0febf Add new layers to default layer by default. 2014-01-16 11:12:38 -08:00
Michael Jumper d6c9b8bf81 Fix recursive handling of layers in flatten(). 2014-01-16 10:50:56 -08:00
Michael Jumper 7a7901d18f Fix distort instruction (called transform() on wrong object). Store matrix. 2014-01-16 01:17:15 -08:00
Michael Jumper e3c013804d Implement dispose() within LayerContainer. 2014-01-16 01:08:19 -08:00
Michael Jumper 773f64762a Implement shade(). 2014-01-15 22:01:05 -08:00
Michael Jumper ad5ab18605 Add support for multiple layers to flatten(). Add move() to LayerContainer. Track properties of LayerContainer. 2014-01-15 22:01:05 -08:00
Michael Jumper 350b1a5e0b Use minified guacamole-common-js. 2014-01-15 21:50:18 -08:00
Michael Jumper 6c00d8428c Migrate to minify-maven-plugin and Google Closure Compiler. 2014-01-15 21:50:18 -08:00
Michael Jumper 25248ede66 Disable YUI warnings. When enabled, just yields 300+ messages requesting "try to use a single 'var' statement per scope", which is silly. Declare variables where needed and no earlier when the language allows this. 2014-01-15 21:50:18 -08:00
Michael Jumper b5e6e82012 Include modules separately along with aggregated .js 2014-01-15 21:50:18 -08:00
Michael Jumper ba1f13bd57 Use single JS file. 2014-01-15 21:50:17 -08:00
Michael Jumper 10b398d5d7 Massive reorganization. Separate all objects into individual files. Remove duplicate namespace declarations. 2014-01-15 21:50:17 -08:00
Michael Jumper 827e98f626 Use yui-compressor to combine JS into one file. Rename super to hyper to satisfy yui-compressor. 2014-01-15 21:50:17 -08:00
Michael Jumper 9b5ef9b5ff Ticket #486: Add white-space: pre; style to avoid trimming of clipboard spaces. 2014-01-04 21:15:46 -08:00
Michael Jumper 0ab2932f1e Re-license guacamole-auth-ldap as MIT. 2014-01-03 12:59:05 -08:00
Michael Jumper 3e20648343 Ensure width/height/DPI are sent as integers. Properly adjust display scale for reported pixel size. 2014-01-01 21:03:38 -08:00
Michael Jumper ea7e04505f Re-license guacamole-common as MIT. 2014-01-01 16:05:57 -08:00
Michael Jumper 5dfd49bce3 Re-license guacamole-common-js as MIT. 2014-01-01 16:04:57 -08:00
Michael Jumper 3ee5a216df Re-license guacamole-ext. 2014-01-01 16:03:59 -08:00
Michael Jumper 8f32b98ae7 Re-license guacamole-auth-noauth as MIT. 2013-12-29 11:28:46 -08:00
Michael Jumper 2acfba2d7e Add missing packages. 2013-12-28 20:51:08 -08:00
Michael Jumper 673052b101 Re-license guacamole-auth-mysql as MIT. 2013-12-28 20:33:50 -08:00
Michael Jumper c2852d4a22 Re-license guacamole as MIT. 2013-12-28 20:32:51 -08:00
Michael Jumper bf884b8ffd Trac super as best as possible. Properly track meta. Add modifier state object. 2013-12-27 17:44:24 -08:00
Michael Jumper 02ca96c4dc Update meta appropriately. 2013-12-27 15:29:22 -08:00
Michael Jumper b722cf5977 Add support for DPI within size instruction and client info. 2013-12-27 00:35:21 -08:00
Michael Jumper 9b20d5e1eb Streamline identifier parse logic, ensure case is consistent across browsers, use keyIdentifier if it exists and a corresponding keypress is unlikely. 2013-12-23 11:04:59 -08:00
Michael Jumper bd437622b7 Do not trust deprecated keyIdentifier - Chrome gets it VERY WRONG sometimes. 2013-12-20 17:17:45 -08:00