Uh oh!
There was an error while loading. Please reload this page.
feat: add multiplayer typing races (@jhonsfranky17) - #8340
Open
jhonsfranky17 wants to merge 2 commits into
Open
Conversation
Adds a real-time multiplayer mode: create a private room, share the room code or link, race the same word list live against friends, and see ranked results at the end. - Socket.IO layer attached to the existing Express server, authenticated via the existing Firebase token verification - Room state lives in Redis, isolated from the results/PB/XP pipeline so races never affect real stats or leaderboards - Race results are ephemeral and shown once per race, with a rematch option that resets the room back to the lobby - Countdown and word list are synchronized: every player sees the identical sequence, sees a blurred countdown overlay in-game before the race starts, and has their WPM timer force-started at the same instant instead of on their own first keystroke - New /multiplayer and /multiplayer/:roomCode pages, socket client, and Solid state module on the frontend
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
Contributor
Continuous integration check(s) failed. Please review the failing check's logs and make the necessary changes. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
verifyIdToken)/multiplayerand/multiplayer/:roomCodepages, socket client, and Solid state module on the frontend; newpackages/schemas/packages/contractsmultiplayer definitions on the shared side; new Socket.IO + Redis layer on the backendOut of scope / follow-ups
Test plan
tsc --noEmitandoxlint --type-aware --type-checkclean acrossschemas,contracts,backend, andfrontend