Read about our upcoming Code of Conduct on this issue

  1. 06 Dec, 2016 1 commit
  2. 17 Nov, 2016 2 commits
  3. 09 Nov, 2016 1 commit
  4. 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
  5. 28 Oct, 2016 1 commit
  6. 01 Jul, 2016 1 commit
  7. 23 Jun, 2016 1 commit
    • Sean McGivern's avatar
      Fix pagination on sorts with lots of ties · 8f667bd25b23
      Sean McGivern authored
      Postgres and MySQL don't guarantee that pagination with `LIMIT` and
      `OFFSET` will work if the ordering isn't unique. From the Postgres docs:
      
      > When using `LIMIT`, it is important to use an `ORDER BY` clause that
      > constrains the result rows into a unique order. Otherwise you will get
      > an unpredictable subset of the query's rows
      
      Before:
      
          [1] pry(main)> issues = 1.upto(Issue.count).map { |i| Issue.sort('priority').page(i).per(1).map(&:id) }.flatten
          [2] pry(main)> issues.count
          => 81
          [3] pry(main)> issues.uniq.count
          => 42
      
      After:
      
          [1] pry(main)> issues = 1.upto(Issue.count).map { |i| Issue.sort('priority').page(i).per(1).map(&:id) }.flatten
          [2] pry(main)> issues.count
          => 81
          [3] pry(main)> issues.uniq.count
          => 81
      8f667bd25b23
  8. 08 Jun, 2016 1 commit
    • Alejandro Rodríguez's avatar
      Fix pseudo n+1 queries with Note and Note Authors in issuables APIs · f2b94053dcdf
      Alejandro Rodríguez authored
      This was not a clear cut n+1 query, given that if you're directly subscribed to all issues
      that the API is returning you never really need to check for the notes. However, if you're
      subscribed to _all_ of them, then for each issuable you need to go once to `notes`, and
      once to `users` (for the authors). By preemtively loading notes and authors, at worst you have
      1 extra query, and at best you saved 2n extra queries. We also took advantage of this preloading
      of notes when counting user notes.
      f2b94053dcdf
  9. 03 Jun, 2016 2 commits
  10. 02 Jun, 2016 1 commit
    • Paco Guzman's avatar
      issuable#labels_array explicitly load the labels · 7e9bcd25e231
      Paco Guzman authored
      This will be useful when you want to ask for the 
      number of items and later iterate over them, without 
      needing to ask if the association is load or not.
      
      So you avoid extra database queries
      7e9bcd25e231
  11. 31 May, 2016 1 commit
  12. 29 May, 2016 2 commits
  13. 24 May, 2016 5 commits
  14. 12 May, 2016 1 commit
  15. 11 May, 2016 1 commit
  16. 10 May, 2016 1 commit
  17. 06 May, 2016 1 commit
  18. 21 Apr, 2016 2 commits
  19. 20 Apr, 2016 3 commits
  20. 30 Mar, 2016 1 commit
  21. 15 Mar, 2016 1 commit
  22. 11 Mar, 2016 2 commits
  23. 22 Feb, 2016 2 commits
  24. 11 Feb, 2016 1 commit
    • Kirill Zaitsev's avatar
      Add new data to project in push, issue, merge-request and note webhooks data · c6ea19b483b0
      Kirill Zaitsev authored
      - Add `avatar_url`, `description`, `git_ssh_url`, `git_http_url`,
        `path_with_namespace` and `default_branch` in `project` in push, issue,
        merge-request and note webhooks data
      - Deprecate the `ssh_url` in favor of `git_ssh_url` and `http_url` in
        favor of `git_http_url` in `project` for push, issue, merge-request and
        note webhooks data
      - Deprecate the `repository` key in push, issue, merge-request and
        note webhooks data, use `project` instead
      c6ea19b483b0
  25. 10 Feb, 2016 1 commit
  26. 28 Dec, 2015 1 commit
  27. 25 Dec, 2015 1 commit
  28. 24 Dec, 2015 1 commit