- 12 Jan, 2012 2 commits
-
-
Joel Martin authored
Issue: https://github.com/kanaka/noVNC/issues/118 Reporter @maxnet also found and suggested the fix. Probably could be more intelligent/generic by keying off the depth sent by the server, but this will do for now.
-
Joel Martin authored
Switched to using: http://www.jshint.com/
-
- 15 Dec, 2011 1 commit
-
-
Joel Martin authored
Also add commented out web-socket-js debug variable in include/websock.js
-
- 01 Dec, 2011 1 commit
-
-
Joel Martin authored
Resolve issue: https://github.com/kanaka/noVNC/pull/101 Based on proposal from @mightpenguin: Matthew Balman <emperor@mightypenguin.org> If view_only option is set then do not send mouse and keyboard events. This is not a secure/enforced way to make a client view only. To enforce view only at the server, most VNC servers support setting a view only password.
-
- 27 Sep, 2011 1 commit
-
-
Joel Martin authored
-
- 26 Sep, 2011 1 commit
-
-
Joel Martin authored
Display API change: - getTile -> startTile (no longer returns a tile) - setSubTile -> subTile (drop img/tile first parameter) - putTile -> finishTile (no longer takes img/tile paramter) The Display tile logic uses canvas image data directly and caches/reuses a 16x16 imageData tile (for other sizes, the tile is create for each call). This gives a 30% speedup on Chrome 13 (and no significant change for Firefox 3.6/4.0). Other: - Remove rgbxImageFill and cmapImageFill routines. - Simplify constructor tests and just error if createImageData is not supported by canvas instead of . - Remove webkit canvas bug workaround that effects Chrome 7. Chrome 7 usage share is now less than 0.5 percent and the workaround is ugly. Drop the function wrapping in the constructor and the canvas flush() routine. - Remove support for getImageData (Opera 11+ now required) Update browser support list: - Chrome 8+ (really any except 7) - Firefox 3.6+ - Safari 4+ - Opera 11+ - IE9+ - iOS 4.2+
-
- 22 Sep, 2011 1 commit
-
-
Joel Martin authored
API changes (forward compatible): - Display: add 'viewport' conf option to turn on and off viewport mode. - RFB: add 'viewportDrag' option to enable/disable viewport dragging mode. Other: - Add clip mode setting to default UI. For touch devices, clipping is forced on. - Use CSS media queries to adjust visual elements based on screen size. Especially disconnected logo size/position and button text size. - Catch page unload while connected and give a confirm dialog. - Change mouse button selector to a single button that changes between ' ', 'L', 'M', 'R' when clicked (empty means mouse is just being moved and doesn't send clicks). - include/ui.js:setViewClip() routine sets the clipping of the viewport to the current size of the viewport area (if clipping is enabled). - include/ui.js:setViewDrag() toggles/enables/disables viewport dragging mode. - Add several images for the UI and for Apple devices: - images/clipboard.png: clipboard menu icon - images/connect.png: connect menu icon - images/disconnect.png: disconnect button icon - images/keyboard.png: show keyboard button - images/move.png: viewport drag/move toggle button - images/settings.png: settings menu icon - images/screen_320x460.png: iOS app/desktop link start image - images/screen_57x57.png: iOS app icon - images/screen_700x700.png: full size noVNC image
-
- 14 Sep, 2011 1 commit
-
-
Joel Martin authored
-
- 13 Sep, 2011 2 commits
-
-
Joel Martin authored
New routine fbUpdateRequests that builds the update request messages based on the result of display.getCleanDirtyReset(). - Also, fix fbUpdateRequest to properly accept x,y,xw,yw parameters.
-
Joel Martin authored
Part of mobile device support: https://github.com/kanaka/noVNC/issues/48 The Display object is redefined as a larger display region with an equal or smaller visible viewport. The size of the full display region is set/changed using resize(). The viewport is set/changed using viewportChange(). All exposed routines that draw on the display now take coordinates that are absolute (relative to the full display region). For example, the result of fillRect(100, 100, 10, 10, [255,0,0]) will appear in the canvas at (0,0) if the viewport is set to (100,100). Details: - Move the generic part of the viewport code from tests/viewport.html into include/display. - Add two new routines to the Display interface: - viewportChange(deltaX, deltaY, width, height) - This adjusts the position of the visible viewport and/or the size of the viewport. - deltaX and deltaY specify how the position of the viewport should be shifted. The position of the viewport is clamped to the full region size (i.e. cannot outside the display region). - The clean and dirty regions of the display are updated based on calls to this routine. For example, if the viewport width is increased, then there is now a dirty box on the right side of the viewport. Another example, if the viewport is shifted down and to the left over the display region, there are now two dirty boxes: one on the left side and one on the bottom of the viewport. - getCleanDirtyReset() - This returns an object with the clean box and a list of dirty boxes (that need to be redrawn). {'cleanBox': {'x': x, 'y': y, 'w': w, 'h': h}, 'dirtyBoxes': [{'x': x, 'y': y, 'w': w, 'h': h}, ...] } - The coordinates in the clean and dirty boxes are absolute coordinates (relative to the full display region) but they are clipped to the visible viewport. - Calling this function also resets the clean rectangle to be the whole viewport (i.e. nothing visible needs to be redrawn dirty) so the caller of this routine is responsible for redrawing any
-
- 08 Sep, 2011 2 commits
-
-
Joel Martin authored
-
Chris Gordon authored
-
- 06 Sep, 2011 1 commit
-
-
Joel Martin authored
-
- 06 Jul, 2011 1 commit
-
-
Joel Martin authored
This addresses issue #65: https://github.com/kanaka/noVNC/issues/65 When tightPNG encoded rects were received, any fill types were immediately drawn to the canvas while images (PNG, JPEGs) were queued for loading. This can cause screen corruption when things are changing rapidly due to the misordering of fills vs images. Also, remove the onload setting in each image on the queue and instead decrease the tight image queue scanning interval (to 40ms or 25 scans per second).
-
- 01 Jul, 2011 1 commit
-
-
Joel Martin authored
For debugging issue #70: https://github.com/kanaka/noVNC/issues/70
-
- 27 Jun, 2011 1 commit
-
-
Ed Schouten authored
This change allows one to implement a single WebSockets proxy, which multiplexes connections to different hosts.
-
- 26 Jun, 2011 1 commit
-
-
Joel Martin authored
- Update test mode calls to work with separate websock module. - Pull in include/websock.js update 7f487fdbd from websockify.
-
- 11 May, 2011 2 commits
-
-
Joel Martin authored
- Add conf_defaults which accepts an array of configuration attributes. - Split out user configuration defaults from the actual configuration object. - Add mode field and enforce read-only, write-once, read-write modes.
-
Joel Martin authored
API changes: - include/canvas.js renamed to include/display.js - Display.rescale() method removed from API. Use Display.set_scale() instead. - Make logo configuration attribute of Display and display it when clear() is called if it is set. API deprecations: - use RFB onUpdateState instead of updateState. - use RFB onClipboard instead of clipboardReceive. See https://github.com/kanaka/noVNC/wiki/ModuleAPI for detailed noVNC modules and API description. Expand and normalize the event/callback interfaces. Standize on "onEventName" form for callbacks. Callback Renames: - RFB updateState -> onUpdateState - RFB clipboardReceive -> onClipboard - Keyboard keyPress -> onKeyPress - Mouse mouseButton -> onMouseButton - Mouse mouseMove -> onMouseMove Callback Additions: - RFB onPasswordRequired - RFB onBell - RFB onFBUReceive - RFB onFBUComplete Other: - Add array type support to Util.conf_default() - Removed a bunch of routines from the Display API that were just used internally and not actually by noVNC: flush, setFillColor, imageDataGet, imageDataCreate, rgbxImageData, rgbxImageFill, cmapImageData, cmapImageFill. - More keyboard/mouse logging when debug turned on. - Some JSLinting
-
- 05 Apr, 2011 1 commit
-
-
Joel Martin authored
-
- 03 Apr, 2011 2 commits
-
-
Joel Martin authored
-
Joel Martin authored
API change: for intergrators that explicitly include the Javascript files (that do not use include/vnc.js)js, include/input.js is a new file that must also be included. The mouse and keyboard handling could be useful on its own so split it out into a Keyboard and Mouse class in include/input.js. This refactoring is preparation to deal with issue #21 - non-US keyboard layouts.
-
- 29 Mar, 2011 1 commit
-
-
Joel Martin authored
Fix mouse button mapping in IE9. All browsers have converged on a standard left=0, middle=1, right=2 ... all except IE that is. Add html5 doctype to tests. In vnc_perf test, use do_test instead of start for function name since start is a keyword in IE. In error about Flash give a link to Adobe's download page.
-
- 25 Mar, 2011 1 commit
-
-
Joel Martin authored
-
- 22 Mar, 2011 1 commit
-
-
Joel Martin authored
Current timeout is 2 seconds for connect timeout. Use 5 seconds if web-socket-js (Flash WebSockets emulator) is being used. On Windows XP with Flash 10.2.152.26, connecting seems to take quite a bit longer than it probably should. This should make it work more consistently.
-
- 19 Feb, 2011 1 commit
-
-
Joel Martin authored
-
- 03 Feb, 2011 1 commit
-
-
Joel Martin authored
Thanks to Michael Sersen for creating images/Logo.svg. - Add images directory with original SVG logo, favicon, and some derivative PNGs of the logo for different purpose. - Note that license on images/* is CC BY-SA. - Add utils/img2js.py to take an image and generate a base64 encoded data URI string. - Add base64 encoded data URI screen logo to display in canvas when disconnected.
-
- 13 Jan, 2011 1 commit
-
-
Joel Martin authored
Copy in include/websock.js from websockify and use that instead. Still some cleanup of network code but it's a good start.
-
- 04 Jan, 2011 1 commit
-
-
Joel Martin authored
-
- 25 Dec, 2010 1 commit
-
-
Joel Martin authored
Issue #39: https://github.com/kanaka/noVNC/issues/issue/39
-
- 24 Dec, 2010 1 commit
-
-
Joel Martin authored
Issue #39: https://github.com/kanaka/noVNC/issues/issue/39
-
- 10 Dec, 2010 1 commit
-
-
Joel Martin authored
Rename the $() selector to $D() so that it doesn't collide with the jQuery name. The API change is that the 'target' option for Canvas and RFB objects must now be a DOM Canvas element. A string is no longer accepted because this requires that a DOM lookup is done and the Canvas and RFB should have no UI code in them. Modularity.
-
- 15 Nov, 2010 1 commit
-
-
Joel Martin authored
Only call encode_message when the WebSockets object is actually ready to send. Otherwise multiple base64 encode sequences can be encoded into the same WebSockets frame. This causes the C version of wsproxy to crash and the python version to ignore the subsequent base64 sequence(s). Thanks to Colin Dean (xvpsource.org) for finding this and helping track it down.
-
- 28 Oct, 2010 1 commit
-
-
Joel Martin authored
- Split out ClientInitialisation state. - In version 3.3 and 3.7, when the server has no auth (scheme 1), then we should skip from Authentication to ClientInitialisation.
-
- 24 Oct, 2010 1 commit
-
-
Joel Martin authored
If shared mode is false, then the server should disconnect other connections before the current connection is allowed to proceed.
-
- 14 Oct, 2010 2 commits
-
-
Joel Martin authored
-
Joel Martin authored
-
- 01 Oct, 2010 1 commit
-
-
Joel Martin authored
- rQwait checks the receive queue to see if there is enough data to satisfy the following request. If not it returns true (which is almost always translated into an immediate return false by the caller). - rQwait is called quite a bit and this generally allows 4 lines to become 1 line where it is called. - rQwait allows simplification of cuttext processing. No global tracking needed anymore. Overall, about 60 lines less code.
-
- 30 Sep, 2010 1 commit
-
-
Joel Martin authored
DES is just used once during authentication and is not performance sensitive so we save some space by generating and/or removing some lookup tables. Also, shorten some very frequently used variables. Shaves off about 100 lines.
-
- 29 Sep, 2010 1 commit
-
-
Joel Martin authored
The decrypt functionality is never used so remove it. Also, we can assume that we are always DES encrypting 16 characters which allows several things to be simplified in DES. Overall this removes about 80 lines of code.
-