Code Monkey home page Code Monkey logo

websocketpie's People

Contributors

dependabot[bot] avatar jdoleary avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

websocketpie's Issues

Switch from Tape to Ava?

After using Tape a bit I'm not super happy with how it reports failures. When a test times out for example. I notice that it doesn't tell me which test times out.

I'm thinking we could migrate to AVA before our tests get too advanced.

"Together" Message that waits to echo until all clients have sent one

This special type of message would be necessary for games like "rock paper scissors" were the game is turn based, but neither client should know ahead of time what the other clients have chosen.

The config for together settings (timeout for example) can be configurable on a per-room basis when the first user makes the room.

When a together message is received, the echoserver keeps it in memory and waits for all the room's other clients to send a together message, when all are received (or the timeout is reached) it sends one bulk message to all clients simultaneously, containing the aggregated contents.

Room holding onto clients?

Screen Shot 2019-12-21 at 11 36 15 AM

Notice that in the screen shot, I only have two tabs open, but there are four clients in the room.... not sure where these other two connections are coming from.

Cleanup Rooms

How are rooms removed? Should they be cleaned up if all clients leave it?

Lock down package.json versions

Personally, I don't trust that every single dependency uses semver correctly. I'd like to make our project build deterministic and I think we should lock down the versions in package.json.

We should add .yarnrc and .npmrc files to ensure that added packages automatically use an exact version going forward.

Private Rooms

Should we allow makeRoom to accept a password to allow only people who know it to enter the room?

Share `MessageType.js`

@msweda, What do you think about just making this a small npm package? I'd be happy to take care of it.

Beelzeball

Defeat the devil with the power of volleyball

join multiple rooms / send to specific room

Hey everyone ,

not sure if I just don't know the correct way to do what I wanna do, or if this could be a legitimate feature request.

I think I want a client to be able to join and be in multiple rooms and receive and send messages from and to those rooms. When sending a message, the room should be selectable.
Think of having one "global" room, one for a party of 4 or 5 players and one short-living room that represents a battle, which would be used to sync state like healthpoints etc.

Best regards

Client ordering for authority?

If one of the clients needs to have "final say" in an app, I'm suggesting that we can do that with a fixed order of the clients in the clients array. But I'm putting this issue here so that we can think on it. It might be something we should add to the docs when we're decided.

RoomManager: Make room with config

Joining an existing room and making a new room should be separated.

New rooms should have optional configs from the host with room specific options (max players, etc)

Event when MakeRoom / JoinRoom is successful?

I know that joining a room fires a "clientPresenceChanged" but is that ideal? I have the scenario in Beelzeball where I want to make a room, and only after the room is successfully created, move to the game screen.

Related, I'm not sure we want the "host" to join a room implicitly when they make a room. It seems like it'll be easier to make a room under a certain condition but always join the same with, with a "JoinRoom" message.

Opening up for discussion.

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.