BigW Consortium Gitlab

  1. 31 Aug, 2017 1 commit
    • `current_application_settings` belongs on `Gitlab::CurrentSettings` · 5883ce95
      Sean McGivern authored
      The initializers including this were doing so at the top level, so every object
      loaded after them had a `current_application_settings` method. However, if
      someone had rack-attack enabled (which was loaded before these initializers), it
      would try to load the API, and fail, because `Gitlab::CurrentSettings` didn't
      have that method.
      
      To fix this:
      
      1. Don't include `Gitlab::CurrentSettings` at the top level. We do not need
         `Object.new.current_application_settings` to work.
      2. Make `Gitlab::CurrentSettings` explicitly `extend self`, as we already use it
         like that in several places.
      3. Change the initializers to use that new form.
  2. 06 Jul, 2017 1 commit
    • Added Cop to blacklist the use of `dependent:` · 8fbbf41e
      Yorick Peterse authored
      This is allowed for existing instances so we don't end up 76 offenses
      right away, but for new code one should _only_ use this if they _have_
      to remove non database data. Even then it's usually better to do this in
      a service class as this gives you more control over how to remove the
      data (e.g. in bulk).
  3. 05 Jul, 2017 1 commit
  4. 31 May, 2017 2 commits
  5. 10 May, 2017 1 commit
  6. 04 May, 2017 1 commit
  7. 30 Apr, 2017 1 commit
  8. 05 Apr, 2017 1 commit
  9. 21 Mar, 2017 1 commit
  10. 02 Mar, 2017 1 commit
  11. 02 Feb, 2017 2 commits
    • Check public snippets for spam · c63194ce
      Sean McGivern authored
      Apply the same spam checks to public snippets (either personal snippets
      that are public, or public snippets on public projects) as to issues on
      public projects.
    • Keep snippet visibility on error · f799585c
      Sean McGivern authored
      When a snippet is submitted, but there's an error, we didn't keep the
      visibility level. As the default is private, this means that submitting
      a public snippet that failed would then fall back to being a private
      snippet.
  12. 03 Jan, 2017 1 commit
  13. 06 Dec, 2016 1 commit
  14. 02 Dec, 2016 1 commit
  15. 21 Nov, 2016 1 commit
  16. 07 Oct, 2016 1 commit
    • Add markdown cache columns to the database, but don't use them yet · e94cd6fd
      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.
  17. 19 Sep, 2016 1 commit
  18. 27 Jun, 2016 2 commits
  19. 22 Jun, 2016 2 commits
  20. 08 Jun, 2016 1 commit
    • Remove `projects` inclusion in `notes_with_associations` to skip some unnecessary queries · ad83c308
      Alejandro Rodríguez authored
      `notes_with_associations` are used for `participant` declarations, but `Participable`
      only really cares about the target entity project, and not the participants
      projects.
      
      `notes_with_associations` are also used in `Commit::has_been_reverted?` which
      employs the reference extractor of the commit, so no references to the notes
      projects are made there (`Mentionable::all_references` cares only about the
      `author` and other `attr_mentionable`). A paralel situation occurs on
      `Issue::referenced_merge_requests`.
  21. 03 Jun, 2016 2 commits
  22. 01 Jun, 2016 1 commit
    • 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.
  23. 09 May, 2016 1 commit
    • Remove the annotate gem and delete old annotations · f1479b56
      Jeroen van Baarsen authored
      In 8278b763 the default behaviour of annotation
      has changes, which was causing a lot of noise in diffs. We decided in #17382
      that it is better to get rid of the whole annotate gem, and instead let people
      look at schema.rb for the columns in a table.
      
      Fixes: #17382
  24. 06 May, 2016 1 commit
  25. 28 Apr, 2016 1 commit
  26. 01 Apr, 2016 1 commit
  27. 11 Mar, 2016 2 commits
  28. 05 Mar, 2016 1 commit
  29. 01 Dec, 2015 1 commit
  30. 30 Nov, 2015 1 commit
  31. 19 Jun, 2015 1 commit
  32. 26 May, 2015 3 commits