Commit Graph
25102 Commits
Author SHA1 Message Date
Douwe Maan 0dae842005 Merge branch 'ignore-byebug-history' into 'master'
Ignore .byebug_history

This allows me to use `git add .` without problems and retain all my history of `byebug`

What do you think @DouweM?

See merge request !3145
2016-03-12 13:04:11 +00:00
Douwe Maan 34e8c56236 Merge branch 'fix/token-timing-attack' into 'master'
fix token issue - timing attack

Updates token comparisons to use a secure version instead of `==`

Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/13617

See merge request !3062
2016-03-12 12:14:32 +00:00
Douwe Maan 2b9b07891c Merge branch 'nico-de-ceulaer/gitlab-ce-13865-handle-other-emails-for-avatar-lookup'
# Conflicts:
#	app/helpers/application_helper.rb
2016-03-12 13:12:40 +01:00
Jacob Schatz 491d0ae1c3 Merge branch 'fix_responsive_layout_bug' into 'master'
Fix responsive bug top navigation

Hi,

I have found and fixed a minor layout bug (responsive)

This is the situation before the fix:
![before](/uploads/55bf61a64fb49a763c5f8381bf46d390/before.png)

And this is the situation after the fix:
![after](/uploads/33ba091156d404e52c41f134121c59f0/after.png)

See merge request !3190
2016-03-11 22:58:14 +00:00
Douwe Maan cb81c8a5ef Merge branch 'rs-issue-12944' into 'master'
Use a custom Devise failure app to handle unauthenticated .zip requests

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/12944

See merge request !2828
2016-03-11 22:34:33 +00:00
Robert Speicher 70bf6dc702 Merge branch 'trigram-index-searching' into 'master'
Refactor searching and use PostgreSQL trigram indexes for significantly
improved performance

Related issue: https://gitlab.com/gitlab-org/gitlab-ce/issues/13743.

Also fixes #12410

See merge request !2987
2016-03-11 21:46:07 +00:00
Dennis van de Hoef e932a4164f Fix responsive bug top navigation 2016-03-11 22:34:51 +01:00
Yorick PeterseandRobert Speicher 67143e25a2 More detailed trigram migration error message
This explains the user what they need to run and where to go in case
they want to learn more about "CREATE EXTENSION".
2016-03-11 15:26:32 -05:00
Yorick PeterseandRobert Speicher 4f3fa519c6 Use a UNION in MergeRequest.in_projects
The OR condition for source_project_id/target_project_id leads to a
query plan that performs rather poorly on PostgreSQL due to the use of
sub-queries. Because Rails offers no easy alternative for this
particular problem we're forced to using a UNION for both conditions.
The resulting query performs much faster than just using an OR.
2016-03-11 15:26:32 -05:00
Yorick PeterseandRobert Speicher c2df121f8e Added changelog entry for search performance 2016-03-11 15:26:32 -05:00
Yorick PeterseandRobert Speicher 0ba20457fb Added pg_trgm to the PostgreSQL requirements 2016-03-11 15:25:24 -05:00
Yorick PeterseandRobert Speicher 78244ffcbf Corrected spec title for Namespace.search 2016-03-11 15:25:24 -05:00
Yorick PeterseandRobert Speicher ee75c49313 Make Namespace.search case-insensitive
This ensures searching namespaces works exactly the same as searching
for any other resource.
2016-03-11 15:25:24 -05:00
Yorick PeterseandRobert Speicher d7d5937531 Removed arel_table receiver from search methods
We can just use "arel_table" in these cases instead of
"SomeClass.arel_table".
2016-03-11 15:25:23 -05:00
Yorick PeterseandRobert Speicher 0ab9571ad7 Fixed a few spec typos 2016-03-11 15:25:23 -05:00
Yorick PeterseandRobert Speicher 9e00a23716 Clean up ProjectsFinder for getting user projects
We don't need the extra layer of nesting of UNION queries here (as
User#authorized_projects already returns a UNION'd query).
2016-03-11 15:25:23 -05:00
Yorick PeterseandRobert Speicher b77b3b16b6 Removed order from sub-query projects for search
There's no need to order queries used as sub-queries and doing so can
add potential overhead.
2016-03-11 15:25:23 -05:00
Yorick PeterseandRobert Speicher 8c2868e8ea Added ProjectSearchResults#project_ids_relation
This ensures some other methods such as the "issues" method still work.
2016-03-11 15:25:23 -05:00
Yorick PeterseandRobert Speicher 300332bbf6 Fixed ProjectSearchResults spec to use a Project
This spec was still passing an ID to the #initialize method instead of
a Project instance.
2016-03-11 15:25:23 -05:00
Yorick PeterseandRobert Speicher 12082db41e Disable Rubocop for PostgreSQL patches
This code is mostly a copy-paste from existing pull requests so there's
no point in running Rubocop on it.
2016-03-11 15:25:23 -05:00
Yorick PeterseandRobert Speicher d38dcf1e3b Patch MySQL to ignore PostgreSQL schema options
This ensures that options such as `using: :gin` and PostgreSQL operator
classes are ignored when loading a schema into a MySQL database.
2016-03-11 15:25:22 -05:00
Yorick PeterseandRobert Speicher 2080fd395c Updated schema to include Pg operator classes
This also includes e.g. the appearances table which apparently wasn't
already included in the schema.
2016-03-11 15:25:22 -05:00
Yorick PeterseandRobert Speicher 49e122df85 Backport Rails support for PostgreSQL opclasses
This is needed to support creating/dumping/loading indexes that use the
gin_trgm_ops operator class on PostgreSQL. These changes are taken from
Rails pull request https://github.com/rails/rails/pull/19090.
2016-03-11 15:25:22 -05:00
Yorick PeterseandRobert Speicher ec349dc1b6 Refactor Gitlab::ProjectSearchResults
Previously this class would be given a project ID which was then used to
retrieve the corresponding Project object. However, in all cases the
Project object was already known as it was used to grab the ID to pass
to ProjectSearchResults. By just passing a Project instead we remove the
need for an extra query as well as the need for some other complexity
in this class.
2016-03-11 15:25:22 -05:00
Yorick PeterseandRobert Speicher 42fde69d39 Refactor Gitlab::SnippetSearchResults
This removes the need for plucking snippet IDs into memory.
2016-03-11 15:25:22 -05:00
Yorick PeterseandRobert Speicher 013542965c Refactor Gitlab::SearchResults
Instead of plucking IDs this class now uses ActiveRecord::Relation
objects. Plucking IDs is problematic as searching for projects can lead
to a huge amount of IDs being loaded into memory only to be used as an
argument for another query (instead of just using a sub-query).
2016-03-11 15:25:22 -05:00
Yorick PeterseandRobert Speicher 2cf7f3f410 Use ILIKE/LIKE for searching milestones 2016-03-11 15:25:22 -05:00
Yorick PeterseandRobert Speicher 87e7c3e132 Use ILIKE/LIKE for Issuable.search and full_search 2016-03-11 15:25:21 -05:00
Yorick PeterseandRobert Speicher 2076bdb62e Use ILIKE/LIKE for searching CI runners 2016-03-11 15:25:21 -05:00
Yorick PeterseandRobert Speicher ce5e831bcf Use ILIKE/LIKE for searching groups 2016-03-11 15:25:21 -05:00
Yorick PeterseandRobert Speicher 800aa29695 Use ILIKE/LIKE for searching users 2016-03-11 15:25:21 -05:00
Yorick PeterseandRobert Speicher 508b6b46fe Use ILIKE/LIKE for searching notes 2016-03-11 15:25:21 -05:00
Yorick PeterseandRobert Speicher 1f5284e5dd Use ILIKE/LIKE for searching snippets
Previously this used a regular LIKE which is case-sensitive on
PostgreSQL. This ensures that for both PostgreSQL and MySQL the
searching is case-insensitive similar to searching for projects.
2016-03-11 15:25:21 -05:00
Yorick PeterseandRobert Speicher db615d0a79 Use ILIKE in Project.search_by_title
Similar to the changes made to Project.search the method
Project.search_by_title now also uses Arel so it can automatically use
ILIKE/LIKE instead of the lower() function.
2016-03-11 15:25:21 -05:00
Yorick PeterseandRobert Speicher 135659a751 Use ILIKE/LIKE + UNION in Project.search
This chance is broken up in two steps:

1. Use ILIKE on PostgreSQL and LIKE on MySQL, instead of using
   "WHERE lower(x) LIKE lower(y)" as ILIKE is significantly faster than
   using lower(). In many cases the use of lower() will force a slow
   sequence scan.

2. Instead of using 1 query that searches both projects and namespaces
   using a JOIN we're using 2 separate queries that are UNION'd
   together. Using a JOIN would force a slow sequence scan, using a
   UNION avoids this.

This method now uses Arel as Arel automatically uses ILIKE on PostgreSQL
and LIKE on MySQL, removing the need to handle this manually.
2016-03-11 15:25:21 -05:00
Yorick PeterseandRobert Speicher d24ee2a206 Added trigram indexes for various searched columns
This allows the LIKE condition to use an index. Without a GIN + trigram
index LIKE queries using a wildcard at the start _won't_ use an index
and instead perform a sequence scan.
2016-03-11 15:25:21 -05:00
Robert Speicher ee14ac68a5 Merge branch 'group-activity-separate-tab' into 'master'
Move group activity feed to separate page for consistency with dashboard
and project pages

Fixes #14161. Part of #13480 

See merge request !3157
2016-03-11 19:58:10 +00:00
Achilleas Pipinellis d7b386ce4f Merge branch 'docs_typo_ci' into 'master'
Fix incorrect gitlab.rb variable in CI docs

Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/14115

See merge request !3187
2016-03-11 19:28:52 +00:00
Achilleas Pipinellis 5461170fb3 Fix incorrect gitlab.rb variable in CI docs
[ci skip]
2016-03-11 21:26:18 +02:00
Jacob Schatz 3ed8a8e52c Merge branch 'search-results-filter-dropdown' into 'master'
Improved search results filter dropdown

## Current

Currently filter dropdowns on search results page can be **very** long and off the page

![Screen_Shot_2016-03-11_at_15.25.24](/uploads/3418b0a6f4f8a0a8bd2441b53502c574/Screen_Shot_2016-03-11_at_15.25.24.png)

## New

Changed over to the new dropdown

![Screen_Shot_2016-03-11_at_15.29.06](/uploads/2d3a4a9b3e50f3e0fc1748a026cd5905/Screen_Shot_2016-03-11_at_15.29.06.png)

See merge request !3183
2016-03-11 17:13:09 +00:00
Patricio Cano 6bc7fad8ea Merge branch 'omniauth-saml-upgrade' into 'master'
Upgrade `omniauth-saml` to 1.5.0 and document it's new capabilities.

With this MR I'm upgrading `omniauth-saml` to 1.5.0 to include new and improved functionality. See https://github.com/omniauth/omniauth-saml/blob/master/CHANGELOG.md for more details.

This MR includes new documentation, so @axil can you also take a look?

/cc @DouweM 

See merge request !3170
2016-03-11 16:48:52 +00:00
Patricio Cano 95e73f87a9 Doc syntax fixes
[ci skip]
2016-03-11 11:47:34 -05:00
Phil Hughes 9f8661987d Increased dropdown max height 2016-03-11 16:30:58 +00:00
Jacob Schatz 6968ea32e2 Merge branch 'award-emoji-design-update' into 'master'
Updated UI of award emoji

Closes #13878 

See merge request !3028
2016-03-11 16:06:18 +00:00
Phil Hughes 6c69868cfc Improved search results filter dropdown 2016-03-11 15:29:29 +00:00
Douwe Maan 5a84e8381a Merge branch 'remove-benchmark-suite' into 'master'
Removed benchmark suite and its documentation

Related issue: gitlab-org/gitlab-ce#13718

See merge request !3137
2016-03-11 15:06:37 +00:00
Douwe Maan c814421f2a Merge branch 'update-gitlab-git' into 'master'
Updated gitlab_git to 9.0.1

This includes gitlab-org/gitlab_git!69 and will hopefully solve
gitlab-org/gitlab-ce#13808.

See merge request !3123
2016-03-11 15:05:51 +00:00
Jacob Schatz 29ac9f64ea Merge branch 'fix-issue-toggle-button-mobile' into 'master'
Fixes issue with issue sidebar toggle button not working

Closes #14195

See merge request !3165
2016-03-11 13:09:54 +00:00
Jacob Schatz cec88d81bb Merge branch 'account-settings' into 'master'
Account settings

Closes #13854

![](https://gitlab.com/gitlab-org/gitlab-ce/uploads/4802a7b4f74f17d25a611ed1a2200445/account-settings.png)

See merge request !3039
2016-03-11 13:08:40 +00:00
Jacob Schatz d343c7a159 Merge branch 'comment-discard-button' into 'master'
Added discard button to comment form

Also changed the labels on the buttons to better match the action they are completing.

Closes #8057

See merge request !3085
2016-03-11 13:07:43 +00:00