1. 01 3月, 2019 1 次提交
    • R
      Refactor model and spec · 43e713eb
      Reuben Pereira 提交于
      - Move some specs into contexts
      - Let get_slugs method take a parameter and return a specific slug.
      - Add rescues when using Addressable::URI.
      43e713eb
  2. 27 2月, 2019 1 次提交
    • J
      Add project http fetch statistics API · 5ae9a44a
      Jacopo 提交于
      The API get projects/:id/traffic/fetches allows user with write
      access to the repository to get the number of clones for the
      last 30 days.
      5ae9a44a
  3. 25 2月, 2019 3 次提交
  4. 23 2月, 2019 1 次提交
  5. 20 2月, 2019 1 次提交
  6. 18 2月, 2019 1 次提交
    • R
      Fix Projects::MergeRequests::DiffsController specs · 45ce5ff7
      Rémy Coutable 提交于
      These specs were flaky and only passing after a retry due to how
      rspec-retry works.
      
      1. The test with paths that don't exist was returning 200 on the first
        try, then 404 on the second, not because the paths don't exist, but
        because the MR IID didn't change, thus the MR couldn't be found.
        I decided to remove the test entirely since we don't seem to return
        404 for paths that don't exist.
      2. The test with a user that cannot view the merge request was failing
        the first time because the project owner wasn't removed with
        `project.team.truncate`.
        Changing the `let(:user)` to `create(:user)` and calling
        `project.add_maintainer(user)` in the `before` block fix the test.
      Signed-off-by: NRémy Coutable <remy@rymai.me>
      45ce5ff7
  7. 14 2月, 2019 1 次提交
  8. 12 2月, 2019 2 次提交
  9. 08 2月, 2019 1 次提交
  10. 07 2月, 2019 3 次提交
  11. 06 2月, 2019 2 次提交
  12. 05 2月, 2019 2 次提交
  13. 31 1月, 2019 7 次提交
    • K
      d4c72147
    • N
      Verify that LFS upload requests are genuine · 5b075413
      Nick Thomas 提交于
      LFS uploads are handled in concert by workhorse and rails. In normal
      use, workhorse:
      
      * Authorizes the request with rails (upload_authorize)
      * Handles the upload of the file to a tempfile - disk or object storage
      * Validates the file size and contents
      * Hands off to rails to complete the upload (upload_finalize)
      
      In `upload_finalize`, the LFS object is linked to the project. As LFS
      objects are deduplicated across all projects, it may already exist. If
      not, the temporary file is copied to the correct place, and will be
      used by all future LFS objects with the same OID.
      
      Workhorse uses the Content-Type of the request to decide to follow this
      routine, as the URLs are ambiguous. If the Content-Type is anything but
      "application/octet-stream", the request is proxied directly to rails,
      on the assumption that this is a normal file edit request. If it's an
      actual LFS request with a different content-type, however, it is routed
      to the Rails `upload_finalize` action, which treats it as an LFS upload
      just as it would a workhorse-modified request.
      
      The outcome is that users can upload LFS objects that don't match the
      declared size or OID. They can also create links to LFS objects they
      don't really own, allowing them to read the contents of files if they
      know just the size or OID.
      
      We can close this hole by requiring requests to `upload_finalize` to be
      sourced from Workhorse. The mechanism to do this already exists.
      5b075413
    • G
      7327fb4a
    • G
      084b7edb
    • H
      Use common error for unauthenticated users · 65eb988d
      Heinrich Lee Yu 提交于
      Removes special error message when creating new issues
      65eb988d
    • B
      Added 'handle_update_task' for new task handling · 10649c49
      Brett Walker 提交于
      10649c49
    • B
      Pass down the new state of the checkbox · 58a005cf
      Brett Walker 提交于
      and whitelist the `update_task` parameter
      58a005cf
  14. 30 1月, 2019 2 次提交
  15. 29 1月, 2019 1 次提交
    • M
      Save sorting preference for Issues/MRs in BE · 49c74068
      Mario de la Ossa 提交于
      In order to let users' sorting preferences transfer between devices, we
      save the preference for issues and MRs (one preference for issues, one
      for MRs) in the backend inside the UserPreference object
      49c74068
  16. 28 1月, 2019 2 次提交
  17. 25 1月, 2019 1 次提交
    • J
      Adds milestone search · 22eb2e4c
      Jacopo 提交于
      Adds to search ILIKE search for milestones title in:
        - Milestones dashboard
        - Group milestones page
        - Project milestones page
      22eb2e4c
  18. 24 1月, 2019 1 次提交
  19. 23 1月, 2019 1 次提交
    • N
      Verify that LFS upload requests are genuine · 87c5abfc
      Nick Thomas 提交于
      LFS uploads are handled in concert by workhorse and rails. In normal
      use, workhorse:
      
      * Authorizes the request with rails (upload_authorize)
      * Handles the upload of the file to a tempfile - disk or object storage
      * Validates the file size and contents
      * Hands off to rails to complete the upload (upload_finalize)
      
      In `upload_finalize`, the LFS object is linked to the project. As LFS
      objects are deduplicated across all projects, it may already exist. If
      not, the temporary file is copied to the correct place, and will be
      used by all future LFS objects with the same OID.
      
      Workhorse uses the Content-Type of the request to decide to follow this
      routine, as the URLs are ambiguous. If the Content-Type is anything but
      "application/octet-stream", the request is proxied directly to rails,
      on the assumption that this is a normal file edit request. If it's an
      actual LFS request with a different content-type, however, it is routed
      to the Rails `upload_finalize` action, which treats it as an LFS upload
      just as it would a workhorse-modified request.
      
      The outcome is that users can upload LFS objects that don't match the
      declared size or OID. They can also create links to LFS objects they
      don't really own, allowing them to read the contents of files if they
      know just the size or OID.
      
      We can close this hole by requiring requests to `upload_finalize` to be
      sourced from Workhorse. The mechanism to do this already exists.
      87c5abfc
  20. 22 1月, 2019 1 次提交
    • S
      Support flat response for envs index route · db054bc1
      syasonik 提交于
      To support environment folders in the UI on the Environments List
      page, the environments index route previously returned one environment
      per folder, excluding those other than the latest deploy. However, the
      environtments dropdown on the metrics dashboard requires that any
      environment be selectable.
      
      To accommodate both use cases, support an optional 'nested' parameter
      in the index route to return either a flat, complete response or a
      nested response based on the use case in question. The new default
      response structure is the flat response.
      db054bc1
  21. 18 1月, 2019 1 次提交
  22. 17 1月, 2019 1 次提交
  23. 16 1月, 2019 1 次提交
  24. 15 1月, 2019 2 次提交