overleaf / overleaf/overleaf

[Feature] Individual undo

Open
#793 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
18.1k
Forks
2.1k
PR merge metrics
No merged PRs in 30d

Description

Steps to Reproduce

With two people editing the same doc:

  1. Person A adds a word.
  2. Person B adds a word.
  3. Person A invokes Undo.

Expected Behaviour

Person A expects the word they typed to disappear.

Observed Behaviour

The word added by Person B is removed.

Context

When multiple editors are working on different sections of a document simultaneously, using Undo can sometimes result in edits unrelated to their own actions.

Technical Info

  • URL: privately hosted
  • Browser Name and version: Chrome Version 85.0.4183.121 (Official Build) (64-bit)
  • Operating System and version (desktop or mobile): macOS 10.15.6
  • Signed in as:
  • Project and/or file:

Analysis

Instead of a global edit stack for Undo functionality, a per-author stack would be more intuitive.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the two-person editing sequence described in the issue and trace the existing global undo behavior. No files, tests, or entry points are named, so the implementation surface will need to be located first. Done means Person A's undo removes A's word while preserving Person B's edit.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
full-stack
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.