Skip to content

[CRITICAL] Implement Socket Room Isolation for Realtime Events #125

@ash1shkumar

Description

@ash1shkumar

🚀 Description

Realtime socket events are currently broadcasted globally to all connected users instead of being isolated by project/workspace/room.

This creates major privacy and scalability issues in multi-user environments.


📍Affected Files

  • backend/controllers/chat.controller.js
  • backend/controllers/tasks.controller.js

❌ Current Problem

Events are emitted globally like:

io.emit("newMessage", data[0]);

and:

io.emit("task-created", data[0]);

This means every connected user receives all events.


✅ Expected Solution

  • Implement socket room architecture
  • Join users into project/workspace rooms
  • Emit events only to relevant rooms

Example:

socket.join(projectId);

io.to(projectId).emit("task-created", data);

🎯 Expected Outcome

  • Better realtime scalability
  • Improved data privacy
  • Proper multi-user isolation
  • Cleaner socket architecture

🏷️ Expected Labels

level3 NSoC'26

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions