Commit Graph
3845 Commits
Author SHA1 Message Date
Gabriel Mazetto 1575a95b65 little refactor and improvements on specs 2016-04-06 20:09:15 -03:00
Robert Speicher 5bdc18c5b3 Merge branch 'patch/fix-ldap-unblock-user-logic' into 'master'
Unblocks user when active_directory is disabled and it can be found

We implemented a specific block state to handle user blocking that originates from LDAP filtering rules / directory state in !2242. 

That introduced a regression in LDAP authentication when Active Directory support was disabled. You could have a scenario where the user would not be temporarily found (like a filtering rule), that would mark the user as `ldap_blocked`, but will never unblock it automatically when that state changed.

Fixes #14253, #13179, #13259, #13959

See merge request !3550
2016-04-06 21:50:40 +00:00
Patricio Cano eb0f1de36c Added CHANGELOG item 2016-04-06 16:21:58 -05:00
Douwe Maan fe132f52e8 Merge branch 'fix-markdown-rendering' into 'master'
Fix header link rendering when containing numbers

This fixes the problem where Markdown such as:

    ### 31st

Would get rendered as a link tag pointing to issue number 31 inside a
header tag.

See gitlab-org/gitlab-ce#14936 for more information.

cc @rspeicher 

See merge request !3568
2016-04-06 21:19:12 +00:00
Patricio Cano 3a36fa8957 Fix error that was causing only one group to be returned and corrected specs to use the proper attribute type 2016-04-06 16:03:35 -05:00
Robert Schilling dc3272dccb Revert "API: Ability to retrieve a single tag"
This reverts commit 7f287c9136.
2016-04-06 21:03:24 +02:00
Robert Schilling e6215a9a8e Improve coding and doc style 2016-04-06 20:53:17 +02:00
Robert Schilling 0728588c34 API: Ability to filter milestones by state 2016-04-06 20:39:43 +02:00
Grzegorz Bizon b7fa7c4d59 Extend build status badge, add html/markdown methods 2016-04-06 19:56:34 +02:00
Robert Speicher 755edd8004 Merge branch 'metrics-measure-block' into 'master'
Support for measuring Ruby blocks using GitLab performance monitoring

This adds support for measuring timings of arbitrary Ruby blocks.

Fixes #14710 

See merge request !3515
2016-04-06 17:13:15 +00:00
Robert Schilling 62b6963255 Expose user location in API 2016-04-06 15:53:17 +02:00
Robert Schilling 82e92a0900 API: Expose open_issues_count, closed_issues_count, open_merge_requests_count on labels 2016-04-06 14:32:36 +02:00
Yorick Peterse 1af6cf28c0 Measure Ruby blocks using Gitlab::Metrics
This allows measuring of timings of arbitrary Ruby blocks, this allows
for more fine grained performance monitoring. Custom values and tags can
also be attached to a block.
2016-04-06 14:31:52 +02:00
Yorick Peterse 507cbca339 Fix header link rendering when containing numbers
This fixes the problem where Markdown such as:

    ### 31st

Would get rendered as a link tag pointing to issue number 31 inside a
header tag.

See gitlab-org/gitlab-ce#14936 for more information.
2016-04-06 14:24:30 +02:00
Robert Schilling 7f287c9136 API: Ability to retrieve a single tag 2016-04-06 13:59:50 +02:00
Yasser Hussain d023a85287 Changed the argument of not_found for 'unprotect'
not_found appends string "Not Found" to the argument causing the resulting message to be "Branch does not exist Not Found" which is an incorrect error message.

Changed the argument of not_found! for 'unprotect'  command to "Branch" from "Branch does not exist".  This makes the final error message to appear as "Branch Not Found" which is correct and same as error messages for other commands like 'protect'.
2016-04-06 15:07:31 +05:30
Gabriel Mazetto 207b7218aa Ensure correct filter order to validate with our markdown spec 2016-04-06 03:30:56 -03:00
Gabriel Mazetto 22055e1058 Fix a few edited references from WikiLinkFilter and specs 2016-04-06 03:13:46 -03:00
Gabriel Mazetto 61fe0a2397 Fixed WikiPipeline and specs 2016-04-06 03:12:39 -03:00
Patricio Cano 518ec6b266 Changed config syntax and improved how chaanges in group memberships are handled when external groups is set up 2016-04-05 19:20:18 -05:00
Gabriel Mazetto 5ee6badade Unblocks user when active_directory is disabled and it can be found 2016-04-05 16:34:31 -03:00
connorshea b9abf938ed Wrap images in discussions and wikis with a link to the image source using ImageLinkFilter.
Resolves #14411.

See merge request !3464
2016-04-04 19:44:07 -06:00
Patricio Cano 1a168279fa Prepare SAML for group retrieval 2016-04-04 19:09:12 -05:00
Jacob Vosmaer 213ee62469 Be careful when setting class instance vars 2016-04-04 17:01:56 +02:00
Jacob Vosmaer 0163e27631 Add Gitlab::Redis connection pool 2016-04-04 17:00:09 +02:00
Yorick Peterse 915fd3f910 Cleaned up caching in AbstractReferenceFilter
Cleaning this up any further is a bit tricky as the caches in question
should only be evaluated if RequestStore is actually enabled.
2016-04-04 11:39:11 +02:00
Yorick Peterse 7f0fd73eeb Cache default_issues_tracker? in Banzai
Every object processed by ExternalIssueReferenceFilter can return a
different Project instance when calling "project". For example, every
note processed will have it's own associated Project. If we were to
cache Project#default_issues_tracker? on Project level this would have
no impact on Markdown rendering timings as the cache would have to be
built for every Project instance without it ever being re-used.

To work around this we cache Project#default_issues_tracker? in
Banzai::Filter::ExternalIssueReferenceFilter using the project's _id_
instead of the whole object. This setup allows re-using of the cached
data even when the Project instances used are different, as long as the
actual project IDs are the same.
2016-04-04 10:44:35 +02:00
Yorick Peterse 9fa94326db Memoize object class titles
For an issue with around 200 notes this cuts down timings by around 150
milliseconds.
2016-04-04 10:44:35 +02:00
Yorick Peterse 8c49eaa937 Cache Banzai class methods returning static data
These methods always return the same data for every class so there's no
point in computing their values on every call.
2016-04-04 10:44:35 +02:00
Yorick Peterse 1411480577 Refactor processing of various Banzai filters
These filters now use a single iteration over all the document nodes
instead of multiple ones. This in turn allows variables to be re-used
(e.g. links only have to be unescaped once). Combined with some other
refactoring this can drastically reduce render timings.
2016-04-04 10:44:35 +02:00
Yorick Peterse 57bde0ce65 Cache Banzai projects/objects using RequestStore
This was originally suggested by @ayufan and modified to be a bit
cleaner and use RequestStore instead of a regular Hash.

By caching the output of the two methods involved the number of queries
is reduced significantly. For example, for an issue with 200 notes (of
which 100 reference a number of merge requests) this cuts down the
amount of queries from around 6300 to around 3300.
2016-04-04 10:44:35 +02:00
Douwe Maan df725aec98 Merge branch 'add-ability-to-archive-a-project-via-api-14296' into 'master'
Add endpoints for archiving and unarchiving

Closes #14296

See merge request !3372
2016-04-03 13:19:25 +00:00
Robert Speicher 5627542fd4 Merge branch 'routing' into 'master'
Added & use Gitlab::Routing for URL helpers

Extracted from !3389

See merge request !3486
2016-04-01 16:51:20 +00:00
Robert Speicher 64106865df Merge branch 'fix/fogbugz-import' into 'master'
spec and fix for fogbugz lonely user problem

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

I encountered this issue while manually testing all import types for
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/3066

This is really due to a horrible API

```
{ 'people' => { 'person' => array_of_people_or_single_person_as_hash } }
```

See merge request !3457
2016-04-01 16:32:00 +00:00
Yorick Peterse 84b0ab7766 Added & use Gitlab::Routing for URL helpers
Rails' "url_helpers" method creates an anonymous Module (which a bunch
of methods) on every call. By caching the output of this method in a
dedicated method we can shave off about 10 seconds of loading time for
an issue with around 200 comments.
2016-04-01 11:13:48 +02:00
Douwe Maan 2e3c2a355f Merge branch 'snippets-with-comments-cause-a-500-when-they-show-up-in-search-results-14764' into 'master'
Fix Error 500 when searching for a comment in a project snippet

Closes #14764. /cc @stanhu, and thank you for the spec! ;)

See merge request !3468
2016-04-01 08:38:16 +00:00
Douwe Maan 98df8aab7e Merge branch 'fix/issue-move-rewrite-uploads' into 'master'
Rewrite uploads when moving issue to another project

Closes #14531

See merge request !3382
2016-04-01 07:17:10 +00:00
Gabriel Mazetto 28266d9d61 Added WikiLinkFilter 2016-04-01 00:17:37 -03:00
connorshea 85cc172959 Remove "Congratulations!" tweet button on newly-created project.
I’ve removed everything related to the feature based on this commit:
ce08f919f34fd8849834365

Resolves #10857.
2016-03-31 17:09:36 -06:00
Grzegorz Bizon ed6f524c49 Merge branch 'master' into fix/issue-move-rewrite-uploads
* master: (27 commits)
  Fix commit comment alignment
  minor cleanup in system_hook_spec
  Pre-calculate Emoji digests
  Clear .todo listener
  Change window.location to use turbolinks
  Make entire todo row clickable
  Add 8.6.2 CHANGELOG items
  Ensure uploads dir exists when running backup specs
  Move CarrierWave test env config to separate file
  Remove console logs
  Off the event initially
  Collapsed sidebar opens over instead of pushing content.
  Sidebar collapse update issue
  User selection from collapsed sidebar
  Add json response for user avatar in merge request
  Make changed values visible in minimized sidebar.
  Fixed MergeRequestController spec
  We need `sha` reference from `diff_base_commit` to generate the diff
  Use `diff_base_commit` instead of `target_branch` to generate diffs
  Isolate CarrierWave uploads in test enviroment
  ...
2016-03-31 10:07:13 +02:00
Rémy Coutable e60f034126 Fix view of notes in search results when noteable is a snippet
Also, streamline the view.

Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-03-31 09:40:57 +02:00
Rémy Coutable 091b8a6ede Rename Note#for_project_snippet? to #for_snippet?
Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-03-31 09:20:27 +02:00
Gabriel Mazetto 7d56d592cd Fixed Gollum pages link url expansion to render correctly in preview 2016-03-30 15:43:58 -03:00
Dmitriy Zaporozhets fa9d140f00 Merge branch 'precompile-emoji-urls' into 'master'
Pre-calculate Emoji digests

cc @dzaporozhets @rspeicher 

@marin Do you happen to know if we allow users to configure asset hosts anywhere in Omnibus and such? I've not been able to find any reference to "asset_host" so it seems we don't allow this (which is a good thing as this simplifies the code).

See merge request !3458
2016-03-30 18:23:13 +00:00
Yorick Peterse 5830d80b8d Pre-calculate Emoji digests
By pre-calculating the digests we can manually construct the emoji URLs,
removing the need for using Rails' asset URL helpers. The reason we
don't want to use these helpers for Emojis is two-fold:

1. Rails' image_url() method is slow, really slow. For one it _might_
   have to calculate digests but it also performs a lot of other
   intensive operations (judging by the source code and based on
   measuring timings).

2. We have a lot of Emoji which coupled with the above can result in it
   taking minutes to load Emoji autocomplete data.

Using this pre-calculation setup generating the digests takes around 7
seconds (including the time it takes to start Rails/Rake), and only
around 600 milliseconds to load _all_ the autocomplete data of a project
(measured locally).

This commit _does_ change the Emoji URLs from absolute to relative URLs
as these are much easier to generate.

To update the Emoji data simply run:

    rake gemojione:digests

Then commit any changes.

Fixes gitlab-org/gitlab-ce#14009
2016-03-30 19:29:17 +02:00
James Lopez 2d544d5445 spec and fix for fogbugz lonely user problem 2016-03-30 18:48:28 +02:00
Douwe Maan c9a7cc4b37 Merge branch '2364-fallback-to-in-reply-to-header' into 'master'
Fall back to In-Reply-To and References headers when sub-addressing is not available

_Originally opened at !3024 by @dabit._

- - -

Fixes #2364 

Summary of the changes:
- No more need to have the `%{key}` placeholder in the `incoming_email.address`
- The fallback message id format is `reply-[key]@[gitlab_host]` (reminder: it doesn't have to be a real email address)
- The fallback message id that includes the reply key is added to both `References` header
- Documentation for the "Reply by email" feature updated

See merge request !3305
2016-03-30 16:16:37 +00:00
Robert Speicher 489165e343 Merge branch 'refactor/project-badges-interface' into 'master'
Refactor builds badge, encapsulate inside a class

This merge requests attempts to introduce interface for all badges.
Currently we only have a build badge, but other badges are in plans,
like coverage badge.

See merge request !3403
2016-03-30 15:42:26 +00:00
Grzegorz Bizon b9f5719285 Remove reduntant move_to_store override 2016-03-30 12:50:19 +02:00
Grzegorz Bizon 99ee822857 Add method that returns markdown in file uploader 2016-03-30 10:56:25 +02:00