- 30 Sep, 2016 16 commits
-
-
Rémy Coutable authored
Remove the "soon to be deprecated" `alias_method_chain` in favor of `Module#prepend`. ## Are there points in the code the reviewer needs to double check? Double check whether the behavior of `attr_encrypted_no_db_connection` is still the desired one. ## Why was this MR needed? The `alias_method_chain` becomes deprecated in Rails 5 in favor of the `Module#prepend` introduced in Ruby 2.0. This MR prevents future deprecated warnings in light of a possible Rails version bump. Closes #22302 See merge request !6570
-
Robert Speicher authored
Take filters in account in issuable counters ## What does this MR do? This merge request ensure we display issuable counters that take in account all the selected filters, solving #15356. ## Are there points in the code the reviewer needs to double check? There was an issue (#22414) in the original implementation (!4960) when more than one label was selected because calling `#count` when the ActiveRecordRelation contains a `.group` returns an OrderedHash. This merge request relies on [how Kaminari handle this case](https://github.com/amatsuda/kaminari/blob/master/lib/kaminari/models/active_record_relation_methods.rb#L24-L30). A few things to note: - The `COUNT` query issued by Kaminari for the pagination is now cached because it's already run by `ApplicationHelper#state_filters_text_for`, so in the end we issue one less SQL query than before; - In the case when more than one label are selected, the `COUNT` queries return an OrderedHash in the form `{ ISSUABLE_ID => COUNT_OF_SELECTED_FILTERS }` on which `#count` is called: this drawback is already in place (for instance when loading https://gitlab.com/gitlab-org/gitlab-ce/issues?scope=all&state=all&utf8=%E2%9C%93&label_name%5B%5D=bug&label_name%5B%5D=regression) since that's how Kaminari solves this, **the difference is that now we do that two more times for the two states that are not currently selected**. I will let the ~Performance team decide if that's something acceptable or not, otherwise we will have to find another solution... - The queries that count the # of issuable are a bit more complex than before, from: ``` (0.6ms) SELECT COUNT(*) FROM "issues" WHERE "issues"."deleted_at" IS NULL AND "issues"."project_id" = $1 AND ("issues"."state" IN ('opened','reopened')) [["project_id", 2]] (0.2ms) SELECT COUNT(*) FROM "issues" WHERE "issues"."deleted_at" IS NULL AND "issues"."project_id" = $1 AND ("issues"."state" IN ('closed')) [["project_id", 2]] (0.2ms) SELECT COUNT(*) FROM "issues" WHERE "issues"."deleted_at" IS NULL AND "issues"."project_id" = $1 [["project_id", 2]] ``` to ``` (0.7ms) SELECT COUNT(*) AS count_all, "issues"."id" AS issues_id FROM "issues" INNER JOIN "label_links" ON "label_links"."target_id" = "issues"."id" AND "label_links"."target_type" = $1 INNER JOIN "labels" ON "labels"."id" = "label_links"."label_id" WHERE "issues"."deleted_at" IS NULL AND ("issues"."state" IN ('opened','reopened')) AND "issues"."project_id" = 2 AND "labels"."title" IN ('bug', 'discussion') AND "labels"."project_id" = 2 GROUP BY "issues"."id" HAVING COUNT(DISTINCT labels.title) = 2 [["target_type", "Issue"]] (0.5ms) SELECT COUNT(*) AS count_all, "issues"."id" AS issues_id FROM "issues" INNER JOIN "label_links" ON "label_links"."target_id" = "issues"."id" AND "label_links"."target_type" = $1 INNER JOIN "labels" ON "labels"."id" = "label_links"."label_id" WHERE "issues"."deleted_at" IS NULL AND ("issues"."state" IN ('closed')) AND "issues"."project_id" = 2 AND "labels"."title" IN ('bug', 'discussion') AND "labels"."project_id" = 2 GROUP BY "issues"."id" HAVING COUNT(DISTINCT labels.title) = 2 [["target_type", "Issue"]] (0.5ms) SELECT COUNT(*) AS count_all, "issues"."id" AS issues_id FROM "issues" INNER JOIN "label_links" ON "label_links"."target_id" = "issues"."id" AND "label_links"."target_type" = $1 INNER JOIN "labels" ON "labels"."id" = "label_links"."label_id" WHERE "issues"."deleted_at" IS NULL AND "issues"."project_id" = 2 AND "labels"."title" IN ('bug', 'discussion') AND "labels"."project_id" = 2 GROUP BY "issues"."id" HAVING COUNT(DISTINCT labels.title) = 2 [["target_type", "Issue"]] ``` - We could cache the counters for a few minutes? The key could be `PROJECT_ID-ISSUABLE_TYPE-PARAMS`. A few possible arguments in favor of "it's an acceptable solution": - most of the time people filter with a single label => no performance problem here - when filtering with more than one label, usually the result set is reduced, limiting the performance issues ## What are the relevant issue numbers? Closes #15356 See merge request !6496
-
Robert Speicher authored
Expose the Koding application settings in the API ## Why was this MR needed? When saving the GitLab application secrets in Koding, and authorising your admin user to have access to the UI, we want to let Koding enable the integration, and populate the url in GitLab for the user. ## What are the relevant issue numbers? Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/22705 See merge request !6555
-
Andre Guedes authored
-
Andre Guedes authored
-
Valery Sizov authored
Revert to use Mounter method to check existence ## What does this MR do? Revert a change on gitlab-ce that we never get into gitlab-ee due to spec failures and a lack of a proper solution. So we want to keep both repos in the same codebase about this. ## Are there points in the code the reviewer needs to double check? ## Why was this MR needed? ## Screenshots (if relevant) ## Does this MR meet the acceptance criteria? - [ ] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added - [ ] [Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md) - [ ] API support added - Tests - [ ] Added for this feature/bug - [ ] All builds are passing - [ ] Conform by the [merge request performance guides](http://docs.gitlab.com/ce/development/merge_request_performance_guidelines.html) - [ ] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides) - [ ] Branch has no merge conflicts with `master` (if you do - rebase it please) - [ ] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits) ## What are the relevant issue numbers? Closes #22768 See merge request !6590
-
Rémy Coutable authored
Signed-off-by: Rémy Coutable <remy@rymai.me>
-
Rémy Coutable authored
Signed-off-by: Rémy Coutable <remy@rymai.me>
-
Rémy Coutable authored
Signed-off-by: Rémy Coutable <remy@rymai.me>
-
Rémy Coutable authored
This MR fixes a bug that unnecessary escapes reserved HTML characters for Milestone's title. See #22452. ## Are there points in the code the reviewer needs to double check? - Unescaping of sanitized milestone title before it is being stored in the database. See `Milestone#title` and a private method called `Milestone#sanitize_title` - Sufficient tests were added (Model and API tests were modified/added). ## Why was this MR needed? To allow reserved HTML characters in a milestone's title, such as "PHP migration 5.6 -> 7.0". The text appears in 'milestones' and in a dropdown during issue creation, issue list, and in another dropdown for issue filter. Closes #22452 See merge request !6533
-
Rémy Coutable authored
Closes todos for a merge request when the MR is accepted via the API by the MR assignee. ## Are there points in the code the reviewer needs to double check? Please review refresh service test changes to see if they are correct - I think in those cases, the todos should actually be cleared instead of left pending. ## Why was this MR needed? To make the API behavior consistent with the UI behavior (accepting your own MRs closes the todo item and prevents them from piling up). Closes #22477 See merge request !6486
-
Douwe Maan authored
New `AccessRequestsFinder` Part of #21979. ## Does this MR meet the acceptance criteria? - [x] API support added - Tests - [x] Added for this feature/bug - [x] All builds are passing - [ ] Conform by the [merge request performance guides](http://docs.gitlab.com/ce/development/merge_request_performance_guidelines.html) - [ ] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides) - [x] Branch has no merge conflicts with `master` (if you do - rebase it please) - [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits) See merge request !6268
-
Paco Guzman authored
See: https://gitlab.com/gitlab-org/gitlab-ce/commit/6280fd3777920670ee42111fddf29576cbf85988#note_14766241 We wanted to avoid accesses to the file system, because it seems reasonable that if the mounter column has some content it’s because there are an associate file. This is an speed boost when you access to a bunch of build instances to show their information. The problem is that solution doesn’t work if you uses that method to detect the thing and you’re changing the uploaded file on instances that had that column empty. Until you don’t persist the instance the database column will be empty so we can have false negatives
-
Makoto Scott-Hinkle authored
-
Makoto Scott-Hinkle authored
Merge remote-tracking branch 'origin/22452-milestone-title-unnecessary-escaping-fix' into 22452-milestone-title-unnecessary-escaping-fix
-
Makoto Scott-Hinkle authored
Updating test value for milestone title Adding API test for title with reserved HTML characters. Updating changelog Adding the MR number for fixing bug #22452. removing duplicate line Updating MR number.
-
- 29 Sep, 2016 24 commits
-
-
Patricio Cano authored
Fix race condition on LFS Token ## What does this MR do? Fixes a race condition that can be triggered if the token expires right after we retrieve it, but before we can set the new expiry time. https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/6551#note_16190569 Thanks for catching this so quickly @jacobvosmaer-gitlab cc @DouweM See merge request !6592
-
Ruben Davila authored
-
Annabel Dunstone Gray authored
Right-align dropdown menus to prevent horizontal page overflow Added `dropdown-menu-align-right` class to a few dropdown menus in the Projects -> Explore -> All page to prevent overflow. Closes #22632 See merge request !6600
-
Tony Gambone authored
-
Mike Greiling authored
-
Rémy Coutable authored
-
Rémy Coutable authored
[ci skip] Signed-off-by: Rémy Coutable <remy@rymai.me>
-
Rémy Coutable authored
Fix broken repo errors in the UI This should prevent repo errors (or 404s) in the UI, together with https://gitlab.com/gitlab-org/gitlab_git/merge_requests/124 The `exists?` cache is now expired if the repo gets broken. Related MR: https://gitlab.com/gitlab-org/gitlab_git/merge_requests/124 Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/20501 See merge request !6491
-
DJ Mountney authored
This will allow the Koding app to enable the integration itself once is has authorized an admin user using the application secrets.
-
Patricio Cano authored
Fix race condition that can be triggered if the token expires right after we retrieve it, but before we can set the new expiry time.
-
Achilleas Pipinellis authored
Fix grammar and typos in Runners pages _Originally opened at !1791 by @axil._ - - - ## Does this MR meet the acceptance criteria? - [ ] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added - [ ] [Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md) - [ ] API support added - Tests - [ ] Added for this feature/bug - [ ] All builds are passing - [ ] Conform by the [merge request performance guides](http://docs.gitlab.com/ce/development/merge_request_performance_guidelines.html) - [ ] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides) - [ ] Branch has no merge conflicts with `master` (if you do - rebase it please) - [ ] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits) See merge request !6547
-
James Lopez authored
-
Fatih Acet authored
Fixes long commit messages overflow viewport in file tree ## What does this MR do? Fixes long commit messages breaking the table. It adds back a max-width in `pixels` instead of `%`. ## Are there points in the code the reviewer needs to double check? No. ## Why was this MR needed? To fix the overflow of the commit message ## Screenshots (if relevant) ![max_width](/uploads/73af2ffbab29bf6e9bbd9287e9e142a0/max_width.png) ## Does this MR meet the acceptance criteria? - [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added - [ ] [Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md) - [ ] API support added - Tests - [ ] Added for this feature/bug - [ ] All builds are passing - [x] Conform by the [merge request performance guides](http://docs.gitlab.com/ce/development/merge_request_performance_guidelines.html) - [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides) - [x] Branch has no merge conflicts with `master` (if you do - rebase it please) - [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits) ## What are the relevant issue numbers? Fixes #22544 See merge request !6573
-
Filipa Lacerda authored
-
Robert Speicher authored
Fix double CHANGELOG header for 8.13 [ci skip] See merge request !6593
-
Luke "Jared" Bennett authored
-
Rémy Coutable authored
Expose project share expiration_date field on API closes #22382 See merge request !6484
-
Annabel Dunstone Gray authored
Remove instances of HTML5 input type="color" due to inconsistent browser support ## What does this MR do? `<input type="color" />` renders differently across browsers. Reverting to `type="text"` where necessary. ## Screenshots (if relevant) Safari (top) vs Chrome (bottom) ![Screen_Shot_2016-09-28_at_11.53.02_AM](/uploads/f967ed988320cbd2e4357cdfcfe7a813/Screen_Shot_2016-09-28_at_11.53.02_AM.png) See merge request !6576
-
Robert Speicher authored
Upgrade Devise from 4.1.1 to 4.2.0. This fixes an issue with Rails 5 and brings us up-to-date with the latest Devise release. It also deprecates `Devise::TestHelpers` in favor of `Devise::Test::ControllerHelpers`. Changelog: https://github.com/plataformatec/devise/blob/v4.2.0/CHANGELOG.md#420---2016-07-01 Working toward #14286, as always. See merge request !6461
-
Mike Greiling authored
-
Rémy Coutable authored
Use a ConnectionPool for Rails.cache on Sidekiq servers ## What does this MR do? On Sidekiq server we'll use a connection pool to connect to the redis store used for Rails cache. But now we're sure we're not modifying the configuration used on the lazy create Redis connection inside the connection pools. I've create a PR on [redis-activesupport](https://github.com/pacoguzman/redis-activesupport) too. @jacobvosmaer-gitlab make this easier updating the Gitlab::Redis class !6472 Closes #22364 See merge request !6468
-
Fatih Acet authored
Resolve "Resolved comments permanently hidden in Side-by-Side diff view" ## What does this MR do? / Why was this MR needed? Ensures resolved discussions are made visible when clicking "toggle comments" on Side-by-Side view diff pages. ## Does this MR meet the acceptance criteria? - [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added - Tests - [x] All builds are passing - [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides) - [x] Branch has no merge conflicts with `master` (if you do - rebase it please) - [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits) ## What are the relevant issue numbers? Closes #21535 See merge request !6575
-
Mike Greiling authored
-
Mike Greiling authored
-