Echo JS 0.11.0

<~>

tracker1 comments

tracker1 1358 days ago. link 1 point
Nice progress on this... would suggest more testing for phone/mobile usage, especially in the dialogs/overlays, etc.
tracker1 1362 days ago. link 1 point
Would be cool to have a webrtc version for two players using a mouse wheel as the control device.
tracker1 1362 days ago. link 1 point
NOTE: you may or may not have issues doing this outside of an event handler for a click event.
tracker1 1362 days ago. link 1 point
Okay... a few things are being conflated here... A websocket connection is a stream connection to a server... that's it.

From there, you can use different queuing patterns for relaying messages to other connected users, but that process will widely vary.  While this does discuss the different patterns for communication, there's several missing and others that are not spelled out that well.

While Off-topic better examples can be found in the 0mq introduction and documentation, or for that matter RabbitMQ.  Lately I've found that most of these patters are better implemented behind Redis with filters against connected sockets for relay managed by the application if needed.

YMMV.
tracker1 1367 days ago. link 1 point
My only/biggest concern with DateTime libraries, after seeing how bloated moment is, especially with the timezone info, is how absolutely huge these things can be/get.  Curious how big the bundle size is.

I know very few are bundling via Deno currently, but can see it becoming a popular option in a couple years.
tracker1 1383 days ago. link 1 point
Should note that an `async function` *ALWAYS* returns a promise... I often see things like...

  async function foo() : Promise<bar> {
    return new Promise(...)
  }

Because of a lack of understanding of this simple fact, which seems to be amplified with the typescript typing of Promise<T> in the declaration.
tracker1 1383 days ago. link 1 point
One niggle with the post.  IndexedDB's API was really meant to be a groundwork API and the expectation was that libraries would be built on top of that to make interactions easier to deal with for front end developers.
tracker1 1385 days ago. link 1 point
somewhat useful package... I usually just put the following at the top of js modules that need it..

    const delay = ms => new Promise(r => setTimeout(r, ms));

Then I can use `await delay(10)` or whatever in practice.  Often after file operations, so they can sync up before continuing (more for windows antivirus, etc) in node... or to slow down certain operations in a browser.

I will also use this when stubbing API clients when the server-side isn't ready, or similar on the server to simulate longer loads to check UI/UX behaviors.
[more]