Add room invites, moderation, and sync acknowledgements #2

Open
Toxic wants to merge 2 commits from toxic/feature/room-invites-chat-moderation AGit into main
Member

Summary:%0A- add room-scoped invite code creation and revocation for room managers%0A- add audited room chat deletion for room managers%0A- add admin ban and remove-friendship user actions%0A- add Socket.IO acknowledgements and sync health status in the room header%0A- update agent handoff notes%0A%0AVerification:%0A- npm run typecheck%0A- npm run test%0A- git diff --check

Summary:%0A- add room-scoped invite code creation and revocation for room managers%0A- add audited room chat deletion for room managers%0A- add admin ban and remove-friendship user actions%0A- add Socket.IO acknowledgements and sync health status in the room header%0A- update agent handoff notes%0A%0AVerification:%0A- npm run typecheck%0A- npm run test%0A- git diff --check
Toxic added 2 commits 2026-06-11 19:42:37 +00:00
Add room invites and chat moderation
All checks were successful
Template Compliance / compliance (push) Successful in 7s
699232f5c6
Add admin moderation and sync acknowledgements
All checks were successful
Template Compliance / compliance (push) Successful in 6s
Template Compliance / compliance (pull_request) Successful in 6s
abee76c9b1
Owner

Review finding:

  • src/components/room-console.tsx around the shared emit() helper: setSyncHealth("pending") runs before checking whether socketRef.current exists or is connected. If a user clicks a queue/playback/chat action while the socket is disconnected, optional chaining skips the emit and no acknowledgement callback can ever fire, leaving the UI stuck at sync pending with no actionable error. Please guard !socketRef.current?.connected and set failed/a clear error before entering the ack path, or disable realtime action controls while disconnected.

I am not merging this PR until that behavior is handled.

Review finding: - `src/components/room-console.tsx` around the shared `emit()` helper: `setSyncHealth("pending")` runs before checking whether `socketRef.current` exists or is connected. If a user clicks a queue/playback/chat action while the socket is disconnected, optional chaining skips the emit and no acknowledgement callback can ever fire, leaving the UI stuck at `sync pending` with no actionable error. Please guard `!socketRef.current?.connected` and set `failed`/a clear error before entering the ack path, or disable realtime action controls while disconnected. I am not merging this PR until that behavior is handled.
All checks were successful
Template Compliance / compliance (push) Successful in 6s
Template Compliance / compliance (pull_request) Successful in 6s
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin refs/pull/2/head:toxic/feature/room-invites-chat-moderation
git checkout toxic/feature/room-invites-chat-moderation
Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Code-Inc/WatchLink#2