1. 12 Apr, 2019 2 commits
  2. 11 Apr, 2019 2 commits
    • Patrick Bajao's avatar
      Revert "Merge branch '24704-download-repository-path' into 'master'" · 2c90707ad997
      Patrick Bajao authored
      This reverts commit 6c75bd015cba181f028bc87c396c3d8e43b5dc3e, reversing
      changes made to 1be7f5aaa38aba79843eae8835be6c99c025e982.
    • Thong Kuah's avatar
      Align UrlValidator to validate_url gem implementation. · 77da24aaafd6
      Thong Kuah authored
      Renamed UrlValidator to AddressableUrlValidator to avoid 'url:' naming collision with ActiveModel::Validations::UrlValidator in 'validates' statement.
      Make use of the options attribute of the parent class ActiveModel::EachValidator.
      Add more options: allow_nil, allow_blank, message.
      Renamed 'protocols' option to 'schemes' to match the option naming from UrlValidator.
  3. 10 Apr, 2019 3 commits
  4. 09 Apr, 2019 4 commits
  5. 08 Apr, 2019 2 commits
  6. 06 Apr, 2019 1 commit
  7. 05 Apr, 2019 5 commits
  8. 04 Apr, 2019 10 commits
    • Thong Kuah's avatar
      Switch to Object.const_get · 6ad0f32ddc8b
      Thong Kuah authored
      As we get error with Kernel.const_get(..., false)
       uninitialized constant Kernel::Gitlab
      Kernel is included into Object. I guess top level constants are loaded
      into Object and not the Kernel module.
    • Francisco Javier López's avatar
      Renamed terminal_specification to channel_specification · 85eb8ebdec94
      Francisco Javier López authored
      We're moving from using terminology related to terminals when
      we refer to Websockets connections in Workhorse.
      It's more appropiate a concept like channel.
    • Reuben Pereira's avatar
      Allow reactive caching to be used in services · 0efcdec87265
      Reuben Pereira authored
      Add support for defining a reactive_cache_worker_finder function
      that will be used by the reactive_caching_worker to generate/initialize
      the calling object. This allows reactive caching to work with Services
      where the object cannot be obtained from DB but a new object can be
    • Igor's avatar
      Allow to sort wiki pages by date and title · 1c4d42d2ab23
      Igor authored
      - Add controls for sorting by title and date
      - Execute Gitaly call which now accepts sorting params for wikis
    • Gosia Ksionek's avatar
      Add cr remarks · 08860a8d4347
      Gosia Ksionek authored
      Chnage method used in model to make it
      more efficient database-wise
      Add additional spec
    • Sean McGivern's avatar
      Extend CTE search optimisation to projects · 6a5ac2ef25dd
      Sean McGivern authored
      When we use the `search` param on an `IssuableFinder`, we can run into
      issues. We have trigram indexes to support these searches. On
      GitLab.com, we often see Postgres's optimiser prioritise the (global)
      trigram indexes over the index on `project_id`. For group and project
      searches, we know that it will be quicker to filter by `project_id`
      first, as it returns fewer rows in most cases.
      For group issues search, we ran into this issue previously, and went
      through the following iterations:
      1. Use a CTE on the project IDs as an optimisation fence. This prevents
         the planner from disregarding the index on `project_id`.
         Unfortunately it breaks some types of sorting, like priority and
         popularity, as they sort on a joined table.
      2. Use a subquery for listing issues, and a CTE for counts. The subquery
         - in the case of group lists - didn't help as much as the CTE, but
         was faster than not including it. We can safely use a CTE for counts
         as they don't have sorting.
      Now, however, we're seeing the same issue in a project context. The
      subquery doesn't help at all there (it would only return one row, after
      all). In an attempt to keep total code complexity under control, this
      commit removes the subquery optimisation and applies the CTE
      optimisation only for sorts we know that are safe.
      This means that for more complicated sorts (like priority and
      popularity), the search will continue to be very slow. If this is a
      high-priority issue, we can consider introducing further optimisations,
      but this finder is already very complicated and additional complexity
      has a cost.
      The group CTE optimisation is controlled by the same feature flag as
      before, `attempt_group_search_optimizations`, which is enabled by
      default. The new project CTE optimisation is controlled by a new feature
      flag, `attempt_project_search_optimizations`, which is disabled by
    • Shinya Maeda's avatar
      Drop legacy artifacts usage · 4935512e1fb1
      Shinya Maeda authored
      Legacy artifacts have been correctly migrated to new place -
      ci_job_artifacts. Now it's time to remove the related code, but before
      that we should ensure it doesn't break anything by using feature flag.
    • Thong Kuah's avatar
      Do not inherit when calling const_get · b4605ed72c58
      Thong Kuah authored
      Otherwise we will get really confusing behavior in development
      environment (where eager_load is false) where it attempts to load
      `Prometheus::Queries::EnvironmentQuery` when query_class_name is
      `Gitlab::Prometheus::Queries::EnvironmentQuery`, the `Prometheus` module
      is loaded from a gem but not anything in `Gitlab::Prometheus`.
    • Rémy Coutable's avatar
    • Jan Provaznik's avatar
      [backend] backport of scoped labels · 175cc6283d7d
      Jan Provaznik authored
      Scoped labels in EE require additional changes in CE code.
  9. 03 Apr, 2019 3 commits
  10. 02 Apr, 2019 6 commits
  11. 01 Apr, 2019 2 commits