You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Dec 15, 2022. It is now read-only.
Currently whenever there is a change in the repo, we refresh all of the state, meaning that we shell out and get diffs for every changed file, parse that output, and update our FilePatch objects. This all happens regardless of whether the user even views any file diffs.
The initial reason for this approach was so that we'd have diffs on hand, ready to display when the user clicks to see one. However, we're observing that all this computation is causing Atom to lock up when there are large file diffs that need to be processed. Such is the case when large untracked files are modified.
The proposed solution is to only do all this work when the user clicks to view a file diff. This will prevent locking of the editor, simplify the system, and make staging/unstaging feel more responsive because we won't be parsing as many diffs before updating the UI.