This project is mirrored from https://github.com/atom/atom.git. Pull mirroring updated .
  1. 10 Apr, 2021 2 commits
  2. 09 Apr, 2021 4 commits
  3. 08 Apr, 2021 3 commits
  4. 07 Apr, 2021 4 commits
  5. 06 Apr, 2021 6 commits
  6. 05 Apr, 2021 1 commit
  7. 01 Apr, 2021 1 commit
  8. 31 Mar, 2021 6 commits
  9. 26 Mar, 2021 3 commits
  10. 23 Mar, 2021 1 commit
  11. 22 Mar, 2021 1 commit
  12. 19 Mar, 2021 2 commits
  13. 18 Mar, 2021 1 commit
  14. 13 Mar, 2021 1 commit
  15. 11 Mar, 2021 1 commit
  16. 09 Mar, 2021 1 commit
    • Ruby Allison Rose's avatar
      Fix git diff subscriptions (#21968) · b0791944
      Ruby Allison Rose authored
      The startup script now uses a `Set` to manage `GitDiffView`s held in memory and destroy them when `deactivate` is called.
      There are now four major subscription blocks. 
      1. The outer subscriptions held by `activate`.
      2. The per-editor subscriptions held within `activate`.
      3. The per-editor repository event subscriptions held within each `GitDIffView` instance.
      4. The per-editor modification event subscriptions held within each `GitDiffView` are only active when the editor content is bound to a valid git repository.
      
      Teardowns of any editor or the module now result in `disposal` of the respective editor's subscriptions or all subscriptions authored within the module.
      
      I removed some of `GitDiffView`'s unnecessary methods such as the `start`, `cancleUpdate`, `addDecoration` and `removeDecorations`;
      The last two methods were combined into the body of `updateDiffs`.
      `scheduleUpdate` now calls `requestAnimationFrame` instead of `setImmediate` because it's native, standard, and yields
      to other more important browser processes. I know Atom Core implements setImmediate, but rAF seems to work just as fast if not faster.
      The memory management of the editor markers and diffs have been joined using a WeakMap. When the diffs are destroyed,
      so too are the editor markers.
      Finally, I added the `destroy` method to handle the teardown of subscriptions and other destroyable objects contained within the `GitDiffViews` before object release.
      b0791944
  17. 07 Mar, 2021 1 commit
  18. 06 Mar, 2021 1 commit