1. 19 May, 2015 1 commit
  2. 26 Mar, 2015 1 commit
    • Solly Ross's avatar
      Throw exceptions from RFB constructor · d9fc1c7b
      Solly Ross authored
      Previously, if an error was thrown from the Display constructor
      in the RFB constructor, we would attempt to use `RFB#updateState`
      to handle this.  However, `RFB#updateState` attempts to close
      the WebSocket connection, which doesn't exist at this point.
      
      In the constructor, it's probably just better to raise an exception
      instead (making sure to clean up anything relevant).
      
      Fixes #460
      d9fc1c7b
  3. 10 Feb, 2015 1 commit
    • samhed's avatar
      Support automatic resize [Part 3/4]: ui.js · f8b399d7
      samhed authored
      * Added a resize request (setDesktopSize) triggered when connecting and by
        changes to the browser window's size.
      * Hid the view-drag-hand when the display area is the same or smaller than the
        remote session size.
      * Added a setting for the automatic resize feature.
      * Updated vnc.html and vnc_auto.html to reflect the changes to the UI.
      f8b399d7
  4. 28 Nov, 2014 1 commit
  5. 17 Sep, 2014 1 commit
  6. 17 Feb, 2014 1 commit
  7. 05 Dec, 2013 1 commit
  8. 21 Sep, 2013 2 commits
  9. 17 Jul, 2013 2 commits
    • samhed's avatar
      0019d3b0
    • samhed's avatar
      * On low resolution devices the status text is now justified to the left · 35b29c98
      samhed authored
        button group instead of centered.
      * On low resolution devices the padding towards the edges of the screen of
        the left and right button groups are now removed.
      * Since the status_bar was merged into the control-bar the actual status_bar
        element became redundant and was therefor removed.
      * Improved the style of the control-bar when there is an error or a warning.
      * Implemented a fix so that vnc_auto.html works as intended with the improved
        screen real estate patch.
      35b29c98
  10. 13 Apr, 2013 1 commit
    • Will Rouesnel's avatar
      Detect port properly in vnc_auto.html when used on port 80 or 443. · e83b9e03
      Will Rouesnel authored
      Browsers (such as Chrome) don't report port numbers in window.location.port when
      used on standard ports such as 80 and 443. This causes vnc_auto.html to not
      automatically find the port as it should.
      
      This simple change checks if window.location.port is blank, and sets port as
      appropriate from the name of the protocol in use.
      e83b9e03
  11. 05 Apr, 2013 1 commit
  12. 03 Apr, 2013 1 commit
  13. 17 Oct, 2012 1 commit
    • Joel Martin's avatar
      Refactor dynamic script loading. Add util.js:load_scripts() · 6f4b1e40
      Joel Martin authored
      Related to issue/pulls:
      https://github.com/kanaka/noVNC/issues/194
      https://github.com/kanaka/noVNC/pull/201
      https://github.com/kanaka/noVNC/pull/202
      
      In IE9, the window.onload event can fire before dynamically loaded
      scripts have finished loading. This can result in either WebSocket (in
      the case of vnc_auto.html) or RFB (in the case of vnc.html) not being
      defined at the point when window.onload is called.
      
      - Move the load_scripts routine from vnc.js to util.js (so that
        websockify can use it too). Also, refactor to work when load_scripts
        is called by a script that itself uses load_scripts. When the whole
        chain of dynamically loaded scripts is finished then call
        window.onscriptsload. Use this mechanism in all the places that
        depend on dynamic loading of scripts: vnc.html, vnc_auto.html,
        websock.js, tests/vnc_playback.html, and tests/vnc_perf.html.
      
      - Use the new window.onscriptsload handler instead of window.onload.
      
      - Remove include/start.js and do the script loading and startup event
        handling in include/ui.js instead.
      6f4b1e40
  14. 15 Oct, 2012 1 commit
    • Joel Martin's avatar
      Change noVNC license to from LGPLv3 to MPL 2.0 · 1d728ace
      Joel Martin authored
      The MPL 2.0 license is a "file-level" copyleft license vs the
      "project-level" nature of the L/GPL. The intention of noVNC has
      always been that it should be easy to incorporate into existing
      projects and sites whether free/open or proprietary/commercial. The MPL
      2.0 is designed for this sort of combination project but still
      requires that any distributed modifications to noVNC source files must
      also be published under the same license.
      
      In addition, the MPL 2.0 allows the code to be used in L/GPL projects
      (the secondary license clause). This means that any projects that are
      already incorporating noVNC should not be impacted by this change and
      in fact it should clarify the licensing situation (the exact
      application of the L/GPL to web applications and interpreted code is
      somewhat ambiguous).
      
      The HTML, CSS, image and font files continue to be under more
      permissive licenses (see LICENSE.txt). The included websockify python
      code remains under a LGPLv3 license although the include/websock.js
      file from the websockify component is now under MPL 2.0 as well.
      
      Permission was received from other noVNC authors to make this change to their
      code license on the following dates:
      
          - Chris Gordon (UI): Jun 24, 2012
          - Antoine Mercadal (DOM,*util.js): Oct 10, 2012
          - William Lightning (UltraVNC repeater): Oct 10, 2012
          - Mike Tinglof (tight encoding): Oct 15, 2012
      1d728ace
  15. 17 Sep, 2012 1 commit
    • Joel Martin's avatar
      include/vnc.js: dynamic load without document.write. · 2cde6e43
      Joel Martin authored
      Instead of using document.write to load scripts, use createElement to
      create and append script tags. document.write is problematic in a lot
      of situation and in particular is not allowed in a Chrome
      extension/packaged app.
      
      Also, in webutil.js, instead of calling init_logging during parsing of
      include/webutil.js, rely on the caller to do this. The problem is that
      calling init_logging on parse tries to call Util logging functions and
      the new model of dynamic load may not having Util loaded by the time
      webutil is parsed.
      2cde6e43
  16. 24 Jun, 2012 1 commit
    • Joel Martin's avatar
      License clarification: HTML,CSS,images,fonts under permissive licenses. · d58f8b51
      Joel Martin authored
      Clarify in LICENSE.txt that the noVNC core library is the part that is
      LGPLv3 licensed. The HTML, CSS, images and fonts are separate from the
      core library and can be modified and distributed with the noVNC core
      but under their own license conditions.
      
      HTML and CSS: 2-Clause BSD
      Fonts: SIL OFL 1.1
      Images: CC BY SA 3.0
      
      In other words, you can modify the layout and appearance of of noVNC
      to integrate with an existing or new web site or application without
      having to publish the source for those modifications under the LGPLv3.
      However, use of and modification of the noVNC core library (i.e. the
      core Javascript that makes up noVNC) must still be according to the
      LGPLv3.
      
      Chris Gordon was the other contributor to the HTML, CSS, and images
      included with noVNC and gave permission for this license clarification
      on June 23, 2012.
      d58f8b51
  17. 23 Jun, 2012 2 commits
  18. 07 Jun, 2012 1 commit
  19. 03 Apr, 2012 3 commits
  20. 02 Feb, 2012 1 commit
    • Joel Martin's avatar
      Make WebSocket encrypt setting default to page protocol. · 1af3e54b
      Joel Martin authored
      I.e. if the page is https:// then the WebSocket encrypt setting will
      default to wss:// (TLS encryption).
      
      Note that since noVNC settings are saved in cookies, this will only
      affect first load. If you have already loaded the page, then the
      encrypt setting will be whatever you last set it to.
      1af3e54b
  21. 27 Jan, 2012 1 commit
    • Joel Martin's avatar
      Default path 'websockify' for Clojure Websockify. · 523cc4d6
      Joel Martin authored
      The Jetty WebSocket server code used by the Clojure version of
      websockify doesn't support WebSocket and Web at the same path so pass
      in a default value for the path so that we can support the Clojure
      version websockify.
      523cc4d6
  22. 01 Dec, 2011 1 commit
    • Joel Martin's avatar
      Add View Only mode setting. · 06a9ef0c
      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.
      06a9ef0c
  23. 27 Sep, 2011 1 commit
  24. 08 Sep, 2011 1 commit
  25. 26 Jun, 2011 1 commit
  26. 11 May, 2011 1 commit
    • Joel Martin's avatar
      API changes/cleanup. · d890e864
      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
      d890e864
  27. 05 Apr, 2011 1 commit
  28. 31 Jan, 2011 1 commit
  29. 10 Dec, 2010 1 commit
    • Joel Martin's avatar
      Make compatible with jQuery. Slight API change. · e4671910
      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.
      e4671910
  30. 09 Nov, 2010 1 commit
    • Joel Martin's avatar
      Add Chrome Frame support. Close requests in web.py. · e66f3f89
      Joel Martin authored
      - Add meta tag to vnc.html and vnc_auto.html so that if Chrome Frame
        is installed, it is used.
      
      - Add detection to default_controls.js that shows a message with
        a Chrome Frame install link if the user is using a version of IE
        without Canvas support.
      
      - Fix web.py so that requests have their connection closed after they
        are completed.  This has been a bug for a while but it prevents
        Chrome Frame from working because Chrome Frame doesn't activate
        until the initial request connection closes.
      e66f3f89
  31. 24 Oct, 2010 1 commit
  32. 29 Sep, 2010 1 commit
    • Antoine Mercadal's avatar
      Split util into two file: · 8d5d2c82
      Antoine Mercadal authored
       - util.js that contains essential functions
       - webutils.js that contains the GUI utility function.js
      
      this helps to include noVNC in other project, especially Cappuccino Application
      i
      8d5d2c82
  33. 08 Sep, 2010 2 commits
  34. 07 Sep, 2010 1 commit