feat(module-07): wire live presence and lobby chat into the UI - #13
Open
MohanEhab wants to merge 3 commits into
Open
feat(module-07): wire live presence and lobby chat into the UI#13MohanEhab wants to merge 3 commits into
MohanEhab wants to merge 3 commits into
Conversation
… membership The sidebar's Active Lobby link pointed at a hardcoded lobby code (SP-7F-29). Resolve the user's active lobby from lobbyApi.getMyActive() and hide the link when they are not in one. Also clear the stored lobby credential on leave and add the test:coverage script.
…chat into the UI Adds the SignalR connection provider, presence dots, and ChatPanel wiring across LobbyPage, Sidebar, Topbar, DashboardPage, and SettingsPage, replacing the mock presence/chat placeholder. Includes two incidental accessibility fixes found during E2E verification (missing LobbyPage <h1>, low-contrast chat placeholder text).
…e for presence/chat Covers ChatPanel, the SignalR-mocking api-client tests, and updates existing DashboardFriends/LobbyPage/SettingsPrivacy/SidebarFriendBadge tests for the new presence wiring. Adds the live-stack Playwright spec for presence + chat + disconnect/reconnect convergence.
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 free
to 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
What changed
RealtimeConnectionProvider(wraps the app insideAuthProviderinlayout.tsx) managing the SignalR connection lifecycle and presence state.src/features/chat(chatApi,types) andsrc/features/realtime(errors,presence,types) modules.ChatPanelrebuilt for live chat send/receive, history paging, and presence display.@microsoft/signalrdependency (plus incidental toolchain bumps: next, eslint-config-next, vitest, @vitejs/plugin-react — kept bundled with this change since that's the exact dependency set that was built/tested/E2E-verified together).Tests
ChatPanel.test.tsx,api-client.test.ts) and a new Playwright E2E spec (module-07-realtime-chat.spec.ts).Security/docs
docs/modules/module-07-realtime-presence-chat/technical-flow.mdand the security audit in SimPle.Project (docs/security/audits/module-07-realtime-presence-chat.md).Risks/deferred
releaseEligibleremains false pending Module 14 (containerized/staging deployment, hosted CI). This PR only lands locally-verified feature work, same status as modules 4-6 already onmain.fix(module-06-lobby-matchmaking): resolve Active Lobby link from real membershipcommit, which was not yet onorigin/mainat branch time and has not been separately PR'd.