McManning / McManning/frojs-server

Create simple/standard validation for network messages

Open
#1 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
2
Forks
1
PR merge metrics
No merged PRs in 30d

Description

  • All packets should check against required payload fields
  • name should impose a min/max length (0-20?)
  • avatar should impose payload size limits and ensure only known keyframes are specified (basically a deep validation against the JSON schema)
  • auth needs to validate the chosen room against something (at a minimum, the characters to use and string length). Moreso a decision needs to be made as to how rooms are defined/limited by servers (this'll be in another ticket)
  • move needs to validate buffer format, and check buffer against our desired coordinates within some error tolerance
  • say needs to limit message length and optionally do word filtering (will decide later how this works, but a much lower priority)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the server's packet/message handling and the payload definitions for name, avatar, auth, move, and say. Define the validation rules and schema boundaries first; done means every listed message has required-field, length, size, format, and coordinate checks, with unresolved room and filtering decisions explicitly settled.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, node.js
Domain
api, backend, networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.