1. 16 Jul, 2010 2 commits
    • Joel Martin's avatar
      State machine refactoring. · f00b1e37
      Joel Martin authored
      Add new states 'loaded', 'connect' and 'fatal':
      - Loaded state is first page state. Pass WebSockets mode message using
        this state.
      - Connect indicates that the user has issued a "connect" but we
        haven't gotten an WebSockets onopen yet.
      - Fatal is a condition that indicates inability to continue on: right
        now, lack of WebSockets/Flash or non-working canvas.
      
      Move much of the actual state transition code into updateState.
      
      Handle 'password' state better in default_controls.js; instead of
      disconnecting, prompt for password to send.
      
      Add comments to updateState indicating possible states.
      f00b1e37
    • Joel Martin's avatar
      Add info on firefox 3.0.17. · 53b112f2
      Joel Martin authored
      53b112f2
  2. 15 Jul, 2010 1 commit
  3. 14 Jul, 2010 1 commit
  4. 13 Jul, 2010 2 commits
    • Joel Martin's avatar
      Add native base64 test (atob and btoa). · d798572d
      Joel Martin authored
      Interestingly it turns out that using the native base64 routines does
      not improve performance. Likely because the actual time is in
      marshalling/unmarshalling between strings and arrays (and associated
      garbage collection overhead) which has to be done either way.
      d798572d
    • Joel Martin's avatar
      TightPng fixups and thanks to Sentry Data Systems. · 77c7a454
      Joel Martin authored
      - Change tightpng encoding number to -260 (aliguori provided it until
        an official number can be allocated).
      77c7a454
  5. 09 Jul, 2010 4 commits
  6. 07 Jul, 2010 3 commits
  7. 06 Jul, 2010 3 commits
    • Joel Martin's avatar
      Add troubleshooting section. · a095b382
      Joel Martin authored
      a095b382
    • Joel Martin's avatar
      Remove unneeded mootools and FABridge test. · 447cd4ad
      Joel Martin authored
      mootools is no longer needed. The bug that the FABridge test was
      testing has been resolved in web-socket-js so it's no longer needed.
      447cd4ad
    • Joel Martin's avatar
      Refactor console logging code. · 81e5adaf
      Joel Martin authored
      Util.Debug, Util.Info, Util.Warn, Util.Error routines instead of
      direct calls to console.*. Add "logging=XXX" query variable that sets
      the logging level (default is "warn").
      
      Logging values:
          debug: code debug logging (many calls in performance path are also
                 commented for performance reasons).
          info: informative messages including timing information.
          warn: significant events
          error: something has gone wrong
      81e5adaf
  8. 05 Jul, 2010 1 commit
  9. 02 Jul, 2010 10 commits
  10. 01 Jul, 2010 9 commits
    • Joel Martin's avatar
      Clarify browser results in README.md · e091b47a
      Joel Martin authored
      e091b47a
    • Joel Martin's avatar
      Remove sequence code in client and proxies. · a9469926
      Joel Martin authored
      a9469926
    • Joel Martin's avatar
      Update web-socket-js binary build and README.md · 2b71a4db
      Joel Martin authored
      Brings it up to date with the most recent web-socket-js event handling
      fixes.
      2b71a4db
    • Joel Martin's avatar
      Opera fixes and big Opera performance boost. · bc8e3d4d
      Joel Martin authored
      Add message/state pollling in web-socket-js. Since Opera tends to drop
      message events, we can dramatically increase performance by polling
      every now for message event data.
      
      Also, add more direct calls to update readyState so that it's not
      missed when Opera drops events.
      bc8e3d4d
    • Joel Martin's avatar
      Better web-socket-js dataQueue reset. · 4a961783
      Joel Martin authored
      At connect and close time instead of initialization time.
      4a961783
    • Joel Martin's avatar
      web-socket-js event fixes. · 9479c720
      Joel Martin authored
      When using web-socket-js, the onopen event may happen inline so the
      caller may not have time to set onopen before the event fires. In this
      case set a short timeout and try again. In particular this affects
      Opera most of the time.
      
      Also, to get around Opera event droppings, always read the readyState
      directly instead of relying on the local readyState variable to be
      correct (which it isn't if stateChange event were dropped).
      9479c720
    • Joel Martin's avatar
      Always prefer JS ops if we have imageData. · 67134184
      Joel Martin authored
      All browsers with Canvas imageData are faster with JS ops instead of
      canvas ops. This gives significant performance improvement in Opera.
      Except for missing web-socet-js message notifications, Opera 10.60 is
      now faster than firefox 3.5.
      67134184
    • Joel Martin's avatar
      Opera works! Fix message event drops/reorders. · a93c9555
      Joel Martin authored
      Instead of relying on FABridge AS -> JS event delivery, we just use
      the events to notify JS of pending data. The message handler then
      calls the AS readSocketData routine which sends back an array of
      the pending WebSocket frames.
      
      There is still a minor bug somewhere that happens after the first
      connect where the web-socket-js throws an "INVALID_STATE_ERR: Web
      Socket connection has not been established". But, Opera is now usable
      and we should be able to drop the packet sequence numbering and
      re-ordering code.
      
      Another minor issue to better support Opera is to move JS script
      includes to the <head> of the page instead of after the body.
      a93c9555
    • Joel Martin's avatar
      Update C proxy to WS protocol version 76. · 1eba7b42
      Joel Martin authored
      Pull in LGPL md5.c and md5.h files (written by Ulrich Drepper).
      
      Now both python and C version of the proxy support both protocol 75
      and protocol 76 (hybi 00).
      
      Reorganize websocket.py slightly to match websocket.c.
      1eba7b42
  11. 29 Jun, 2010 1 commit
  12. 26 Jun, 2010 1 commit
  13. 24 Jun, 2010 2 commits