Skip to content
Snippets Groups Projects
  1. Jul 30, 2018
    • Bob Van Landuyt's avatar
      Show the status of a user in interactions · f1d3ea63
      Bob Van Landuyt authored
      The status is shown for
      - The author of a commit when viewing a commit
      - Notes on a commit (regular/diff)
      - The user that triggered a pipeline when viewing a pipeline
      - The author of a merge request when viewing a merge request
      - The author of notes on a merge request (regular/diff)
      - The author of an issue when viewing an issue
      - The author of notes on an issue
      - The author of a snippet when viewing a snippet
      - The author of notes on a snippet
      - A user's profile page
      - The list of members of a group/user
      f1d3ea63
  2. Mar 07, 2018
    • Jan Provaznik's avatar
      Add discussion API · dcdfa04b
      Jan Provaznik authored
      * adds basic discussions API for issues and snippets
      * reorganizes notes specs (so same tests can be used for all noteable types - issues, MRs, snippets)
      dcdfa04b
  3. Feb 09, 2018
    • Douwe Maan's avatar
      Merge branch... · 5e9e5692
      Douwe Maan authored
      Merge branch 'security-10-4-25223-snippets-finder-doesnt-obey-feature-visibility' into 'security-10-4'
      
      [Port for security-10-4]: Makes SnippetFinder ensure feature visibility
      5e9e5692
  4. Feb 02, 2018
  5. Nov 27, 2017
  6. Nov 24, 2017
  7. Nov 23, 2017
  8. Aug 31, 2017
    • Sean McGivern's avatar
      `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.
      5883ce95
  9. Jul 06, 2017
    • Yorick Peterse's avatar
      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).
      Verified
      8fbbf41e
  10. Jul 05, 2017
  11. May 31, 2017
  12. May 10, 2017
  13. May 04, 2017
  14. Apr 30, 2017
  15. Apr 05, 2017
  16. Mar 21, 2017
  17. Mar 02, 2017
  18. Feb 02, 2017
    • Sean McGivern's avatar
      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.
      c63194ce
    • Sean McGivern's avatar
      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.
      f799585c
  19. Jan 03, 2017
  20. Dec 06, 2016
  21. Dec 02, 2016
  22. Nov 21, 2016
  23. Oct 07, 2016
    • Nick Thomas's avatar
      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.
      e94cd6fd
  24. Sep 19, 2016
  25. Jun 27, 2016
  26. Jun 22, 2016
  27. Jun 08, 2016
    • Alejandro Rodríguez's avatar
      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`.
      ad83c308
  28. Jun 03, 2016
  29. Jun 01, 2016
    • Yorick Peterse's avatar
      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.
      Unverified
      580d2501
  30. May 09, 2016
  31. May 06, 2016
  32. Apr 28, 2016
  33. Apr 01, 2016
  34. Mar 11, 2016
Loading