1. 23 Jul, 2016 1 commit
  2. 20 Jul, 2016 1 commit
  3. 14 Jul, 2016 1 commit
    • Dino M's avatar
      Fix not normalized emoji paths · e21492b8
      Dino M authored
      * There where path where +1 was stored as +1 not as thumbsup
        that was causing problems such as showing thumbsup icon 2 time.
        I fixed this to always normalize and store +1 as tumbsup
      e21492b8
  4. 11 Jul, 2016 1 commit
    • Stan Hu's avatar
      Optimize system note visibility checking by hiding notes that · af3727b3
      Stan Hu authored
      have been fully redacted and contain cross-project references.
      
      The previous implementation relied on Note#cross_reference_not_visible_for?,
      which essentially tries to render all the Markdown references in a system note
      and only displays the note if the user can see the referring project. But this
      duplicated the work that Banzai::NotesRenderer was doing already. Instead, for
      each note we render, we memoize the number of visible user references and
      use it later if it is available.
      
      Improves #19273
      af3727b3
  5. 06 Jul, 2016 2 commits
  6. 04 Jul, 2016 1 commit
  7. 01 Jul, 2016 1 commit
  8. 29 Jun, 2016 1 commit
  9. 24 Jun, 2016 1 commit
    • Yorick Peterse's avatar
      Support for rendering/redacting multiple documents · d470f3d1
      Yorick Peterse authored
      This commit changes the way certain documents are rendered (currently
      only Notes) and how documents are redacted. Previously both rendering
      and redacting would run on a per document basis. The result of this was
      that for every document we'd have to run countless queries just to
      figure out if we could display a set of links or not.
      
      This commit changes things around so that redacting Markdown documents
      is no longer tied into the html-pipeline Gem. This in turn allows it to
      redact multiple documents in a single pass, thus reducing the number of
      queries needed.
      
      In turn rendering issue/merge request notes has been adjusted to take
      advantage of this new setup. Instead of rendering Markdown somewhere
      deep down in a view the Markdown is rendered and redacted in the
      controller (taking the current user and all that into account). This has
      been done in such a way that the "markdown()" helper method can still be
      used on its own.
      
      This particular commit also paves the way for caching rendered HTML on
      object level. Right now there's an accessor method Note#note_html which
      is used for setting/getting the rendered HTML. Once we cache HTML on row
      level we can simply change this field to be a column and call a "save"
      whenever needed and we're pretty much done.
      d470f3d1
  10. 23 Jun, 2016 2 commits
    • Paco Guzman's avatar
    • Z.J. van de Weg's avatar
      Eager load award emoji on notes · e7a27946
      Z.J. van de Weg authored
      This commit eager loads the award emoji on both the issues and the MRs.
      When loading an issue with 108 comments this reduces the query count by
      327 queries. On a merge request with the same amount of comments this
      saves 148 queries. The large difference is not clear to me at this
      point and the total query count is still huge with 387 and 1034
      respectively. The biggest problem however, remains the calculation of
      participants.
      e7a27946
  11. 16 Jun, 2016 2 commits
  12. 15 Jun, 2016 1 commit
  13. 13 Jun, 2016 3 commits
  14. 06 Jun, 2016 1 commit
  15. 03 Jun, 2016 2 commits
  16. 01 Jun, 2016 2 commits
    • Yorick Peterse's avatar
      Refactor Participable · 580d2501
      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.
      580d2501
    • Z.J. van de Weg's avatar
      Incorportate feedback · 91a7b933
      Z.J. van de Weg authored
      91a7b933
  17. 31 May, 2016 1 commit
  18. 29 May, 2016 5 commits
  19. 19 May, 2016 1 commit
  20. 16 May, 2016 1 commit
  21. 13 May, 2016 2 commits
  22. 12 May, 2016 1 commit
  23. 11 May, 2016 1 commit
  24. 09 May, 2016 1 commit
  25. 06 May, 2016 2 commits
  26. 19 Apr, 2016 1 commit
  27. 31 Mar, 2016 1 commit