Commit da521875 authored by Clement Ho's avatar Clement Ho

Merge branch 'master' into dispatcher-mr-haml

parents c7c211c2 8462e229
...@@ -2,6 +2,25 @@ ...@@ -2,6 +2,25 @@
documentation](doc/development/changelog.md) for instructions on adding your own documentation](doc/development/changelog.md) for instructions on adding your own
entry. entry.
## 10.4.4 (2018-02-16)
### Security (1 change)
- Update nokogiri to 1.8.2. !16807
### Fixed (9 changes)
- Fix 500 error when loading a merge request with an invalid comment. !16795
- Cleanup new branch/merge request form in issues. !16854
- Fix GitLab import leaving group_id on ProjectLabel. !16877
- Fix forking projects when no restricted visibility levels are defined applicationwide. !16881
- Resolve PrepareUntrackedUploads PostgreSQL syntax error. !17019
- Fixed error 500 when removing an identity with synced attributes and visiting the profile page. !17054
- Validate user namespace before saving so that errors persist on model.
- LDAP Person no longer throws exception on invalid entry.
- Fix JIRA not working when a trailing slash is included.
## 10.4.3 (2018-02-05) ## 10.4.3 (2018-02-05)
### Security (4 changes) ### Security (4 changes)
......
...@@ -6,6 +6,11 @@ monacoContext.require.config({ ...@@ -6,6 +6,11 @@ monacoContext.require.config({
}, },
}); });
// ignore CDN config and use local assets path for service worker which cannot be cross-domain
const relativeRootPath = (gon && gon.relative_url_root) || '';
const monacoPath = `${relativeRootPath}/assets/webpack/monaco-editor/vs`;
window.MonacoEnvironment = { getWorkerUrl: () => `${monacoPath}/base/worker/workerMain.js` };
// eslint-disable-next-line no-underscore-dangle // eslint-disable-next-line no-underscore-dangle
window.__monaco_context__ = monacoContext; window.__monaco_context__ = monacoContext;
export default monacoContext.require; export default monacoContext.require;
...@@ -44,7 +44,10 @@ ...@@ -44,7 +44,10 @@
type="button" type="button"
class="btn btn-xs btn-default" class="btn btn-xs btn-default"
> >
<loading-icon v-if="isRefreshing" /> <loading-icon
v-if="isRefreshing"
:inline="true"
/>
{{ s__("mrWidget|Refresh") }} {{ s__("mrWidget|Refresh") }}
</button> </button>
</div> </div>
......
---
title: Fix 500 error when loading a merge request with an invalid comment
merge_request: 16795
author:
type: fixed
---
title: Update nokogiri to 1.8.2
merge_request: 16807
author:
type: security
---
title: Fix monaco editor features which were incompatable with GitLab CDN settings
merge_request: 17021
author:
type: fixed
---
title: Fix GitLab import leaving group_id on ProjectLabel
merge_request: 16877
author:
type: fixed
---
title: Fix forking projects when no restricted visibility levels are defined applicationwide
merge_request: 16881
author:
type: fixed
---
title: Validate user namespace before saving so that errors persist on model
merge_request:
author:
type: fixed
---
title: Fixed error 500 when removing an identity with synced attributes and visiting
the profile page
merge_request: 17054
author:
type: fixed
--- ---
title: LDAP Person no longer throws exception on invalid entry title: Show loading button inline in refresh button in MR widget
merge_request: merge_request:
author: author:
type: fixed type: fixed
---
title: Resolve PrepareUntrackedUploads PostgreSQL syntax error
merge_request: 17019
author:
type: fixed
---
title: Fix JIRA not working when a trailing slash is included
merge_request:
author:
type: fixed
---
title: Cleanup new branch/merge request form in issues
merge_request: 16854
author:
type: fixed
...@@ -41,8 +41,12 @@ module API ...@@ -41,8 +41,12 @@ module API
current_user.namespace current_user.namespace
end end
project_params = import_params.merge(namespace_id: namespace.id, project_params = {
file: import_params[:file]['tempfile']) path: import_params[:path],
namespace_id: namespace.id,
file: import_params[:file]['tempfile']
}
project = ::Projects::GitlabProjectsImportService.new(current_user, project_params).execute project = ::Projects::GitlabProjectsImportService.new(current_user, project_params).execute
render_api_error!(project.errors.full_messages&.first, 400) unless project.saved? render_api_error!(project.errors.full_messages&.first, 400) unless project.saved?
......
...@@ -16,5 +16,54 @@ unless Rails.env.production? ...@@ -16,5 +16,54 @@ unless Rails.env.production?
task :javascript do task :javascript do
Rake::Task['eslint'].invoke Rake::Task['eslint'].invoke
end end
desc "GitLab | lint | Run several lint checks"
task :all do
status = 0
%w[
config_lint
haml_lint
scss_lint
flay
gettext:lint
lint:static_verification
].each do |task|
pid = Process.fork do
rd, wr = IO.pipe
stdout = $stdout.dup
stderr = $stderr.dup
$stdout.reopen(wr)
$stderr.reopen(wr)
begin
begin
Rake::Task[task].invoke
rescue RuntimeError # The haml_lint tasks raise a RuntimeError
exit(1)
end
rescue SystemExit => ex
msg = "*** Rake task #{task} failed with the following error(s):"
raise ex
ensure
$stdout.reopen(stdout)
$stderr.reopen(stderr)
wr.close
if msg
warn "\n#{msg}\n\n"
IO.copy_stream(rd, $stderr)
else
IO.copy_stream(rd, $stdout)
end
end
end
Process.waitpid(pid)
status += $?.exitstatus
end
exit(status)
end
end end
end end
...@@ -7,7 +7,7 @@ require_relative '../lib/gitlab/popen/runner' ...@@ -7,7 +7,7 @@ require_relative '../lib/gitlab/popen/runner'
def emit_warnings(static_analysis) def emit_warnings(static_analysis)
static_analysis.warned_results.each do |result| static_analysis.warned_results.each do |result|
puts puts
puts "**** #{result.cmd.join(' ')} had the following warnings:" puts "**** #{result.cmd.join(' ')} had the following warning(s):"
puts puts
puts result.stderr puts result.stderr
puts puts
...@@ -17,7 +17,7 @@ end ...@@ -17,7 +17,7 @@ end
def emit_errors(static_analysis) def emit_errors(static_analysis)
static_analysis.failed_results.each do |result| static_analysis.failed_results.each do |result|
puts puts
puts "**** #{result.cmd.join(' ')} failed with the following error:" puts "**** #{result.cmd.join(' ')} failed with the following error(s):"
puts puts
puts result.stdout puts result.stdout
puts result.stderr puts result.stderr
...@@ -26,15 +26,10 @@ def emit_errors(static_analysis) ...@@ -26,15 +26,10 @@ def emit_errors(static_analysis)
end end
tasks = [ tasks = [
%w[bundle exec rake config_lint], %w[bin/rake lint:all],
%w[bundle exec rake flay],
%w[bundle exec rake haml_lint],
%w[bundle exec rake scss_lint],
%w[bundle exec license_finder], %w[bundle exec license_finder],
%w[yarn run eslint], %w[yarn run eslint],
%w[bundle exec rubocop --parallel], %w[bundle exec rubocop --parallel],
%w[bundle exec rake gettext:lint],
%w[bundle exec rake lint:static_verification],
%w[scripts/lint-conflicts.sh], %w[scripts/lint-conflicts.sh],
%w[scripts/lint-rugged] %w[scripts/lint-rugged]
] ]
......
...@@ -42,7 +42,7 @@ describe API::ProjectImport do ...@@ -42,7 +42,7 @@ describe API::ProjectImport do
it 'schedules an import at the user namespace level' do it 'schedules an import at the user namespace level' do
expect_any_instance_of(Project).not_to receive(:import_schedule) expect_any_instance_of(Project).not_to receive(:import_schedule)
expect(Gitlab::ImportExport::ProjectCreator).not_to receive(:new) expect(::Projects::CreateService).not_to receive(:new)
post api('/projects/import', user), namespace: 'nonexistent', path: 'test-import2', file: fixture_file_upload(file) post api('/projects/import', user), namespace: 'nonexistent', path: 'test-import2', file: fixture_file_upload(file)
...@@ -73,7 +73,7 @@ describe API::ProjectImport do ...@@ -73,7 +73,7 @@ describe API::ProjectImport do
def stub_import(namespace) def stub_import(namespace)
expect_any_instance_of(Project).to receive(:import_schedule) expect_any_instance_of(Project).to receive(:import_schedule)
expect(Gitlab::ImportExport::ProjectCreator).to receive(:new).with(namespace.id, any_args).and_call_original expect(::Projects::CreateService).to receive(:new).with(user, hash_including(namespace_id: namespace.id)).and_call_original
end end
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment