1. 12 Apr, 2019 1 commit
  2. 11 Apr, 2019 3 commits
  3. 05 Apr, 2019 1 commit
  4. 03 Apr, 2019 2 commits
    • Cecylia Bocovich's avatar
      Added check to see if peer connection succeeded · 08f52054
      Cecylia Bocovich authored
      This is related to the proxy-go deadlock bug #25688. If a client doesn't
      do anything with the SDP answer, a token will get lost. Added a timeout
      after a minute that checks the PeerConnection state and destroys the
      peer connection and returns a token if did not yet succeed
      08f52054
    • Cecylia Bocovich's avatar
      Fix for proxy deadlock bug · c28c8ca4
      Cecylia Bocovich authored
      This is a fix for the proxy-go deadlock bug (ticket #25688). The
      assumption that OnIceComplete is always followed by a successful
      connection where OnDataChannel has been called turns out not to occur in
      practice. OnICEComplete looks like it is being deprecated in other
      libraries anyway, so it's safer to just remove it.
      c28c8ca4
  5. 25 Mar, 2019 6 commits
  6. 07 Mar, 2019 1 commit
  7. 22 Jan, 2019 1 commit
  8. 21 Dec, 2018 5 commits
  9. 20 Dec, 2018 7 commits
    • David Fifield's avatar
      .gitignore broker/broker. · 9e47cc3b
      David Fifield authored
      9e47cc3b
    • David Fifield's avatar
      Bump last updated date. · 01bdcd6b
      David Fifield authored
      01bdcd6b
    • David Fifield's avatar
      Use chunk.byteLength as appropriate for ArrayBuffers. · ab34f8e8
      David Fifield authored
      Without this, running with non-dummy rate limiter (e.g. ?ratelimit=1000)
      would try to add undefined to a number resulting in NaN.
      ab34f8e8
    • David Fifield's avatar
      297ae7b1
    • David Fifield's avatar
      Log WebSocket→WebRTC messages in debug mode. · 7c519b29
      David Fifield authored
      Same as the other direction.
      7c519b29
    • David Fifield's avatar
      Only console.log the number of bytes, not the literal message. · f06104d1
      David Fifield authored
      It doesn't really help to have a bunch TLS application records
      interpreted as a string written to the console.
      f06104d1
    • David Fifield's avatar
      Set binaryType="arraybuffer" for RTCDataChannel, just as with WebSocket. · aa668bdc
      David Fifield authored
      The binaryType can be "arraybuffer" or "blob", and "blob" is the
      default. The code is only aware of "arraybuffer": I discovered a problem
      while running snowflake.html in debug mode; this code fails:
          if DEBUG
            # Go sends only raw bytes...
            if '[object ArrayBuffer]' == recv.toString()
              bytes = new Uint8Array recv
              line = String.fromCharCode.apply(null, bytes)
            line = line.trim()
            log 'WebRTC --> websocket data: ' + line
      with the error:
      	TypeError: line.trim is not a function[Learn More] snowflake.js:497:16
      because recv is of type Blob, not ArrayBuffer.
      
      Despite the unexpected type, the code seemed to work as expected when
      not in debug mode. Though the two types provide different interfaces,
      they are both valid to pass on to WebSocket.send. The only other thing
      we did with it was try to read the .length member for rate-limiting
      purposes:
              @rateLimit.update chunk.length
      but .length is incorrect for either type: Blob uses .size and
      ArrayBuffer uses .byteLength. It worked anyway, because
      DummyRateLimit.update doesn't actually look at its argument.
      
      We were already setting binaryType="arraybuffer" for WebSocket
      connections.
      aa668bdc
  10. 19 Dec, 2018 1 commit
  11. 05 Dec, 2018 4 commits
  12. 04 Dec, 2018 4 commits
  13. 26 Nov, 2018 2 commits
  14. 21 Nov, 2018 1 commit
  15. 05 Nov, 2018 1 commit