1. 10 Mar, 2016 1 commit
  2. 01 Mar, 2016 2 commits
  3. 22 Feb, 2016 1 commit
    • Douglas Barbosa Alexandre's avatar
      Merge branch 'tasks' into 'master' · 41f1b3de
      Douglas Barbosa Alexandre authored
      Add Todos
      
      Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/2425
      
      Tasks:
      
      -  Prepare database
       - [X] Create a new table (`todos`)
      - Tasks Queue view
       - [X] Add a number icon showing the number of todos on the top right next to the new and logout button that will redirect the user to the todos page
       - [X] Add a chronological list of todos, with the 'Todos' tab active by default
       - [X] Add a 'Done' button to each todo
       - [x] Add filters (project, author, type, and action)
      - Todos generation
       - [X] When user issue/mr is assgined to someone
       - [x] When user is mentioned on (issues/mr's/comments)
      - Mark todo as `done`
       - [X] When clicks on the 'Done' button
       - [X] When edit issue/mr
       - [X] When left/edit a comment
       - [X] When reassign issue/mr
       - [X] When add/remove labels to issue/mr
       - [X] When issue/mr is closed
       - [X] When mr is merged
       - [X] When added an emoji
       - [X] When changed the issue/mr milestone
      
      * Screenshot:
      
      ![Screenshot_2016-02-20_12.45.57](/uploads/4b2554b1bde25aed3347e1ae41e8e0c0/Screenshot_2016-02-20_12.45.57.png)
      
      See merge request !2817
      41f1b3de
  4. 21 Feb, 2016 1 commit
  5. 19 Feb, 2016 2 commits
  6. 11 Feb, 2016 1 commit
  7. 09 Feb, 2016 2 commits
  8. 08 Feb, 2016 1 commit
  9. 04 Feb, 2016 4 commits
  10. 02 Feb, 2016 3 commits
  11. 01 Feb, 2016 2 commits
  12. 29 Jan, 2016 4 commits
  13. 28 Jan, 2016 1 commit
  14. 20 Jan, 2016 2 commits
  15. 19 Jan, 2016 2 commits
    • Douwe Maan's avatar
    • Yorick Peterse's avatar
      Greatly improve external_issue_tracker performance · b4ee6f57
      Yorick Peterse authored
      This greatly improves the performance of Project#external_issue_tracker
      by moving most of the fields queried in Ruby to the database and letting
      the database handle all logic. Prior to this change the process of
      finding an external issue tracker was along the lines of the following:
      
      1. Load all project services into memory.
      2. Reduce the list to only services where "issue_tracker?" returns true
      3. Reduce the list from step 2 to service where "default?" returns false
      4. Find the first service where "activated?" returns true
      
      This has to two big problems:
      
      1. Loading all services into memory only to reduce the list down to a
         single item later on is a waste of memory (and slow timing wise).
      2. Calling Array#select followed by Array#reject followed by Array#find
         allocates extra objects when this really isn't needed.
      
      To work around this the following service fields have been moved to the
      database (instead of being hardcoded):
      
      * category
      * default
      
      This in turn means we can get the external issue tracker using the
      following query:
      
          SELECT *
          FROM services
          WHERE active IS TRUE
          AND default IS FALSE
          AND category = 'issue_tracker'
          AND project_id = XXX
          LIMIT 1
      
      This coupled with memoizing the result (just as before this commit)
      greatly reduces the time it takes for Project#external_issue_tracker to
      complete. The exact reduction depends on one's environment, but locally
      the execution time is reduced from roughly 230 ms to only 2 ms (= a
      reduction of almost 180x).
      
      Fixes gitlab-org/gitlab-ce#10771
      b4ee6f57
  16. 18 Jan, 2016 2 commits
  17. 14 Jan, 2016 9 commits