Skip to content

Commit 3b614c0

Browse files
author
GitLab Bot
committed
Add latest changes from gitlab-org/gitlab@master
1 parent cf1169b commit 3b614c0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+821
-476
lines changed

.gitlab/CODEOWNERS

+10-10
Original file line numberDiff line numberDiff line change
@@ -105,18 +105,18 @@ config/bounded_contexts.yml @fabiopitino @grzesiek @stanhu @cwoolley-gitlab @tku
105105
/ee/spec/finders/
106106
/rubocop/rubocop-migrations.yml
107107

108-
[Pipeline configuration] @gl-pipeline-maintainers
108+
[Pipeline configuration] @gl-dx/pipeline-maintainers
109109
/.gitlab-ci.yml
110110
/.gitlab/ci/
111-
/.gitlab/ci/docs.gitlab-ci.yml @gl-pipeline-maintainers @gl-docsteam
112-
/.gitlab/ci/frontend.gitlab-ci.yml @gl-pipeline-maintainers @gitlab-org/maintainers/frontend
113-
/.gitlab/ci/test-on-omnibus/ @gl-pipeline-maintainers @gl-dx/maintainers
114-
/.gitlab/ci/qa.gitlab-ci.yml @gl-pipeline-maintainers @gl-dx/maintainers
115-
/.gitlab/ci/qa-common/ @gl-pipeline-maintainers @gl-dx/maintainers
116-
/.gitlab/ci/releases.gitlab-ci.yml @gl-pipeline-maintainers @gitlab-org/delivery
117-
/.gitlab/ci/reports.gitlab-ci.yml @gl-pipeline-maintainers @gitlab-com/gl-security/appsec
118-
/.gitlab/ci/review-apps/qa.gitlab-ci.yml @gl-pipeline-maintainers @gl-dx/maintainers
119-
/.gitlab/ci/test-on-gdk/ @gl-pipeline-maintainers @gl-dx/maintainers
111+
/.gitlab/ci/docs.gitlab-ci.yml @gl-dx/pipeline-maintainers @gl-docsteam
112+
/.gitlab/ci/frontend.gitlab-ci.yml @gl-dx/pipeline-maintainers @gitlab-org/maintainers/frontend
113+
/.gitlab/ci/test-on-omnibus/ @gl-dx/pipeline-maintainers @gl-dx/maintainers
114+
/.gitlab/ci/qa.gitlab-ci.yml @gl-dx/pipeline-maintainers @gl-dx/maintainers
115+
/.gitlab/ci/qa-common/ @gl-dx/pipeline-maintainers @gl-dx/maintainers
116+
/.gitlab/ci/releases.gitlab-ci.yml @gl-dx/pipeline-maintainers @gitlab-org/delivery
117+
/.gitlab/ci/reports.gitlab-ci.yml @gl-dx/pipeline-maintainers @gitlab-com/gl-security/appsec
118+
/.gitlab/ci/review-apps/qa.gitlab-ci.yml @gl-dx/pipeline-maintainers @gl-dx/maintainers
119+
/.gitlab/ci/test-on-gdk/ @gl-dx/pipeline-maintainers @gl-dx/maintainers
120120
/gems/gem.gitlab-ci.yml
121121

122122
[Tooling] @gl-dx/eng-prod

GITLAB_KAS_VERSION

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
cc01f56459190de381f72938ed458d37e9708110
1+
737917b4ec3db719fbed640d2c9cbd9be6e38b05

Gemfile.checksum

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[
22
{"name":"CFPropertyList","version":"3.0.7","platform":"ruby","checksum":"c45721614aca8d5eb6fa216f2ec28ec38de1a94505e9766a20e98745492c3c4c"},
33
{"name":"RedCloth","version":"4.3.4","platform":"ruby","checksum":"5231b2fdd91a933915cba330e5fd1a74025e77b56f57b7404c7191ebf2812297"},
4-
{"name":"acme-client","version":"2.0.19","platform":"ruby","checksum":"29647ab04cde309503cf553d3f9d0a25dcca6588caca57f55f12d6c8833244f8"},
4+
{"name":"acme-client","version":"2.0.20","platform":"ruby","checksum":"650bb5461b67985f197757fb109bc89b024712283ab368cae5a79aabcfba3dae"},
55
{"name":"actioncable","version":"7.0.8.7","platform":"ruby","checksum":"4034513841df2fd09dbbf38f37c1a00fc6c841122a8714e5d6916b8d6ce2f162"},
66
{"name":"actionmailbox","version":"7.0.8.7","platform":"ruby","checksum":"940eeaa3d8e85dcd9fc6069e39571e13c5a4bdb0db52c7ab96d14da81d6ac1c2"},
77
{"name":"actionmailer","version":"7.0.8.7","platform":"ruby","checksum":"8be8f9a2f8774af89822bc92e1ab6df10b3a2be59c75486a34e86a1f10d88d14"},

Gemfile.lock

+1-1
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ GEM
229229
nkf
230230
rexml
231231
RedCloth (4.3.4)
232-
acme-client (2.0.19)
232+
acme-client (2.0.20)
233233
base64 (~> 0.2.0)
234234
faraday (>= 1.0, < 3.0.0)
235235
faraday-retry (>= 1.0, < 3.0.0)

Gemfile.next.checksum

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[
22
{"name":"CFPropertyList","version":"3.0.7","platform":"ruby","checksum":"c45721614aca8d5eb6fa216f2ec28ec38de1a94505e9766a20e98745492c3c4c"},
33
{"name":"RedCloth","version":"4.3.4","platform":"ruby","checksum":"5231b2fdd91a933915cba330e5fd1a74025e77b56f57b7404c7191ebf2812297"},
4-
{"name":"acme-client","version":"2.0.19","platform":"ruby","checksum":"29647ab04cde309503cf553d3f9d0a25dcca6588caca57f55f12d6c8833244f8"},
4+
{"name":"acme-client","version":"2.0.20","platform":"ruby","checksum":"650bb5461b67985f197757fb109bc89b024712283ab368cae5a79aabcfba3dae"},
55
{"name":"actioncable","version":"7.1.5.1","platform":"ruby","checksum":"764637b5b2d97b94e412d562c177bfd16b0fd769d55c98846362f5263e8aaa0d"},
66
{"name":"actionmailbox","version":"7.1.5.1","platform":"ruby","checksum":"c3c20589fe43e6fa88bba2d76a6f9805ffdd02531f4a9a4af8197d59f5a5360a"},
77
{"name":"actionmailer","version":"7.1.5.1","platform":"ruby","checksum":"b213d6d880b23b093ccfef3b4f87a3d27e4666442f71b5b634b2d19e19a49759"},

Gemfile.next.lock

+1-1
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ GEM
229229
nkf
230230
rexml
231231
RedCloth (4.3.4)
232-
acme-client (2.0.19)
232+
acme-client (2.0.20)
233233
base64 (~> 0.2.0)
234234
faraday (>= 1.0, < 3.0.0)
235235
faraday-retry (>= 1.0, < 3.0.0)

app/assets/javascripts/ide/init_gitlab_web_ide.js

+13-9
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@ const getMRTargetProject = () => {
1818
return url.searchParams.get('target_project') || '';
1919
};
2020

21-
const getCrossOriginExtensionHostFlagValue = (extensionsGallerySettings) => {
21+
const getCrossOriginExtensionHostFlagValue = (extensionMarketplaceSettings) => {
2222
return (
23-
extensionsGallerySettings?.enabled ||
24-
extensionsGallerySettings?.reason === 'opt_in_unset' ||
25-
extensionsGallerySettings?.reason === 'opt_in_disabled'
23+
extensionMarketplaceSettings?.enabled ||
24+
extensionMarketplaceSettings?.reason === 'opt_in_unset' ||
25+
extensionMarketplaceSettings?.reason === 'opt_in_disabled'
2626
);
2727
};
2828

@@ -37,7 +37,7 @@ export const initGitlabWebIDE = async (el) => {
3737
forkInfo: forkInfoJSON,
3838
editorFont: editorFontJSON,
3939
codeSuggestionsEnabled,
40-
extensionsGallerySettings: extensionsGallerySettingsJSON,
40+
extensionMarketplaceSettings: extensionMarketplaceSettingsJSON,
4141
settingsContextHash,
4242
signOutPath,
4343
} = el.dataset;
@@ -47,8 +47,8 @@ export const initGitlabWebIDE = async (el) => {
4747
? convertObjectPropsToCamelCase(JSON.parse(editorFontJSON), { deep: true })
4848
: null;
4949
const forkInfo = forkInfoJSON ? JSON.parse(forkInfoJSON) : null;
50-
const extensionsGallerySettings = extensionsGallerySettingsJSON
51-
? convertObjectPropsToCamelCase(JSON.parse(extensionsGallerySettingsJSON), { deep: true })
50+
const extensionMarketplaceSettings = extensionMarketplaceSettingsJSON
51+
? convertObjectPropsToCamelCase(JSON.parse(extensionMarketplaceSettingsJSON), { deep: true })
5252
: undefined;
5353

5454
const oauthConfig = getOAuthConfig(el.dataset);
@@ -82,11 +82,15 @@ export const initGitlabWebIDE = async (el) => {
8282
signIn: el.dataset.signInPath,
8383
},
8484
featureFlags: {
85-
crossOriginExtensionHost: getCrossOriginExtensionHostFlagValue(extensionsGallerySettings),
85+
crossOriginExtensionHost: getCrossOriginExtensionHostFlagValue(
86+
extensionMarketplaceSettings,
87+
),
8688
languageServerWebIDE: isLanguageServerEnabled,
8789
},
8890
editorFont,
89-
extensionsGallerySettings,
91+
// TODO: Use extensionMarketplaceSettings when https://gitlab.com/gitlab-org/gitlab-web-ide/-/merge_requests/425
92+
// is merged and deployed.
93+
extensionsGallerySettings: extensionMarketplaceSettings,
9094
settingsContextHash,
9195
codeSuggestionsEnabled,
9296
handleContextUpdate: handleUpdateUrl,

app/helpers/ide_helper.rb

+5-3
Original file line numberDiff line numberDiff line change
@@ -79,16 +79,18 @@ def new_ide_oauth_data
7979
end
8080

8181
def new_ide_data(project:)
82-
extensions_gallery_settings = WebIde::ExtensionsMarketplace.webide_extensions_gallery_settings(user: current_user)
82+
extension_marketplace_settings = WebIde::ExtensionMarketplace.webide_extension_marketplace_settings(
83+
user: current_user
84+
)
8385
settings_context_hash = WebIde::SettingsSync.settings_context_hash(
84-
extensions_gallery_settings: extensions_gallery_settings
86+
extension_marketplace_settings: extension_marketplace_settings
8587
)
8688

8789
{
8890
'project-path' => project&.path_with_namespace,
8991
'csp-nonce' => content_security_policy_nonce,
9092
'editor-font' => new_ide_fonts.to_json,
91-
'extensions-gallery-settings' => extensions_gallery_settings.to_json,
93+
'extension-marketplace-settings' => extension_marketplace_settings.to_json,
9294
'settings-context-hash' => settings_context_hash
9395
}.merge(new_ide_code_suggestions_data).merge(new_ide_oauth_data)
9496
end

app/helpers/preferences_helper.rb

+4-4
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ def integration_views
174174
private
175175

176176
def extensions_marketplace_view
177-
return unless WebIde::ExtensionsMarketplace.feature_enabled?(user: current_user)
177+
return unless WebIde::ExtensionMarketplace.feature_enabled?(user: current_user)
178178

179179
build_extensions_marketplace_view(
180180
title: s_("Preferences|Web IDE"),
@@ -184,13 +184,13 @@ def extensions_marketplace_view
184184
end
185185

186186
def build_extensions_marketplace_view(title:, message:)
187-
extensions_marketplace_home = "%{linkStart}#{::WebIde::ExtensionsMarketplace.marketplace_home_url}%{linkEnd}"
187+
extensions_marketplace_home = "%{linkStart}#{::WebIde::ExtensionMarketplace.marketplace_home_url}%{linkEnd}"
188188
{
189189
name: 'extensions_marketplace',
190190
message: format(message, extensions_marketplace_home: extensions_marketplace_home),
191191
title: title,
192-
message_url: WebIde::ExtensionsMarketplace.marketplace_home_url,
193-
help_link: WebIde::ExtensionsMarketplace.help_preferences_url
192+
message_url: WebIde::ExtensionMarketplace.marketplace_home_url,
193+
help_link: WebIde::ExtensionMarketplace.help_preferences_url
194194
}
195195
end
196196

+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# frozen_string_literal: true
2+
3+
module WorkItems
4+
class RollupableDates
5+
include ::Gitlab::Utils::StrongMemoize
6+
7+
def initialize(source, can_rollup:)
8+
@source = source
9+
@can_rollup = can_rollup
10+
end
11+
12+
def fixed?
13+
return true unless @can_rollup
14+
return true if source.start_date_is_fixed && source.start_date_fixed.present?
15+
return true if source.due_date_is_fixed && source.due_date_fixed.present?
16+
return true if source.start_date_is_fixed && source.due_date_is_fixed
17+
18+
false
19+
end
20+
strong_memoize_attr :fixed?
21+
22+
def start_date
23+
return source.start_date_fixed if fixed?
24+
25+
source.start_date
26+
end
27+
28+
def start_date_fixed
29+
source.start_date_fixed
30+
end
31+
32+
def due_date
33+
return source.due_date_fixed if fixed?
34+
35+
source.due_date
36+
end
37+
38+
def due_date_fixed
39+
source.due_date_fixed
40+
end
41+
42+
private
43+
44+
attr_reader :source
45+
end
46+
end
47+
48+
WorkItems::RollupableDates.prepend_mod

app/models/work_items/widgets/start_and_due_date.rb

+10-8
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ def sorting_keys
3939
# rubocop:disable Gitlab/NoCodeCoverageComment -- overridden and tested in EE
4040
# :nocov:
4141
def fixed?
42-
true
42+
rollupable_dates.fixed?
4343
end
4444

4545
def can_rollup?
@@ -51,23 +51,24 @@ def can_rollup?
5151
def start_date
5252
return work_item&.start_date unless dates_source_present?
5353

54-
dates_source.start_date_fixed
54+
rollupable_dates.start_date
5555
end
5656

5757
def due_date
5858
return work_item&.due_date unless dates_source_present?
5959

60-
dates_source.due_date_fixed
60+
rollupable_dates.due_date
6161
end
6262

6363
private
6464

65-
def dates_source
66-
return DatesSource.new if work_item.blank?
67-
68-
work_item.dates_source || work_item.build_dates_source
65+
def rollupable_dates
66+
WorkItems::RollupableDates.new(
67+
work_item.dates_source || work_item.build_dates_source,
68+
can_rollup: can_rollup?
69+
)
6970
end
70-
strong_memoize_attr :dates_source
71+
strong_memoize_attr :rollupable_dates
7172

7273
def dates_source_present?
7374
return false if work_item&.dates_source.blank?
@@ -77,6 +78,7 @@ def dates_source_present?
7778
.slice(:start_date, :start_date_fixed, :due_date, :due_date_fixed)
7879
.any? { |_, value| value.present? }
7980
end
81+
strong_memoize_attr :dates_source_present?
8082
end
8183
end
8284
end

app/views/profiles/preferences/show.html.haml

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
- rich_text_editor_help_text = s_('Preferences|Type in rich text, as you see it.')
1111
- @color_modes = Gitlab::ColorModes::available_modes.to_json
1212
- @themes = Gitlab::Themes::available_themes.to_json
13-
- extensions_marketplace_url = ::WebIde::ExtensionsMarketplace.marketplace_home_url
13+
- extensions_marketplace_url = ::WebIde::ExtensionMarketplace.marketplace_home_url
1414
- data_attributes = { color_modes: @color_modes, themes: @themes, integration_views: integration_views.to_json, user_fields: user_fields, body_classes: Gitlab::Themes.body_classes, profile_preferences_path: profile_preferences_path, extensions_marketplace_url: extensions_marketplace_url }
1515
- @force_desktop_expanded_sidebar = true
1616

doc/administration/settings/sign_up_restrictions.md

+4-3
Original file line numberDiff line numberDiff line change
@@ -130,16 +130,17 @@ When you turn on restricted access, the following known issues might occur and r
130130
- You use SAML or SCIM to add new members, and have exceeded the number of seats in the subscription.
131131
- Multiple users with administrator access add members simultaneously.
132132
- New billable users delay accepting an invitation.
133-
- You change from using the user cap to restricted access, and have users pending approval
134-
from before you changed to restricted access. In this case, those users remain in a pending state. If
135-
pending users are approved while using restricted access, you might exceed the number of seats in your subscription.
136133
- If you renew your subscription through the GitLab Sales Team for fewer users than your current
137134
subscription, you will incur an overage fee. To avoid this fee, remove additional users before your
138135
renewal starts. For example, if you have 20 users and renew your subscription for 15 users,
139136
you will be charged overages for the five additional users.
140137

141138
## User cap
142139

140+
DETAILS:
141+
**Tier:** Premium, Ultimate
142+
**Offering:** GitLab Self-Managed
143+
143144
The user cap is the maximum number of billable users who can sign up or be added to a subscription
144145
without administrator approval. After the user cap is reached, users who sign up or are
145146
added must be [approved](../moderate_users.md#approve-or-reject-a-user-sign-up)

doc/development/documentation/_index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ rather than using the GitLab community fork.
9090
The changes were added to GitLab in your forked repository, in a branch with the name noted in the last step.
9191

9292
Now, create a merge request. This merge request is how the changes from your branch
93-
will be merged into the GitLab `master` branch.
93+
are merged into the GitLab `master` branch.
9494

9595
1. On the left sidebar, select **Code > Merge requests**.
9696
1. Select **New merge request**.

doc/development/documentation/backporting.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,8 @@ you must update the Docker image that holds that version's documentation.
102102
The Docker image determines the contents that are displayed when you select the
103103
version dropdown list in the upper-right corner of the documentation.
104104

105-
Run a [new pipeline](https://gitlab.com/gitlab-org/gitlab-docs/-/pipelines/new)
106-
in the `gitlab-docs` repository for every version of the documentation that needs
105+
Run a [new pipeline](https://gitlab.com/gitlab-org/technical-writing/docs-gitlab-com/-/pipelines/new)
106+
in the `docs-gitlab-com` repository for every version of the documentation that needs
107107
an update.
108108

109109
Choose the branch name that matches the stable version, for example `16.11` or `17.0`.
@@ -116,8 +116,8 @@ If the backport change was made to one of the last three stable branches,
116116
update the main docs site:
117117

118118
1. After the pipeline finishes and the Docker image is updated, go to the
119-
[pipeline schedules](https://gitlab.com/gitlab-org/gitlab-docs/-/pipeline_schedules)
120-
and run the **Build Docker images manually** schedule.
119+
[pipeline schedules](https://gitlab.com/gitlab-org/technical-writing/docs-gitlab-com/-/pipeline_schedules)
120+
and run the **Build Docker images pipeline (Manual)** schedule.
121121

122122
1. A dialog with a link to the **pipelines** page appears. Select that link.
123123

@@ -128,7 +128,7 @@ update the main docs site:
128128
**test:image:docs-latest** job in the **test** stage to finish first.
129129

130130
1. When the **image:docs-latest** job is finished,
131-
[run a new pipeline](https://gitlab.com/gitlab-org/gitlab-docs/-/pipelines/new)
131+
[run a new pipeline](https://gitlab.com/gitlab-org/technical-writing/docs-gitlab-com/-/pipelines/new)
132132
that targets the main branch.
133133

134134
1. After the pipeline finishes, go to `https://docs.gitlab.com` and verify that

doc/development/documentation/drawers.md

+2-7
Original file line numberDiff line numberDiff line change
@@ -45,14 +45,9 @@ To create this content:
4545
The `H1` heading is the drawer title.
4646
- Do not include any characters other than plain text in the `H1`.
4747
- The drawer component is narrow and not resizable.
48-
- If you include tables, the content within should be brief.
48+
- If you include tables, the content in the table should be brief.
4949
- While no technical limitation exists on the number of characters
5050
you can use, you should preview the drawer content to
5151
ensure it renders well.
5252
- To link from the drawer to other content, use absolute URLs.
53-
- Do not include:
54-
- Tier badges
55-
- History text
56-
- Alert boxes
57-
- Images
58-
- SVG icons
53+
- Do not include Hugo shortcodes, such as Alert boxes or SVG icons.

doc/development/documentation/experiment_beta.md

+16-5
Original file line numberDiff line numberDiff line change
@@ -22,28 +22,39 @@ When the feature changes from experiment or beta to generally available:
2222
## Features that require user enrollment or feedback
2323

2424
To include details about how users should enroll or leave feedback,
25-
add it below the `FLAG:` note.
25+
add it below the `type=flag` alert.
2626

2727
For example:
2828

2929
```markdown
3030
## Great new feature
3131

32-
DETAILS:
33-
**Status:** Experiment
32+
{{</* details */>}}
3433

35-
> - [Introduced](https://issue-link) in GitLab 15.10. This feature is an [experiment](<link_to>/policy/development_stages_support.md).
34+
Status: Experiment
35+
36+
{{</* /details */>}}
37+
38+
{{</* history */>}}
39+
40+
- [Introduced](https://issue-link) in GitLab 15.10. This feature is an [experiment](<link_to>/policy/development_stages_support.md).
41+
42+
{{</* /history */>}}
43+
44+
{{</* alert type="flag" */>}}
3645

37-
FLAG:
3846
The availability of this feature is controlled by a feature flag.
3947
For more information, see the history.
4048
This feature is available for testing, but not ready for production use.
4149

50+
{{</* /alert */>}}
51+
4252
Use this new feature when you need to do this new thing.
4353

4454
This feature is an [experiment](<link_to>/policy/development_stages_support.md). To join
4555
the list of users testing this feature, do this thing. If you find a bug,
4656
[open an issue](https://link).
57+
4758
```
4859

4960
## GitLab Duo features

0 commit comments

Comments
 (0)