Skip to content
Snippets Groups Projects
Commit 8436b72f authored by Alex Hanselka's avatar Alex Hanselka
Browse files

Merge branch '11-9-stable-prepare-rc9' into '11-9-stable'

Prepare 11.9.0-rc9 release

See merge request gitlab-org/gitlab-ce!26322
parents 2eaeda28 26be8a1e
No related branches found
No related tags found
No related merge requests found
Showing
with 53 additions and 28 deletions
Loading
Loading
@@ -18,7 +18,7 @@ gem 'gitlab-default_value_for', '~> 3.1.1', require: 'default_value_for'
gem 'mysql2', '~> 0.4.10', group: :mysql
gem 'pg', '~> 1.1', group: :postgres
 
gem 'rugged', '~> 0.27'
gem 'rugged', '~> 0.28'
gem 'grape-path-helpers', '~> 1.0'
 
gem 'faraday', '~> 0.12'
Loading
Loading
Loading
Loading
@@ -785,7 +785,7 @@ GEM
rubyntlm (0.6.2)
rubypants (0.2.0)
rubyzip (1.2.2)
rugged (0.27.5)
rugged (0.28.0)
safe_yaml (1.0.4)
sanitize (4.6.6)
crass (~> 1.0.2)
Loading
Loading
@@ -1138,7 +1138,7 @@ DEPENDENCIES
ruby-progressbar
ruby_parser (~> 3.8)
rubyzip (~> 1.2.2)
rugged (~> 0.27)
rugged (~> 0.28)
sanitize (~> 4.6)
sass (~> 3.5)
sass-rails (~> 5.0.6)
Loading
Loading
Loading
Loading
@@ -13,9 +13,9 @@ export default class VisualTokenValue {
}
 
render(tokenValueContainer, tokenValueElement) {
const { tokenType } = this;
const { tokenType, tokenValue } = this;
 
if (['none', 'any'].includes(tokenType)) {
if (['none', 'any'].includes(tokenValue.toLowerCase())) {
return;
}
 
Loading
Loading
export default (fn, interval = 2000, timeout = 60000) => {
export default (fn, { interval = 2000, timeout = 60000 } = {}) => {
const startTime = Date.now();
 
return new Promise((resolve, reject) => {
const stop = arg => (arg instanceof Error ? reject(arg) : resolve(arg));
const next = () => {
if (Date.now() - startTime < timeout) {
if (timeout === 0 || Date.now() - startTime < timeout) {
setTimeout(fn.bind(null, next, stop), interval);
} else {
reject(new Error('SIMPLE_POLL_TIMEOUT'));
Loading
Loading
Loading
Loading
@@ -20,6 +20,7 @@ export default class SSHMirror {
this.$btnDetectHostKeys = this.$form.find('.js-detect-host-keys');
this.$btnSSHHostsShowAdvanced = this.$form.find('.btn-show-advanced');
this.$dropdownAuthType = this.$form.find('.js-mirror-auth-type');
this.$hiddenAuthType = this.$form.find('.js-hidden-mirror-auth-type');
 
this.$wellAuthTypeChanging = this.$form.find('.js-well-changing-auth');
this.$wellPasswordAuth = this.$form.find('.js-well-password-auth');
Loading
Loading
@@ -167,6 +168,7 @@ export default class SSHMirror {
 
this.$wellPasswordAuth.collapse('hide');
this.$wellSSHAuth.collapse('hide');
this.updateHiddenAuthType(selectedAuthType);
 
// This request should happen only if selected Auth type was SSH
// and SSH Public key was not present on page load
Loading
Loading
@@ -234,6 +236,12 @@ export default class SSHMirror {
toggleAuthWell(authType) {
this.$wellPasswordAuth.collapse(authType === AUTH_METHOD.PASSWORD ? 'show' : 'hide');
this.$wellSSHAuth.collapse(authType === AUTH_METHOD.SSH ? 'show' : 'hide');
this.updateHiddenAuthType(authType);
}
updateHiddenAuthType(authType) {
this.$hiddenAuthType.val(authType);
this.$hiddenAuthType.prop('disabled', authType === AUTH_METHOD.SSH);
}
 
/**
Loading
Loading
Loading
Loading
@@ -165,9 +165,12 @@ export default {
});
},
initiateMergePolling() {
simplePoll((continuePolling, stopPolling) => {
this.handleMergePolling(continuePolling, stopPolling);
});
simplePoll(
(continuePolling, stopPolling) => {
this.handleMergePolling(continuePolling, stopPolling);
},
{ timeout: 0 },
);
},
handleMergePolling(continuePolling, stopPolling) {
this.service
Loading
Loading
@@ -198,6 +201,7 @@ export default {
})
.catch(() => {
new Flash(__('Something went wrong while merging this merge request. Please try again.')); // eslint-disable-line
stopPolling();
});
},
initiateRemoveSourceBranchPolling() {
Loading
Loading
Loading
Loading
@@ -23,7 +23,10 @@
}
 
.settings {
border-bottom: 1px solid $gray-darker;
// border-top for each item except the top one
+ .settings {
border-top: 1px solid $border-color;
}
 
&:first-of-type {
margin-top: 10px;
Loading
Loading
Loading
Loading
@@ -15,7 +15,7 @@ class Admin::ProjectsController < Admin::ApplicationController
format.html
format.json do
render json: {
html: view_to_html_string("admin/projects/_projects", locals: { projects: @projects })
html: view_to_html_string("admin/projects/_projects", projects: @projects)
}
end
end
Loading
Loading
Loading
Loading
@@ -26,7 +26,7 @@ class Dashboard::ProjectsController < Dashboard::ApplicationController
end
format.json do
render json: {
html: view_to_html_string("dashboard/projects/_projects", locals: { projects: @projects })
html: view_to_html_string("dashboard/projects/_projects", projects: @projects)
}
end
end
Loading
Loading
@@ -43,7 +43,7 @@ class Dashboard::ProjectsController < Dashboard::ApplicationController
format.html
format.json do
render json: {
html: view_to_html_string("dashboard/projects/_projects", locals: { projects: @projects })
html: view_to_html_string("dashboard/projects/_projects", projects: @projects)
}
end
end
Loading
Loading
Loading
Loading
@@ -15,7 +15,7 @@ class Explore::ProjectsController < Explore::ApplicationController
format.html
format.json do
render json: {
html: view_to_html_string("explore/projects/_projects", locals: { projects: @projects })
html: view_to_html_string("explore/projects/_projects", projects: @projects)
}
end
end
Loading
Loading
@@ -30,7 +30,7 @@ class Explore::ProjectsController < Explore::ApplicationController
format.html
format.json do
render json: {
html: view_to_html_string("explore/projects/_projects", locals: { projects: @projects })
html: view_to_html_string("explore/projects/_projects", projects: @projects)
}
end
end
Loading
Loading
@@ -44,7 +44,7 @@ class Explore::ProjectsController < Explore::ApplicationController
format.html
format.json do
render json: {
html: view_to_html_string("explore/projects/_projects", locals: { projects: @projects })
html: view_to_html_string("explore/projects/_projects", projects: @projects)
}
end
end
Loading
Loading
Loading
Loading
@@ -3,7 +3,6 @@
module Projects
module Settings
class OperationsController < Projects::ApplicationController
before_action :check_license
before_action :authorize_update_environment!
 
helper_method :error_tracking_setting
Loading
Loading
@@ -65,10 +64,6 @@ module Projects
]
}
end
def check_license
render_404 unless helpers.settings_operations_available?
end
end
end
end
Loading
Loading
@@ -7,7 +7,7 @@ class ApplicationSetting < ActiveRecord::Base
include IgnorableColumn
include ChronicDurationAttribute
 
add_authentication_token_field :runners_registration_token, encrypted: -> { Feature.enabled?(:application_settings_tokens_optional_encryption) ? :optional : :required }
add_authentication_token_field :runners_registration_token, encrypted: -> { Feature.enabled?(:application_settings_tokens_optional_encryption, default_enabled: true) ? :optional : :required }
add_authentication_token_field :health_check_access_token
 
DOMAIN_LIST_SEPARATOR = %r{\s*[,;]\s* # comma or semicolon, optionally surrounded by whitespace
Loading
Loading
Loading
Loading
@@ -10,7 +10,7 @@ module Ci
include FromUnion
include TokenAuthenticatable
 
add_authentication_token_field :token, encrypted: -> { Feature.enabled?(:ci_runners_tokens_optional_encryption) ? :optional : :required }
add_authentication_token_field :token, encrypted: -> { Feature.enabled?(:ci_runners_tokens_optional_encryption, default_enabled: true) ? :optional : :required }
 
enum access_level: {
not_protected: 0,
Loading
Loading
Loading
Loading
@@ -56,7 +56,7 @@ class Group < Namespace
 
validates :two_factor_grace_period, presence: true, numericality: { greater_than_or_equal_to: 0 }
 
add_authentication_token_field :runners_token, encrypted: -> { Feature.enabled?(:groups_tokens_optional_encryption) ? :optional : :required }
add_authentication_token_field :runners_token, encrypted: -> { Feature.enabled?(:groups_tokens_optional_encryption, default_enabled: true) ? :optional : :required }
 
after_create :post_create_hook
after_destroy :post_destroy_hook
Loading
Loading
Loading
Loading
@@ -298,6 +298,11 @@ class MergeRequestDiff < ActiveRecord::Base
 
private
 
def encode_in_base64?(diff_text)
(diff_text.encoding == Encoding::BINARY && !diff_text.ascii_only?) ||
diff_text.include?("\0")
end
def create_merge_request_diff_files(diffs)
rows =
if has_attribute?(:external_diff) && Gitlab.config.external_diffs.enabled
Loading
Loading
@@ -350,7 +355,7 @@ class MergeRequestDiff < ActiveRecord::Base
diff_hash.tap do |hash|
diff_text = hash[:diff]
 
if diff_text.encoding == Encoding::BINARY && !diff_text.ascii_only?
if encode_in_base64?(diff_text)
hash[:binary] = true
hash[:diff] = [diff_text].pack('m0')
end
Loading
Loading
Loading
Loading
@@ -313,6 +313,14 @@ class Note < ActiveRecord::Base
!system?
end
 
# Since we're using `updated_at` as `last_edited_at`, it could be touched by transforming / resolving a note.
# This makes sure it is only marked as edited when the note body is updated.
def edited?
return false if updated_by.blank?
super
end
def cross_reference_not_visible_for?(user)
cross_reference? && !all_referenced_mentionables_allowed?(user)
end
Loading
Loading
Loading
Loading
@@ -85,7 +85,7 @@ class Project < ActiveRecord::Base
default_value_for :snippets_enabled, gitlab_config_features.snippets
default_value_for :only_allow_merge_if_all_discussions_are_resolved, false
 
add_authentication_token_field :runners_token, encrypted: -> { Feature.enabled?(:projects_tokens_optional_encryption) ? :optional : :required }
add_authentication_token_field :runners_token, encrypted: -> { Feature.enabled?(:projects_tokens_optional_encryption, default_enabled: true) ? :optional : :required }
 
before_validation :mark_remote_mirrors_for_removal, if: -> { RemoteMirror.table_exists? }
 
Loading
Loading
Loading
Loading
@@ -9,6 +9,7 @@
= f.select :auth_method,
options_for_select(auth_options, mirror.auth_method),
{}, { class: "form-control js-mirror-auth-type qa-authentication-method" }
= f.hidden_field :auth_method, value: "password", class: "js-hidden-mirror-auth-type"
 
.form-group
.collapse.js-well-changing-auth
Loading
Loading
Loading
Loading
@@ -2,7 +2,7 @@
 
- setting = error_tracking_setting
 
%section.settings.expanded.border-0.no-animate
%section.settings.expanded.no-animate
.settings-header
%h4
= _('Error Tracking')
Loading
Loading
Loading
Loading
@@ -2,5 +2,6 @@
- page_title _('Operations Settings')
- breadcrumb_title _('Operations Settings')
 
= render_if_exists 'projects/settings/operations/incidents'
= render 'projects/settings/operations/error_tracking', expanded: true
= render_if_exists 'projects/settings/operations/tracing'
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment