Read about our upcoming Code of Conduct on this issue

  1. 07 Oct, 2016 1 commit
    • Nick Thomas's avatar
      Add markdown cache columns to the database, but don't use them yet · af001f6c6325
      Nick Thomas authored
      This commit adds a number of _html columns and, with the exception of Note,
      starts updating them whenever the content of their partner fields changes.
      
      Note has a collision with the note_html attr_accessor; that will be fixed later
      
      A background worker for clearing these cache columns is also introduced - use
      `rake cache:clear` to set it off. You can clear the database or Redis caches
      separately by running `rake cache:clear:db` or `rake cache:clear:redis`,
      respectively.
      af001f6c6325
  2. 19 Sep, 2016 1 commit
  3. 27 Jun, 2016 2 commits
  4. 22 Jun, 2016 2 commits
  5. 08 Jun, 2016 1 commit
    • Alejandro Rodríguez's avatar
      Remove `projects` inclusion in `notes_with_associations` to skip some unnecessary queries · 8afcc028b35e
      Alejandro Rodríguez authored
      `notes_with_associations` are used for `participant` declarations, but `Participable`
      only really cares about the target entity project, and not the participants
      projects.
      
      `notes_with_associations` are also used in `Commit::has_been_reverted?` which
      employs the reference extractor of the commit, so no references to the notes
      projects are made there (`Mentionable::all_references` cares only about the
      `author` and other `attr_mentionable`). A paralel situation occurs on
      `Issue::referenced_merge_requests`.
      8afcc028b35e
  6. 03 Jun, 2016 2 commits
  7. 01 Jun, 2016 1 commit
    • Yorick Peterse's avatar
      Refactor Participable · 8f2d80473517
      Yorick Peterse authored
      There are several changes to this module:
      
      1. The use of an explicit stack in Participable#participants
      2. Proc behaviour has been changed
      3. Batch permissions checking
      
      == Explicit Stack
      
      Participable#participants no longer uses recursion to process "self" and
      all child objects, instead it uses an Array and processes objects in
      breadth-first order. This allows us to for example create a single
      Gitlab::ReferenceExtractor instance and pass this to any Procs. Re-using
      a ReferenceExtractor removes the need for running potentially many SQL
      queries every time a Proc is called on a new object.
      
      == Proc Behaviour Changed
      
      Previously a Proc in Participable was expected to return an Array of
      User instances. This has been changed and instead it's now expected that
      a Proc modifies the Gitlab::ReferenceExtractor passed to it. The return
      value of the Proc is ignored.
      
      == Permissions Checking
      
      The method Participable#participants uses
      Ability.users_that_can_read_project to check if the returned users have
      access to the project of "self" _without_ running multiple SQL queries
      for every user.
      8f2d80473517
  8. 09 May, 2016 1 commit
  9. 06 May, 2016 1 commit
  10. 28 Apr, 2016 1 commit
  11. 01 Apr, 2016 1 commit
  12. 11 Mar, 2016 2 commits
  13. 05 Mar, 2016 1 commit
  14. 01 Dec, 2015 1 commit
  15. 30 Nov, 2015 1 commit
  16. 19 Jun, 2015 1 commit
  17. 26 May, 2015 4 commits
  18. 24 Apr, 2015 1 commit
  19. 17 Apr, 2015 1 commit
  20. 15 Apr, 2015 2 commits
  21. 27 Mar, 2015 1 commit
  22. 06 Mar, 2015 1 commit
  23. 05 Feb, 2015 1 commit
  24. 03 Feb, 2015 1 commit
  25. 12 Dec, 2014 2 commits
  26. 09 Oct, 2014 2 commits
  27. 07 Oct, 2014 1 commit
  28. 29 Aug, 2014 1 commit
  29. 26 Jun, 2014 2 commits