Skip to content

Commit d03fff1

Browse files
author
GitLab Bot
committed
Add latest changes from gitlab-org/gitlab@master
1 parent e653e9a commit d03fff1

File tree

22 files changed

+918
-818
lines changed

22 files changed

+918
-818
lines changed

Gemfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -501,7 +501,7 @@ group :development, :test do
501501
gem 'awesome_print', require: false # rubocop:todo Gemfile/MissingFeatureCategory
502502

503503
gem 'database_cleaner-active_record', '~> 2.2.0', feature_category: :database
504-
gem 'rspec-rails', '~> 6.1.5', feature_category: :shared
504+
gem 'rspec-rails', '~> 7.0.0', feature_category: :shared
505505
gem 'factory_bot_rails', '~> 6.4.3', feature_category: :tooling
506506

507507
# Prevent occasions where minitest is not bundled in packaged versions of ruby (see #3826)

Gemfile.checksum

+2-2
Original file line numberDiff line numberDiff line change
@@ -598,11 +598,11 @@
598598
{"name":"rspec-benchmark","version":"0.6.0","platform":"ruby","checksum":"1014adb57ec2599a2455c63884229f367a2fff6a63a77fd68ce5d804c83dd6cf"},
599599
{"name":"rspec-core","version":"3.13.1","platform":"ruby","checksum":"9daa4ff29812e620193ebc8952e032f031fe167a9f6daf7ea3d29dc31d47c868"},
600600
{"name":"rspec-expectations","version":"3.13.3","platform":"ruby","checksum":"0e6b5af59b900147698ea0ff80456c4f2e69cac4394fbd392fbd1ca561f66c58"},
601-
{"name":"rspec-mocks","version":"3.13.1","platform":"ruby","checksum":"087189899c337937bcf1d66a50dc3fc999ac88335bbeba4d385c2a38c87d7b38"},
601+
{"name":"rspec-mocks","version":"3.13.2","platform":"ruby","checksum":"2327335def0e1665325a9b617e3af9ae20272741d80ac550336309a7c59abdef"},
602602
{"name":"rspec-parameterized","version":"1.0.2","platform":"ruby","checksum":"b456dec0091924175ac13963e173cdbaa2ab3e1581a405a948addc34e3f3f4c2"},
603603
{"name":"rspec-parameterized-core","version":"1.0.0","platform":"ruby","checksum":"287b494985e79821160af63aba4f91db8dbfa9a21cb200db34ba38f40e16ccc1"},
604604
{"name":"rspec-parameterized-table_syntax","version":"1.0.0","platform":"ruby","checksum":"d7df951eff9c5dd367ca7d5f9ae4853bb7ab7941f9d5b35bba361d112704988c"},
605-
{"name":"rspec-rails","version":"6.1.5","platform":"ruby","checksum":"d11afce893ceb6e2c3c11db280f83dee6d0120d150228cef6b989d37c7394c4b"},
605+
{"name":"rspec-rails","version":"7.0.1","platform":"ruby","checksum":"ad2b2cb6dabca072260e21b188059645bac10659466c02a674f9ad5fd97b92f9"},
606606
{"name":"rspec-retry","version":"0.6.2","platform":"ruby","checksum":"6101ba23a38809811ae3484acde4ab481c54d846ac66d5037ccb40131a60d858"},
607607
{"name":"rspec-support","version":"3.13.1","platform":"ruby","checksum":"48877d4f15b772b7538f3693c22225f2eda490ba65a0515c4e7cf6f2f17de70f"},
608608
{"name":"rspec_junit_formatter","version":"0.6.0","platform":"ruby","checksum":"40dde674e6ae4e6cc0ff560da25497677e34fefd2338cc467a8972f602b62b15"},

Gemfile.lock

+6-6
Original file line numberDiff line numberDiff line change
@@ -1594,7 +1594,7 @@ GEM
15941594
rspec-expectations (3.13.3)
15951595
diff-lcs (>= 1.2.0, < 2.0)
15961596
rspec-support (~> 3.13.0)
1597-
rspec-mocks (3.13.1)
1597+
rspec-mocks (3.13.2)
15981598
diff-lcs (>= 1.2.0, < 2.0)
15991599
rspec-support (~> 3.13.0)
16001600
rspec-parameterized (1.0.2)
@@ -1608,10 +1608,10 @@ GEM
16081608
rspec-parameterized-table_syntax (1.0.0)
16091609
binding_of_caller
16101610
rspec-parameterized-core (< 2)
1611-
rspec-rails (6.1.5)
1612-
actionpack (>= 6.1)
1613-
activesupport (>= 6.1)
1614-
railties (>= 6.1)
1611+
rspec-rails (7.0.1)
1612+
actionpack (>= 7.0)
1613+
activesupport (>= 7.0)
1614+
railties (>= 7.0)
16151615
rspec-core (~> 3.13)
16161616
rspec-expectations (~> 3.13)
16171617
rspec-mocks (~> 3.13)
@@ -2259,7 +2259,7 @@ DEPENDENCIES
22592259
rqrcode (~> 2.2)
22602260
rspec-benchmark (~> 0.6.0)
22612261
rspec-parameterized (~> 1.0, >= 1.0.2)
2262-
rspec-rails (~> 6.1.5)
2262+
rspec-rails (~> 7.0.0)
22632263
rspec-retry (~> 0.6.2)
22642264
rspec_junit_formatter
22652265
rspec_profiling (~> 0.0.9)

Gemfile.next.checksum

+2-2
Original file line numberDiff line numberDiff line change
@@ -611,11 +611,11 @@
611611
{"name":"rspec-benchmark","version":"0.6.0","platform":"ruby","checksum":"1014adb57ec2599a2455c63884229f367a2fff6a63a77fd68ce5d804c83dd6cf"},
612612
{"name":"rspec-core","version":"3.13.1","platform":"ruby","checksum":"9daa4ff29812e620193ebc8952e032f031fe167a9f6daf7ea3d29dc31d47c868"},
613613
{"name":"rspec-expectations","version":"3.13.3","platform":"ruby","checksum":"0e6b5af59b900147698ea0ff80456c4f2e69cac4394fbd392fbd1ca561f66c58"},
614-
{"name":"rspec-mocks","version":"3.13.1","platform":"ruby","checksum":"087189899c337937bcf1d66a50dc3fc999ac88335bbeba4d385c2a38c87d7b38"},
614+
{"name":"rspec-mocks","version":"3.13.2","platform":"ruby","checksum":"2327335def0e1665325a9b617e3af9ae20272741d80ac550336309a7c59abdef"},
615615
{"name":"rspec-parameterized","version":"1.0.2","platform":"ruby","checksum":"b456dec0091924175ac13963e173cdbaa2ab3e1581a405a948addc34e3f3f4c2"},
616616
{"name":"rspec-parameterized-core","version":"1.0.0","platform":"ruby","checksum":"287b494985e79821160af63aba4f91db8dbfa9a21cb200db34ba38f40e16ccc1"},
617617
{"name":"rspec-parameterized-table_syntax","version":"1.0.0","platform":"ruby","checksum":"d7df951eff9c5dd367ca7d5f9ae4853bb7ab7941f9d5b35bba361d112704988c"},
618-
{"name":"rspec-rails","version":"6.1.5","platform":"ruby","checksum":"d11afce893ceb6e2c3c11db280f83dee6d0120d150228cef6b989d37c7394c4b"},
618+
{"name":"rspec-rails","version":"7.0.1","platform":"ruby","checksum":"ad2b2cb6dabca072260e21b188059645bac10659466c02a674f9ad5fd97b92f9"},
619619
{"name":"rspec-retry","version":"0.6.2","platform":"ruby","checksum":"6101ba23a38809811ae3484acde4ab481c54d846ac66d5037ccb40131a60d858"},
620620
{"name":"rspec-support","version":"3.13.1","platform":"ruby","checksum":"48877d4f15b772b7538f3693c22225f2eda490ba65a0515c4e7cf6f2f17de70f"},
621621
{"name":"rspec_junit_formatter","version":"0.6.0","platform":"ruby","checksum":"40dde674e6ae4e6cc0ff560da25497677e34fefd2338cc467a8972f602b62b15"},

Gemfile.next.lock

+6-6
Original file line numberDiff line numberDiff line change
@@ -1620,7 +1620,7 @@ GEM
16201620
rspec-expectations (3.13.3)
16211621
diff-lcs (>= 1.2.0, < 2.0)
16221622
rspec-support (~> 3.13.0)
1623-
rspec-mocks (3.13.1)
1623+
rspec-mocks (3.13.2)
16241624
diff-lcs (>= 1.2.0, < 2.0)
16251625
rspec-support (~> 3.13.0)
16261626
rspec-parameterized (1.0.2)
@@ -1634,10 +1634,10 @@ GEM
16341634
rspec-parameterized-table_syntax (1.0.0)
16351635
binding_of_caller
16361636
rspec-parameterized-core (< 2)
1637-
rspec-rails (6.1.5)
1638-
actionpack (>= 6.1)
1639-
activesupport (>= 6.1)
1640-
railties (>= 6.1)
1637+
rspec-rails (7.0.1)
1638+
actionpack (>= 7.0)
1639+
activesupport (>= 7.0)
1640+
railties (>= 7.0)
16411641
rspec-core (~> 3.13)
16421642
rspec-expectations (~> 3.13)
16431643
rspec-mocks (~> 3.13)
@@ -2286,7 +2286,7 @@ DEPENDENCIES
22862286
rqrcode (~> 2.2)
22872287
rspec-benchmark (~> 0.6.0)
22882288
rspec-parameterized (~> 1.0, >= 1.0.2)
2289-
rspec-rails (~> 6.1.5)
2289+
rspec-rails (~> 7.0.0)
22902290
rspec-retry (~> 0.6.2)
22912291
rspec_junit_formatter
22922292
rspec_profiling (~> 0.0.9)

app/assets/javascripts/work_items/components/create_work_item.vue

+9
Original file line numberDiff line numberDiff line change
@@ -427,6 +427,15 @@ export default {
427427
},
428428
handleCancelClick() {
429429
this.$emit('cancel');
430+
const workItemTypeName = this.selectedWorkItemTypeName || this.workItemTypeName;
431+
const autosaveKey = getNewWorkItemAutoSaveKey(this.fullPath, workItemTypeName);
432+
clearDraft(autosaveKey);
433+
setNewWorkItemCache(
434+
this.fullPath,
435+
this.workItemTypes[0]?.widgetDefinitions,
436+
this.selectedWorkItemTypeName,
437+
this.workItemTypes[0]?.id,
438+
);
430439
},
431440
},
432441
NEW_WORK_ITEM_IID,

app/models/namespaces/traversal/linear.rb

+18-2
Original file line numberDiff line numberDiff line change
@@ -96,11 +96,17 @@ def use_traversal_ids?
9696
traversal_ids.present?
9797
end
9898

99+
# Return the top most ancestor of this namespace.
100+
# This method aims to minimize the number of queries by trying to re-use data that has already been loaded.
99101
def root_ancestor
100102
strong_memoize(:root_ancestor) do
101-
if association(:parent).loaded? && parent.present?
102-
# This case is possible when parent has not been persisted or we're inside a transaction.
103+
if parent_loaded_and_present?
103104
parent.root_ancestor
105+
elsif parent_id_present_and_traversal_ids_empty?
106+
# Parent is in the database, so find our root ancestor using our parent's traversal_ids.
107+
parent = Namespace.where(id: parent_id).select(:traversal_ids)
108+
Namespace.from("(#{parent.to_sql}) AS parent_namespace, namespaces")
109+
.find_by('namespaces.id = parent_namespace.traversal_ids[1]')
104110
elsif parent_id.nil?
105111
# There is no parent, so we are the root ancestor.
106112
self
@@ -300,6 +306,16 @@ def ancestors_upto_top_index(top)
300306
index + 1
301307
end
302308
end
309+
310+
# This case is possible when parent has not been persisted or we're inside a transaction.
311+
def parent_loaded_and_present?
312+
association(:parent).loaded? && parent.present?
313+
end
314+
315+
# This case occurs when parent is persisted but we are not.
316+
def parent_id_present_and_traversal_ids_empty?
317+
parent_id.present? && traversal_ids.empty?
318+
end
303319
end
304320
end
305321
end

doc/administration/packages/container_registry.md

+7-1
Original file line numberDiff line numberDiff line change
@@ -959,7 +959,7 @@ To configure a notification endpoint for a Linux package installation:
959959
registry['notifications'] = [
960960
{
961961
'name' => 'test_endpoint',
962-
'url' => 'https://gitlab.example.com/notify',
962+
'url' => 'https://gitlab.example.com/api/v4/container_registry_event/events',
963963
'timeout' => '500ms',
964964
'threshold' => 5, # DEPRECATED: use `maxretries` instead.
965965
'maxretries' => 5,
@@ -969,8 +969,14 @@ To configure a notification endpoint for a Linux package installation:
969969
}
970970
}
971971
]
972+
973+
gitlab_rails['registry_notification_secret'] = 'AUTHORIZATION_EXAMPLE_TOKEN' # Must match the auth token in registry['notifications']
972974
```
973975
976+
NOTE:
977+
Replace `AUTHORIZATION_EXAMPLE_TOKEN` with a case sensitive alphanumeric string
978+
that starts with a letter. You can generate one with `< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c 32 | sed "s/^[0-9]*//"; echo`
979+
974980
1. Save the file and [reconfigure GitLab](../restart_gitlab.md#reconfigure-a-linux-package-installation) for the changes to take effect.
975981

976982
:::TabTitle Self-compiled (source)

doc/administration/settings/rate_limit_on_projects_api.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ You can configure the rate limit per IP address and per user for requests to the
2525
| [GET /projects/:id](../../api/projects.md#get-a-single-project) | 400 | 1 minute |
2626
| [GET /users/:user_id/projects](../../api/projects.md#list-a-users-projects) | 300 | 1 minute |
2727
| [GET /users/:user_id/contributed_projects](../../api/projects.md#list-projects-a-user-has-contributed-to) | 100 | 1 minute |
28-
| [GET /users/:user_id/starred_projects](../../api/projects.md#list-projects-starred-by-a-user) | 100 | 1 minute |
28+
| [GET /users/:user_id/starred_projects](../../api/project_starring.md#list-projects-starred-by-a-user) | 100 | 1 minute |
2929

3030
To change the rate limit:
3131

doc/api/group_webhooks.md

+6
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ Example response:
6868
"wiki_page_events": false,
6969
"job_events": false,
7070
"deployment_events": false,
71+
"feature_flag_events": false,
7172
"releases_events": false,
7273
"subgroup_events": false,
7374
"emoji_events": false,
@@ -126,6 +127,7 @@ Example response:
126127
"pipeline_events": true,
127128
"wiki_page_events": true,
128129
"deployment_events": true,
130+
"feature_flag_events": false,
129131
"releases_events": true,
130132
"subgroup_events": true,
131133
"member_events": true,
@@ -487,6 +489,7 @@ Supported attributes:
487489
| `pipeline_events` | boolean | no | Trigger hook on pipeline events. |
488490
| `wiki_page_events` | boolean | no | Trigger hook on wiki page events. |
489491
| `deployment_events` | boolean | no | Trigger hook on deployment events. |
492+
| `feature_flag_events` | boolean | no | Trigger hook on feature flag events. |
490493
| `releases_events` | boolean | no | Trigger hook on release events. |
491494
| `subgroup_events` | boolean | no | Trigger hook on subgroup events. |
492495
| `member_events` | boolean | no | Trigger hook on member events. |
@@ -528,6 +531,7 @@ Example response:
528531
"pipeline_events": true,
529532
"wiki_page_events": true,
530533
"deployment_events": true,
534+
"feature_flag_events": true,
531535
"releases_events": true,
532536
"subgroup_events": true,
533537
"member_events": true,
@@ -572,6 +576,7 @@ Supported attributes:
572576
| `pipeline_events` | boolean | no | Trigger hook on pipeline events. |
573577
| `wiki_page_events` | boolean | no | Trigger hook on wiki page events. |
574578
| `deployment_events` | boolean | no | Trigger hook on deployment events. |
579+
| `feature_flag_events` | boolean | no | Trigger hook on feature flag events. |
575580
| `releases_events` | boolean | no | Trigger hook on release events. |
576581
| `subgroup_events` | boolean | no | Trigger hook on subgroup events. |
577582
| `member_events` | boolean | no | Trigger hook on member events. |
@@ -614,6 +619,7 @@ Example response:
614619
"pipeline_events": true,
615620
"wiki_page_events": true,
616621
"deployment_events": true,
622+
"feature_flag_events": true,
617623
"releases_events": true,
618624
"subgroup_events": true,
619625
"member_events": true,

0 commit comments

Comments
 (0)