summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-01-07 00:07:50 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2020-01-07 00:07:50 +0000
commitd95abc0bc994436aa963347bed29e264d5158fa5 (patch)
treefe2aab72e133e2913cba0959efd88fdb75669b91
parent015663b70f1bcdae4483e38c2beac884f92da5b8 (diff)
downloadgitlab-ce-d95abc0bc994436aa963347bed29e264d5158fa5.tar.gz
Add latest changes from gitlab-org/gitlab@master
-rw-r--r--Gemfile2
-rw-r--r--Gemfile.lock4
-rw-r--r--app/controllers/projects/error_tracking/base_controller.rb9
-rw-r--r--app/controllers/projects/error_tracking/stack_traces_controller.rb4
-rw-r--r--app/controllers/projects/error_tracking_controller.rb9
-rw-r--r--app/services/members/update_service.rb3
-rw-r--r--changelogs/unreleased/jl-bump-rdoc-6-2.yml5
-rw-r--r--locale/gitlab.pot9
-rw-r--r--spec/controllers/projects/error_tracking/stack_traces_controller_spec.rb4
-rw-r--r--spec/controllers/projects/error_tracking_controller_spec.rb17
-rw-r--r--spec/support/shared_examples/controllers/error_tracking_shared_examples.rb7
11 files changed, 54 insertions, 19 deletions
diff --git a/Gemfile b/Gemfile
index 428d7413a32..09aab81778c 100644
--- a/Gemfile
+++ b/Gemfile
@@ -142,7 +142,7 @@ gem 'gitlab-markup', '~> 1.7.0'
gem 'github-markup', '~> 1.7.0', require: 'github/markup'
gem 'commonmarker', '~> 0.20'
gem 'RedCloth', '~> 4.3.2'
-gem 'rdoc', '~> 6.0'
+gem 'rdoc', '~> 6.1.2'
gem 'org-ruby', '~> 0.9.12'
gem 'creole', '~> 0.5.0'
gem 'wikicloth', '0.8.1'
diff --git a/Gemfile.lock b/Gemfile.lock
index 35aa419e2e2..91376b5ee58 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -823,7 +823,7 @@ GEM
ffi (>= 1.0.6)
msgpack (>= 0.4.3)
optimist (>= 3.0.0)
- rdoc (6.0.4)
+ rdoc (6.1.2)
re2 (1.1.1)
recaptcha (4.13.1)
json
@@ -1308,7 +1308,7 @@ DEPENDENCIES
raindrops (~> 0.18)
rblineprof (~> 0.3.6)
rbtrace (~> 0.4)
- rdoc (~> 6.0)
+ rdoc (~> 6.1.2)
re2 (~> 1.1.1)
recaptcha (~> 4.11)
redis (~> 4.0)
diff --git a/app/controllers/projects/error_tracking/base_controller.rb b/app/controllers/projects/error_tracking/base_controller.rb
new file mode 100644
index 00000000000..6efc6d00702
--- /dev/null
+++ b/app/controllers/projects/error_tracking/base_controller.rb
@@ -0,0 +1,9 @@
+# frozen_string_literal: true
+
+class Projects::ErrorTracking::BaseController < Projects::ApplicationController
+ POLLING_INTERVAL = 1_000
+
+ def set_polling_interval
+ Gitlab::PollingInterval.set_header(response, interval: POLLING_INTERVAL)
+ end
+end
diff --git a/app/controllers/projects/error_tracking/stack_traces_controller.rb b/app/controllers/projects/error_tracking/stack_traces_controller.rb
index 3b553752d26..c5d5d6da6a6 100644
--- a/app/controllers/projects/error_tracking/stack_traces_controller.rb
+++ b/app/controllers/projects/error_tracking/stack_traces_controller.rb
@@ -2,10 +2,10 @@
module Projects
module ErrorTracking
- class StackTracesController < Projects::ApplicationController
+ class StackTracesController < Projects::ErrorTracking::BaseController
respond_to :json
- before_action :authorize_read_sentry_issue!
+ before_action :authorize_read_sentry_issue!, :set_polling_interval
def index
result = fetch_latest_event_issue
diff --git a/app/controllers/projects/error_tracking_controller.rb b/app/controllers/projects/error_tracking_controller.rb
index 35e12c37056..dea8cd81f4f 100644
--- a/app/controllers/projects/error_tracking_controller.rb
+++ b/app/controllers/projects/error_tracking_controller.rb
@@ -1,11 +1,9 @@
# frozen_string_literal: true
-class Projects::ErrorTrackingController < Projects::ApplicationController
+class Projects::ErrorTrackingController < Projects::ErrorTracking::BaseController
before_action :authorize_read_sentry_issue!
before_action :set_issue_id, only: :details
- POLLING_INTERVAL = 10_000
-
def index
respond_to do |format|
format.html
@@ -20,6 +18,7 @@ class Projects::ErrorTrackingController < Projects::ApplicationController
respond_to do |format|
format.html
format.json do
+ set_polling_interval
render_issue_detail_json
end
end
@@ -74,10 +73,6 @@ class Projects::ErrorTrackingController < Projects::ApplicationController
@issue_id = issue_details_params[:issue_id]
end
- def set_polling_interval
- Gitlab::PollingInterval.set_header(response, interval: POLLING_INTERVAL)
- end
-
def serialize_errors(errors)
ErrorTracking::ErrorSerializer
.new(project: project, user: current_user)
diff --git a/app/services/members/update_service.rb b/app/services/members/update_service.rb
index fdd2c62a452..b5c27caafa2 100644
--- a/app/services/members/update_service.rb
+++ b/app/services/members/update_service.rb
@@ -7,9 +7,10 @@ module Members
raise Gitlab::Access::AccessDeniedError unless can?(current_user, action_member_permission(permission, member), member)
old_access_level = member.human_access
+ old_expiry = member.expires_at
if member.update(params)
- after_execute(action: permission, old_access_level: old_access_level, member: member)
+ after_execute(action: permission, old_access_level: old_access_level, old_expiry: old_expiry, member: member)
# Deletes only confidential issues todos for guests
enqueue_delete_todos(member) if downgrading_to_guest?
diff --git a/changelogs/unreleased/jl-bump-rdoc-6-2.yml b/changelogs/unreleased/jl-bump-rdoc-6-2.yml
new file mode 100644
index 00000000000..c71df08709d
--- /dev/null
+++ b/changelogs/unreleased/jl-bump-rdoc-6-2.yml
@@ -0,0 +1,5 @@
+---
+title: Update rdoc to 6.1.2
+merge_request: 22434
+author:
+type: security
diff --git a/locale/gitlab.pot b/locale/gitlab.pot
index bd1aadca75e..e110ccf8544 100644
--- a/locale/gitlab.pot
+++ b/locale/gitlab.pot
@@ -22106,6 +22106,9 @@ msgstr ""
msgid "needs to be between 10 minutes and 1 month"
msgstr ""
+msgid "never expires"
+msgstr ""
+
msgid "new merge request"
msgstr ""
@@ -22388,5 +22391,11 @@ msgstr ""
msgid "with %{additions} additions, %{deletions} deletions."
msgstr ""
+msgid "with expiry changing from %{old_expiry} to %{new_expiry}"
+msgstr ""
+
+msgid "with expiry remaining unchanged at %{old_expiry}"
+msgstr ""
+
msgid "yaml invalid"
msgstr ""
diff --git a/spec/controllers/projects/error_tracking/stack_traces_controller_spec.rb b/spec/controllers/projects/error_tracking/stack_traces_controller_spec.rb
index a836253f9e1..75e1c817baa 100644
--- a/spec/controllers/projects/error_tracking/stack_traces_controller_spec.rb
+++ b/spec/controllers/projects/error_tracking/stack_traces_controller_spec.rb
@@ -34,6 +34,8 @@ describe Projects::ErrorTracking::StackTracesController do
it 'responds with no data' do
expect(response).to have_gitlab_http_status(:no_content)
end
+
+ it_behaves_like 'sets the polling header'
end
context 'service result is successful' do
@@ -53,6 +55,8 @@ describe Projects::ErrorTracking::StackTracesController do
Gitlab::ErrorTracking::StackTraceHighlightDecorator.decorate(error_event).as_json
)
end
+
+ it_behaves_like 'sets the polling header'
end
context 'service result is erroneous' do
diff --git a/spec/controllers/projects/error_tracking_controller_spec.rb b/spec/controllers/projects/error_tracking_controller_spec.rb
index d0f248437b4..a0ecc288b15 100644
--- a/spec/controllers/projects/error_tracking_controller_spec.rb
+++ b/spec/controllers/projects/error_tracking_controller_spec.rb
@@ -91,13 +91,13 @@ describe Projects::ErrorTrackingController do
.and_return(status: :success, issues: [error], pagination: {})
expect(list_issues_service).to receive(:external_url)
.and_return(external_url)
+
+ get :index, params: params
end
let(:error) { build(:error_tracking_error) }
it 'returns a list of errors' do
- get :index, params: params
-
expect(response).to have_gitlab_http_status(:ok)
expect(response).to match_response_schema('error_tracking/index')
expect(json_response).to eq(
@@ -106,6 +106,8 @@ describe Projects::ErrorTrackingController do
'external_url' => external_url
)
end
+
+ it_behaves_like 'sets the polling header'
end
end
@@ -201,30 +203,33 @@ describe Projects::ErrorTrackingController do
before do
expect(issue_details_service).to receive(:execute)
.and_return(status: :error, http_status: :no_content)
+ get :details, params: issue_params(issue_id: issue_id, format: :json)
end
it 'returns no data' do
- get :details, params: issue_params(issue_id: issue_id, format: :json)
-
expect(response).to have_gitlab_http_status(:no_content)
end
+
+ it_behaves_like 'sets the polling header'
end
context 'service result is successful' do
before do
expect(issue_details_service).to receive(:execute)
.and_return(status: :success, issue: error)
+
+ get :details, params: issue_params(issue_id: issue_id, format: :json)
end
let(:error) { build(:detailed_error_tracking_error) }
it 'returns an error' do
- get :details, params: issue_params(issue_id: issue_id, format: :json)
-
expect(response).to have_gitlab_http_status(:ok)
expect(response).to match_response_schema('error_tracking/issue_detailed')
expect(json_response['error']).to eq(error.as_json)
end
+
+ it_behaves_like 'sets the polling header'
end
context 'service result is erroneous' do
diff --git a/spec/support/shared_examples/controllers/error_tracking_shared_examples.rb b/spec/support/shared_examples/controllers/error_tracking_shared_examples.rb
new file mode 100644
index 00000000000..71251f6ab51
--- /dev/null
+++ b/spec/support/shared_examples/controllers/error_tracking_shared_examples.rb
@@ -0,0 +1,7 @@
+# frozen_string_literal: true
+
+shared_examples 'sets the polling header' do
+ subject { response.headers[Gitlab::PollingInterval::HEADER_NAME] }
+
+ it { is_expected.to eq '1000'}
+end