1. 11 Dec, 2016 2 commits
  2. 08 Dec, 2016 1 commit
  3. 06 Dec, 2016 2 commits
  4. 23 Nov, 2016 1 commit
  5. 21 Nov, 2016 2 commits
  6. 18 Nov, 2016 1 commit
  7. 17 Nov, 2016 4 commits
  8. 11 Nov, 2016 1 commit
  9. 09 Nov, 2016 1 commit
  10. 07 Nov, 2016 1 commit
    • Yorick Peterse's avatar
      Added IssueCollection · 026d0efb30e7
      Yorick Peterse authored
      This class can be used to reduce a list of issues down to a subset based
      on user permissions. This class operates in such a way that it can
      reduce issues using as few queries as possible, if any at all.
      026d0efb30e7
  11. 01 Nov, 2016 1 commit
  12. 28 Oct, 2016 1 commit
  13. 20 Oct, 2016 1 commit
    • Callum Dryden's avatar
      Differentiate the expire from leave event · f0cad1cadc69
      Callum Dryden authored
      At the moment we cannot see weather a user left a project due to their
      membership expiring of if they themselves opted to leave the project.
      This adds a new event type that allows us to make this differentiation.
      Note that is not really feasable to go back and reliably fix up the
      previous events. As a result the events for previous expire removals
      will remain the same however events of this nature going forward will be
      correctly represented.
      f0cad1cadc69
  14. 16 Oct, 2016 1 commit
  15. 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
  16. 04 Oct, 2016 1 commit
    • Paco Guzman's avatar
      Simplify Mentionable concern instance methods · 3deb637c8640
      Paco Guzman authored
      We remove some arguments that are rarely used or 
      used just to simplify setups on specs.
      
      Modified Mentionable#create_new_cross_references method 
      we don’t need to calculate previous references to avoid the 
      duplication because we do that at database level when 
      creating references extracted from the current entity state.
      
      MergeRequests won’t create cross_references for commits that are included so we change a spec to use a different merge request to make references to commits to other branches
      3deb637c8640
  17. 03 Oct, 2016 1 commit
  18. 22 Sep, 2016 2 commits
  19. 15 Sep, 2016 2 commits
  20. 01 Sep, 2016 1 commit
  21. 31 Aug, 2016 1 commit
  22. 25 Aug, 2016 1 commit
  23. 15 Aug, 2016 6 commits
  24. 09 Aug, 2016 1 commit
  25. 08 Aug, 2016 1 commit
    • Yorick Peterse's avatar
      Added concern for a faster "cache_key" method · 8ee5c3177e6d
      Yorick Peterse authored
      This concern provides an optimized/simplified version of the "cache_key"
      method. This method is about 9 times faster than the default "cache_key"
      method.
      
      The produced cache keys _are_ different from the previous ones but this
      is worth the performance improvement. To showcase this I set up a
      benchmark (using benchmark-ips) that compares FasterCacheKeys#cache_key
      with the regular cache_key. The output of this benchmark was:
      
          Calculating -------------------------------------
                     cache_key     4.825k i/100ms
                cache_key_fast    21.723k i/100ms
          -------------------------------------------------
                     cache_key     59.422k (± 7.2%) i/s -    299.150k
                cache_key_fast    543.243k (± 9.2%) i/s -      2.694M
      
          Comparison:
                cache_key_fast:   543243.4 i/s
                     cache_key:    59422.0 i/s - 9.14x slower
      
      To see the impact on real code I applied these changes and benchmarked
      Issue#referenced_merge_requests. For an issue referencing 10 merge
      requests these changes shaved off between 40 and 60 milliseconds.
      8ee5c3177e6d
  26. 29 Jul, 2016 1 commit
    • Yorick Peterse's avatar
      Method for returning issues readable by a user · 6459748a7d00
      Yorick Peterse authored
      The method Ability.issues_readable_by_user takes a list of users and an
      optional user and returns an Array of issues readable by said user. This
      method in turn is used by
      Banzai::ReferenceParser::IssueParser#nodes_visible_to_user so this
      method no longer needs to get all the available abilities just to check
      if a user has the "read_issue" ability.
      
      To test this I benchmarked an issue with 222 comments on my development
      environment. Using these changes the time spent in nodes_visible_to_user
      was reduced from around 120 ms to around 40 ms.
      6459748a7d00
  27. 12 Jul, 2016 1 commit