An error occurred fetching the project authors.
  1. 31 May, 2016 1 commit
  2. 24 May, 2016 5 commits
  3. 10 May, 2016 1 commit
  4. 09 May, 2016 1 commit
  5. 06 May, 2016 1 commit
  6. 20 Apr, 2016 5 commits
  7. 19 Apr, 2016 1 commit
  8. 02 Apr, 2016 1 commit
  9. 30 Mar, 2016 1 commit
  10. 21 Mar, 2016 1 commit
  11. 19 Mar, 2016 2 commits
  12. 15 Mar, 2016 2 commits
    • Rémy Coutable's avatar
      Improving the original label-subscribing implementation · 54ec7e95
      Rémy Coutable authored
      1. Make the "subscribed" text in Issuable sidebar reflect the labels
         subscription status
      
      2. Current user mut be logged-in to toggle issue/MR/label subscription
      54ec7e95
    • Timothy Andrew's avatar
      Original implementation to allow users to subscribe to labels · 0444fa56
      Timothy Andrew authored
      1. Allow subscribing (the current user) to a label
      
      - Refactor the `Subscription` coffeescript class
        - The main change is that it accepts a container, and conducts all
          DOM queries within its scope. We need this because the labels
          page has multiple instances of `Subscription` on the same page.
      
      2. Creating an issue or MR with labels notifies users subscribed to those labels
      
      - Label `has_many` subscribers through subscriptions.
      
      3. Adding a label to an issue or MR notifies users subscribed to those labels
      
      - This only applies to subscribers of the label that has just been
        added, not all labels for the issue.
      0444fa56
  13. 11 Mar, 2016 1 commit
  14. 07 Mar, 2016 1 commit
  15. 05 Mar, 2016 1 commit
  16. 02 Mar, 2016 1 commit
  17. 22 Feb, 2016 2 commits
  18. 17 Feb, 2016 1 commit
  19. 16 Feb, 2016 1 commit
  20. 15 Feb, 2016 1 commit
    • Rémy Coutable's avatar
      Fix the "x of y" displayed at the top of Issuables' sidebar · 54613b6a
      Rémy Coutable authored
      1. We now display the index of the current issuable among all its project's
      issuables, of the same type and with the same state.
      2. Also, refactored a bit the Issuable helpers into a new IssuablesHelper
      module.
      3. Added acceptance specs for the sidebar counter.
      54613b6a
  21. 11 Feb, 2016 1 commit
    • Kirill Zaitsev's avatar
      Add new data to project in push, issue, merge-request and note webhooks data · b123171d
      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
      b123171d
  22. 10 Feb, 2016 1 commit
  23. 09 Jan, 2016 1 commit
  24. 28 Dec, 2015 1 commit
  25. 24 Dec, 2015 1 commit
  26. 26 Nov, 2015 1 commit
  27. 21 Nov, 2015 1 commit
  28. 20 Nov, 2015 1 commit
  29. 19 Nov, 2015 1 commit
    • Yorick Peterse's avatar
      Use a JOIN in IssuableFinder#by_project · 8591cc02
      Yorick Peterse authored
      When using IssuableFinder/IssuesFinder to find issues for multiple
      projects it's more efficient to use a JOIN + a "WHERE project_id IN"
      condition opposed to running a sub-query.
      
      This change means that when finding issues without labels we're now
      using the following SQL:
      
          SELECT issues.*
          FROM issues
          JOIN projects ON projects.id = issues.project_id
      
          LEFT JOIN label_links ON label_links.target_type = 'Issue'
                                AND label_links.target_id  = issues.id
      
          WHERE (
              projects.id IN (...)
              OR projects.visibility_level IN (20, 10)
          )
          AND issues.state IN ('opened','reopened')
          AND label_links.id IS NULL
          ORDER BY issues.id DESC;
      
      instead of:
      
          SELECT issues.*
          FROM issues
          LEFT JOIN label_links ON label_links.target_type = 'Issue'
                                AND label_links.target_id  = issues.id
      
          WHERE issues.project_id IN (
              SELECT id
              FROM projects
              WHERE id IN (...)
              OR visibility_level IN (20,10)
          )
          AND issues.state IN ('opened','reopened')
          AND label_links.id IS NULL
          ORDER BY issues.id DESC;
      
      The big benefit here is that in the last case PostgreSQL can't properly
      use all available indexes. In particular it ends up performing a
      sequence scan on the "label_links" table (processing around 290 000
      rows). The new query is roughly 2x as fast as the old query.
      8591cc02