Giter VIP home page Giter VIP logo

switchboard-poc's Introduction

switchboard-poc's People

Contributors

ccatherineeeee avatar jettdc avatar moppit avatar

Watchers

 avatar

switchboard-poc's Issues

onFirstConnect plugins

Maybe we should allow users to create plugins that allow for the generation of messages on the first connection?

So, say we are making a pizza application, and a user doesn't connect until after their pizza is already on the way. There could be a plugin specified to check the db to look for what the current stage is, and rebuild those missed messages.

// plugin onFirstConnect /orders/3

func plugin() []Messages {
  msgs = []
  if db.GetOrderStatus(3) >= "en-route" {
    msgs.append({
      msg: "Your order has been received"
    })

    msgs.append({
      msg: "Your order is in the oven"
    })

    msgs.append({
      msg: "Your order is on the way"
    })
  }
  return msgs
}

Goroutine leakage

A lifecycle of connecting on a websocket and disconnecting leaves at least 2 open goroutines. That full lifecycle should leave no leftover goroutines (unless it is maintaining an active subscription to the pubsub provider).

Health check endpoint

A lot of tools like Kubernetes use health check endpoints, so we should research what those need to look like and implement it.

Most likely, we should have a default location for the endpoint (/ and/or /health) with the option for the user to specify their own. For the default, we should look at defaults for platforms like Kubernetes.

server:
  healthcheck: "/api/my-custom-healthcheck-location"

Test autotls

We can't test autotls on localhost, so we'll need to throw the project into a VM and try it there.

wss Secure Websockets

Not 100% sure how this should work, but I know tools like Caddy have methods of doing this automatically. We should probably do this in 2 steps, the second being a stretch goal:

  1. Allow user to specify locations of certificate files in their config
  2. [Stretch goal] Make server automatically configure TLS, with option for manual.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.