Skip to content

[FEATURE] Real-Time Collaborator Presence & Active Typing Indicators #152

@Vidheendu

Description

@Vidheendu

Problem Statement

Currently, the collaborative editor supports real-time code synchronization, but users do not have visibility into collaborator activity inside a room.

During pair programming or team collaboration sessions, it becomes difficult to identify:

  • who is actively typing,
  • which collaborator is currently editing,
  • or whether users are idle/disconnected.

This reduces collaboration awareness and can create confusion in shared editing sessions.


Proposed Solution

Implement real-time collaborator presence and typing indicators using Socket.IO events.

Suggested Features

  • Show active typing status (User is typing...)
  • Highlight currently active collaborators
  • Detect idle users after inactivity
  • Optional colored collaborator cursor indicators
  • Display online/offline room presence

Benefits

  • Improves real-time collaboration experience
  • Enhances pair programming usability
  • Makes editor interactions more interactive and professional
  • Provides better user awareness during shared coding sessions

Possible Technical Approach

  • Emit typing-start and typing-stop socket events
  • Track user activity timestamps
  • Debounce typing events for optimized performance
  • Maintain collaborator presence state on the frontend

Additional Notes

This feature can later be extended into:

  • live collaborative cursors,
  • edit history tracking,
  • collaborative selections/highlights,
  • session analytics.

I would like to work on this feature under GSSoC'26 if approved.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions