1. 10 May, 2021 1 commit
  2. 07 May, 2021 1 commit
  3. 06 May, 2021 1 commit
  4. 29 Apr, 2021 3 commits
  5. 26 Apr, 2021 1 commit
    • Jeffrey I. Schiller's avatar
      Properly handle error while saving files · 0670fc6b
      Jeffrey I. Schiller authored
      When an error occurs while saving a file we need to put the associated
      file editor back in the dirty editors list. Otherwise data may be
      lost. Prior to this fix once i/o failed, the editor was considered clean
      and i/o would not be retried unless the editor was modified again. So
      for example if a designer attribute was changed, but the i/o failed, it
      would not get saved again, even if a change was made in the blocks
      editor and even if the “Save project” menu was used.
      
      Note: We do not re-schedule the failed i/o but instead depend on another
      user change (anywhere) or explicit use of the “Save project” menu. I
      considered re-scheduling the i/o but am concerned that if i/o is failing
      due to a server problem, a lot of clients retrying i/o may make it worse
      via the “thundering herd!”
      
      Change-Id: Ife50c3c20d407b4e009c639bc36c2596331342d7
      0670fc6b
  6. 16 Apr, 2021 3 commits
  7. 15 Apr, 2021 1 commit
  8. 12 Apr, 2021 1 commit
    • Jeffrey I. Schiller's avatar
      Add hostname to buildserver/vars · e97f1470
      Jeffrey I. Schiller authored
      We run 9-15 buildservers simultaneously and have a status page that
      reports the /buildserver/vars foreach server. However it is hard to know
      which status is for which buildserver. So we add the buildserver
      hostname here.
      
      Change-Id: I46fc59626cccf668ab57a5f81581273f0358fd1e
      e97f1470
  9. 07 Apr, 2021 1 commit
  10. 22 Mar, 2021 2 commits
  11. 17 Mar, 2021 1 commit
  12. 16 Mar, 2021 3 commits
  13. 07 Mar, 2021 1 commit
    • Jeffrey I. Schiller's avatar
      Mitigate Chrome 89 change · b4557d64
      Jeffrey I. Schiller authored
      Chrome 89 implements RFC8285 by default. It implements a general
      mechanism for RTP header extensions. We do not use these....
      
      Unfortunately the WebRTC library we are using in the Companion does not
      understand the extension request in the WebRTC offer message and refuses
      the offer completely, resulting in WebRTC not working from Chrome
      89 (and presumably onward).
      
      This change removes the extension from the offer prior to sending it to
      the Companion, so WebRTC works again.
      
      We believe this is harmless, because we do not use audio or video over
      WebRTC and this extension has no impact on the data channel (which we do
      use).
      
      Change-Id: I68f4ebaa2099ca0b4bbc7b1abd0a565dbde1f4e6
      b4557d64
  14. 05 Mar, 2021 1 commit
    • Jeffrey I. Schiller's avatar
      Update CloudDB LUA Script · 3153792b
      Jeffrey I. Schiller authored
      The POP_FIRST_SCRIPT updated so that when the list is empty, it is set
      to the empty list instead of the empty object (which appears to be the
      Redis default when you empty a “table”).
      
      Change-Id: I15002a883eead373b3d23e85867c0b1ab103c0fd
      3153792b
  15. 01 Mar, 2021 3 commits
  16. 27 Feb, 2021 1 commit
  17. 22 Feb, 2021 1 commit
  18. 19 Feb, 2021 1 commit
  19. 08 Feb, 2021 1 commit
    • Jeffrey I. Schiller's avatar
      Add “UpdateDone” event to CloudDB · 070487b7
      Jeffrey I. Schiller authored
      The UpdateDone event means that a store operation (StoreValue,
      AppendValueToList or ClearTags) has completed. Because some
      applications, such as SketchAndGuess can cause numerous store operations
      in a short period of time, there is a risk that these events may
      overload the sending device. In the case of a large number of update
      events, only one UpdateDone event will be triggered per tag updated
      once the backlog of update operations is cleared.
      
      The most likely use case for UpdateDone is to handle storage of large
      objects. All store operations are performed in the background, so this
      event permits apps to know for sure when an update operation is
      complete.
      
      Change-Id: Ia6ff5760ad622efecc9a8d235a177b9c3e00c6a9
      070487b7
  20. 05 Feb, 2021 1 commit
    • Jeffrey I. Schiller's avatar
      Tune the CloudDB Component · 93fdc308
      Jeffrey I. Schiller authored
      Internally we use the Java “Jedis” library to communicate with
      CloudDB. However this library is tuned for high speed low latency
      connections. In particular it provides for a 2 second timeout on
      transactions. This is not always sufficient in a wide area network
      situations that a lot of devices will be.
      
      Most transactions work, but when storing larger objects this 2 second
      timeout can be exceeded. This change updates the timeout to be 20
      seconds instead of 2. It also works around a minor issue in the Jedis
      library that was causing the authentication (login) transaction to be
      duplicated. This was not a real problem, but it still should be fixed,
      and is in this change.
      
      Change-Id: I00056d5bcf6f79fc783da2b22ed68c17e946e0e5
      93fdc308
  21. 01 Feb, 2021 4 commits
  22. 27 Jan, 2021 1 commit
  23. 26 Jan, 2021 1 commit
  24. 20 Jan, 2021 5 commits