This fixes ./spec/services/projects/unlink_fork_service_spec.rb which
somehow started failing on the master branch. It certainly isn't a very
elegant solution but seems to be the easiest/best way of solving this
problem for the time being.
Remove fork link closes all merge requests opened on source project
Currently, if you:
- create a fork
- open a merge request on the source project
- remove the fork link
The created MR cannot be closed.
With this MR, all pending MR is closed when the fork link is removed.
See merge request !3189
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.
* 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
...
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
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.
Fixesgitlab-org/gitlab-ce#14009
Isolate CarrierWave uploads in test enviroment
Purpose of this merge request is to isolate CarrierWave uploads in test environment, from regular development/production uploads.
We need to persist some files in order to test some features thoroughly. If we - for example - want to check if file exists after being uploaded via API, or we need to write tests that check if file has been correctly removed we need to persist uploads using CarrierWave.
This approach simply sets `root` path for uploads in test environment and removes temporary directory after executing RSpec tests suite. We set this in `spec_helper` to keep this in one place, this also can be set up in test environment initializer.
This issue is a workaround for #12968, but does not solve this problem completely, because if uploader defines absolute path in `store_dir` or defines custom `root` path, this may not work correctly (but it looks like we do have such uploaders at this moment).
See merge request !3435
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
Fix Raw / Rendered diff producing different results on merge requests
The raw diff endpoint (`merge_requests/####.diff`) produces a diff based on `target_branch` instead of the original branching point. Same is valid for `merge_requests/####.patch`.
Fixes#14680, #3017
See merge request !3450
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
This attempts to get CarrierWave's uploader - `FileUploader` into test
harness using a factory. that makes it easier to build an instance of
it.
Along with !3435 it may be easier to use uploaders in tests
Dropdown bug fixes
- Added back upcoming to milestone filter

- Fixed bug that would cause the currently selected value to disappear on filters
- Fixed bug that throw an error when filtering by upcoming when there is only a milestone in the past
Closes#14536
See merge request !3368