Skip to content

feat: add file lock and edit access request workflow for collaborative rooms #137

@Shivangi1515

Description

@Shivangi1515

Problem this feature solves

Currently, all collaborators inside a room can edit files simultaneously in real time.

While realtime collaboration is useful, it can sometimes create issues such as:

accidental overwriting of important code
conflicting edits during debugging or refactoring
difficulty managing ownership of actively edited files
interruption when multiple users edit the same critical section simultaneously

In team-based collaborative environments, there should be a safer and more structured editing workflow for important files or active development areas.

Solution

I would like to introduce a role-based file locking and edit access request workflow inside collaborative rooms.

This feature would allow users to temporarily lock a file while actively working on it, preventing unintended simultaneous modifications from other collaborators.

Suggested Workflow

File Locking

A collaborator can lock a file while editing
Locked files display:
who locked the file
lock status indicator
optional lock timestamp

Example:

authController.js locked by user1
Edit Access Request System

If another user wants to edit the locked file:

they can click:
Request Edit Access

The current file owner receives:

approve/reject popup
realtime notification using Socket.IO

Example:

Alex requested edit access for authController.js
[Approve] [Reject]
Role-based Permissions

Possible permission behaviors:

Owner/Admin can override locks
Collaborators require approval
Optional read-only state for locked files
Suggested Implementation Flow

Collaborative Room

├── User opens file

├── User locks file
│ └── File status synced via Socket.IO

├── Other users see:
│ └── Locked File Indicator

├── Another collaborator requests access

├── Owner receives realtime request popup
│ ├── Approve
│ └── Reject

└── Permission state updates live for all collaborators

However, introducing a structured lock and edit-request workflow would provide a more professional and safer collaborative coding experience while still preserving realtime teamwork.

Why this feature would be valuable

Prevents accidental overwrites during collaboration
Improves team coordination in shared rooms
Creates safer collaborative editing workflows
Enhances permission management inside realtime sessions
Aligns naturally with CollabCE’s collaborative and room-based architecture

Acceptance criteria

Users can lock/unlock files
Locked status syncs in realtime across room participants
Edit access request workflow implemented
Approve/reject permission handling works correctly
Lock ownership displayed properly
UI remains responsive and theme-consistent
Existing collaborative editing functionality remains unaffected

I'd like to work on this feature under Gssoc'26

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions