- 29 Mar, 2011 2 commits
-
-
Joel Martin authored
-
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.
-
- 26 Mar, 2011 1 commit
-
-
Phil Phillips authored
-
- 25 Mar, 2011 1 commit
-
-
Joel Martin authored
-
- 24 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.
-
- 16 Mar, 2011 1 commit
-
-
Joel Martin authored
Syncs with same change to websockify (7534574a2f). Primary change is removal of FABridge interface. Seems to improve overall latency by perhaps 10%. Also, the slowdown over time in Opera is about half as bad (but still there).
-
- 15 Mar, 2011 1 commit
-
-
Joel Martin authored
This allows tests to work on the github pages site.
-
- 14 Mar, 2011 1 commit
-
-
Joel Martin authored
-
- 23 Feb, 2011 2 commits
-
-
Joel Martin authored
-
Joel Martin authored
Compares normal Javascript arrays with Canvas ImageData arrays and Typed Arrays (ArrayBuffers from WebGL).
-
- 19 Feb, 2011 1 commit
-
-
Joel Martin authored
-
- 05 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.
-
- 02 Feb, 2011 1 commit
-
-
Joel Martin authored
Using HTML5 doctype means CSS pixels sizes must have "px" suffix which many of them did not. Fix that.
-
- 01 Feb, 2011 1 commit
-
-
Joel Martin authored
Call waitpid in loop to catch SIGCHLD signals that happen while handling the original SIGCHLD signal. Pulled from websockify.
-
- 31 Jan, 2011 3 commits
-
-
Joel Martin authored
-
Joel Martin authored
-
Joel Martin authored
API change: changed include path variable from VNC_uri_prefix to URI_INCLUDE since websock.js uses the variable and websock.js is no longer just for noVNC (i.e. websockify is really the canonical location for websock.js). Changes to get web-socket-js to work. Right now it's a hack to get around: https://github.com/gimite/web-socket-js/issues#issue/41. The hack is to disable caching of the flash objects by appending "?" + Math.random() to the end of the flash object path (but only when using IE).
-
- 24 Jan, 2011 3 commits
-
-
Joel Martin authored
Opera 11 native WebSockets (if enabled) seems to have bad behavior for the bufferedAmount so add change from websockify project to allow max bufferedAmount (before send queue is delay) to be configured. Also, Opera 11 and 10.60 behave like Mozilla regarding the '-' key so translate it correctly.
-
Joel Martin authored
If all send data was flushed from the send queue then return true, otherwise false. This doesn't mean the data won't be sent, just that it wasn't sent this time and is queued.
-
Joel Martin authored
Only delay sending data if bufferedAmount is greater than 1000. This seems to match the intention of the spec better. bufferedAmount does not mean that we can't send, it's just an indication that the network is becoming saturated. But Opera 11 native WebSockets seems to have a bug that bufferedAmount isn't set back to zero correctly so we'll be a bit more tolerant.
-
- 19 Jan, 2011 3 commits
-
-
Joel Martin authored
Issue #8: https://github.com/kanaka/noVNC/issues#issue/8
-
Joel Martin authored
Related to this issue: https://github.com/gimite/web-socket-js/issues/#issue/50 This prevents the "Uncaught exception: TypeError: 'this.__handleEvents' is not a function" everytime the timer fires. Yay, one of Javascript's worst behaviors; the way it sets "this".
-
Joel Martin authored
Issues #27 (safari cursor rendering messed up) and #29 (firefox 3.6.10 segault). Finally found some better reference on the icon/cursor format which is added to the docs/links file. It seems like I was missing the XOR section. So setting the cursor would cause corruptin in Safari rendering or the segfault for firefox.
-
- 18 Jan, 2011 3 commits
-
-
Joel Martin authored
Move the Advanced Usage, Integration and Troubleshooting sections to their own pages in the wiki. Also, update wsproxy.py referneces to be websockify.
-
Joel Martin authored
Check keyLocation and translate numpad keys into numbers. keyLocation is not widely supported yet, but it should start percolating into browsers eventually: http://www.w3.org/TR/DOM-Level-3-Events/#events-KeyboardEvent This change is based on: https://github.com/leeor/noVNC/commit/8e59e3772c91eaffaa0f6d53270b97f1fe8510b4
-
Joel Martin authored
It is now here: https://github.com/kanaka/noVNC/wiki/Browser-support
-
- 17 Jan, 2011 4 commits
-
-
Joel Martin authored
To go along with addition of performance notes to the website.
-
Joel Martin authored
-
Joel Martin authored
Update to a build based on 20f837425d4 from gimite/web-socket-js. This changes the event handling code and fixes the frequent recursive call into Flash errors.
-
Joel Martin authored
-
- 13 Jan, 2011 3 commits
-
-
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.
-
Joel Martin authored
https://github.com/kanaka/websockify is now the canonical location of websockify (formerly wsproxy). A copy of the python version is kept here for backwards compatibility and ease-of-use. The other versions and related test scripts are in websockify.
-
Joel Martin authored
-
- 12 Jan, 2011 3 commits
-
-
Joel Martin authored
-
Joel Martin authored
-
Joel Martin authored
wswrapper: Getting the wswrapper.c LD_PRELOAD model working has turned out to involve too many dark corners of the glibc/POSIX file descriptor space. I realized that 95% of what I want can be accomplished by adding a "wrap command" mode to wsproxy. The code is still there for now, but consider it experimental at best. Minor fix to dup2 and add dup and dup3 logging. wsproxy Wrap Command: In wsproxy wrap command mode, a command line is specified instead of a target address and port. wsproxy then uses a much simpler LD_PRELOAD library, rebind.so, to move intercept any bind() system calls made by the program. If the bind() call is for the wsproxy listen port number then the real bind() system call is issued for an alternate (free high) port on loopback/localhost. wsproxy then forwards from the listen address/port to the moved port. The --wrap-mode argument takes three options that determine the behavior of wsproxy when the wrapped command returns an exit code (exit or daemonizing): ignore, exit, respawn. For example, this runs vncserver on turns port 5901 into a WebSockets port (rebind.so must be built first): ./utils/wsproxy.py --wrap-mode=ignore 5901 -- vncserver :1 The vncserver command backgrounds itself so the wrap mode is set to "ignore" so that wsproxy keeps running even after it receives an exit code from vncserver. wstelnet: To demonstrate the wrap command mode, I added WebSockets telnet client. For example, this runs telnetd (krb5-telnetd) on turns port 2023 into a WebSockets port (using "respawn" mode since telnetd exits after each connection closes): sudo ./utils/wsproxy.py --wrap-mode=respawn 2023 -- telnetd -debug 2023 Then the utils/wstelnet.html page can be used to connect to the telnetd server on port 2023. The telnet client includes VT100.js (from http://code.google.com/p/sshconsole) which handles the terminal emulation and rendering. rebind: The rebind LD_PRELOAD library is used by wsproxy in wrap command mode to intercept bind() system calls and move the port to a different port on loopback/localhost. The rebind.so library can be built by running make in the utils directory. The rebind library can be used separately from wsproxy by setting the REBIND_OLD_PORT and REBIND_NEW_PORT environment variables prior to executing a command. For example: export export REBIND_PORT_OLD="23" export export REBIND_PORT_NEW="65023" LD_PRELOAD=./rebind.so telnetd -debug 23 Alternately, the rebind script does the same thing: rebind 23 65023 telnetd -debug 23 Other changes/notes: - wsproxy no longer daemonizes by default. Remove -f/--foreground option and add -D/--deamon option. - When wsproxy is used to wrap a command in "respawn" mode, the command will not be respawn more often than 3 times within 10 seconds. - Move getKeysym routine out of Canvas object so that it can be called directly.
-
- 09 Jan, 2011 1 commit
-
-
Joel Martin authored
- add dup2 functionality. This requires adding a ref cnt to the _WS_connections structure so that we only free the structure once all dup'd referenced are closed. Also, refactor malloc and free of connection structure into _WS_alloc and _WS_free. - allow select to accept a NULL timeout value which means sleep forever instead of segfaulting. - fix some compile warnings related to ppoll definition. - move some WebSockets related html test pages into utils and symlink them from tests.
-
- 08 Jan, 2011 1 commit
-
-
Joel Martin authored
Moved websocket.py code into a class WebSocketServer. WebSockets server implementations will sub-class and define a handler() method which is passed the client socket after. Global variable settings have been changed to be parameters for WebSocketServer when created. Subclass implementations still have to handle queueing and sending but the parent class handles everything else (daemonizing, websocket handshake, encode/decode, etc). It would be better if the parent class could handle queueing and sending. This adds some buffering and polling complexity to the parent class but it would be better to do so at some point. However, the result is still much cleaner as can be seen in wsecho.py. Refactored wsproxy.py and wstest.py (formerly ws.py) to use the new class. Added wsecho.py as a simple echo server. - rename tests/ws.py to utils/wstest.py and add a symlink from tests/wstest.py - rename tests/ws.html to tests/wstest.html to match utils/wstest.py. - add utils/wsecho.py - add tests/wsecho.html which communicates with wsecho.py and simply sends periodic messages and shows what is received.
-