diff --git a/.gitlab/issue_templates/Operational Readiness.md b/.gitlab/issue_templates/Operational Readiness.md index 9a424b7c615..68575b9b4a3 100644 --- a/.gitlab/issue_templates/Operational Readiness.md +++ b/.gitlab/issue_templates/Operational Readiness.md @@ -105,7 +105,7 @@ Complete common and the appropriate checklists per the type of new component men ### New data store, third party dependency - [ ] Legal and Security - - [ ] What is the [classification](https://about.gitlab.com/handbook/security/data-classification-standard.html#data-classification-levels) of data stored in the data store? + - [ ] What is the [classification](https://handbook.gitlab.com/handbook/security/data-classification-standard/#data-classification-levels) of data stored in the data store? - [ ] Have they got any security standards to meet our and/or our customers' requirements? (i.e. FIPS and/or Fed-RAMP) If not, what needs to be done? - [ ] Development, Testing, Deployment, and Operation - [ ] What integration types do they provide, e.g. SaaS and/or self-hosting? diff --git a/GITLAB_KAS_VERSION b/GITLAB_KAS_VERSION index 64d019e35d5..5c6166f54b6 100644 --- a/GITLAB_KAS_VERSION +++ b/GITLAB_KAS_VERSION @@ -1 +1 @@ -2b6ddffe03cec87d2ad017a44cb8ea854e4a9200 +2c3d376351199588c5e6e1c17feb97a7d800f579 diff --git a/Gemfile.checksum b/Gemfile.checksum index fc06f0f368e..962075e4bcf 100644 --- a/Gemfile.checksum +++ b/Gemfile.checksum @@ -218,7 +218,7 @@ {"name":"gitaly","version":"17.8.4","platform":"ruby","checksum":"196d9735a83f8a7d396baa216b979eb0c801622d8b7573f90010338d5b0c7b4f"}, {"name":"gitlab","version":"4.19.0","platform":"ruby","checksum":"3f645e3e195dbc24f0834fbf83e8ccfb2056d8e9712b01a640aad418a6949679"}, {"name":"gitlab-chronic","version":"0.10.6","platform":"ruby","checksum":"a244d11a1396d2aac6ae9b2f326adf1605ec1ad20c29f06e8b672047d415a9ac"}, -{"name":"gitlab-cloud-connector","version":"1.11.0","platform":"ruby","checksum":"fb131bb3d04a7d014a08311cd7ff669ed3c5577d9d0b11df7216f768dfd5c0c8"}, +{"name":"gitlab-cloud-connector","version":"1.12.0","platform":"ruby","checksum":"b1eb7b0f5cb6633929681904d92771b387ec126b02319cd6cb62dd04bd5750af"}, {"name":"gitlab-crystalball","version":"0.7.2","platform":"ruby","checksum":"c4ed7871d5952377ba38dedc2d64febc204273b5a7d98c954b777b4a9aceb49a"}, {"name":"gitlab-dangerfiles","version":"4.9.1","platform":"ruby","checksum":"296b19d8aca5e4da8d391234914a1c4dfedc29700ddbcd9c554b6ffaa7fdf1b2"}, {"name":"gitlab-experiment","version":"0.9.1","platform":"ruby","checksum":"f230ee742154805a755d5f2539dc44d93cdff08c5bbbb7656018d61f93d01f48"}, diff --git a/Gemfile.lock b/Gemfile.lock index 96a0854f3a8..e3ceaf40e89 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -748,7 +748,7 @@ GEM terminal-table (>= 1.5.1) gitlab-chronic (0.10.6) numerizer (~> 0.2) - gitlab-cloud-connector (1.11.0) + gitlab-cloud-connector (1.12.0) activesupport (~> 7.0) jwt (~> 2.9.3) gitlab-crystalball (0.7.2) diff --git a/Gemfile.next.checksum b/Gemfile.next.checksum index fc06f0f368e..962075e4bcf 100644 --- a/Gemfile.next.checksum +++ b/Gemfile.next.checksum @@ -218,7 +218,7 @@ {"name":"gitaly","version":"17.8.4","platform":"ruby","checksum":"196d9735a83f8a7d396baa216b979eb0c801622d8b7573f90010338d5b0c7b4f"}, {"name":"gitlab","version":"4.19.0","platform":"ruby","checksum":"3f645e3e195dbc24f0834fbf83e8ccfb2056d8e9712b01a640aad418a6949679"}, {"name":"gitlab-chronic","version":"0.10.6","platform":"ruby","checksum":"a244d11a1396d2aac6ae9b2f326adf1605ec1ad20c29f06e8b672047d415a9ac"}, -{"name":"gitlab-cloud-connector","version":"1.11.0","platform":"ruby","checksum":"fb131bb3d04a7d014a08311cd7ff669ed3c5577d9d0b11df7216f768dfd5c0c8"}, +{"name":"gitlab-cloud-connector","version":"1.12.0","platform":"ruby","checksum":"b1eb7b0f5cb6633929681904d92771b387ec126b02319cd6cb62dd04bd5750af"}, {"name":"gitlab-crystalball","version":"0.7.2","platform":"ruby","checksum":"c4ed7871d5952377ba38dedc2d64febc204273b5a7d98c954b777b4a9aceb49a"}, {"name":"gitlab-dangerfiles","version":"4.9.1","platform":"ruby","checksum":"296b19d8aca5e4da8d391234914a1c4dfedc29700ddbcd9c554b6ffaa7fdf1b2"}, {"name":"gitlab-experiment","version":"0.9.1","platform":"ruby","checksum":"f230ee742154805a755d5f2539dc44d93cdff08c5bbbb7656018d61f93d01f48"}, diff --git a/Gemfile.next.lock b/Gemfile.next.lock index 96a0854f3a8..e3ceaf40e89 100644 --- a/Gemfile.next.lock +++ b/Gemfile.next.lock @@ -748,7 +748,7 @@ GEM terminal-table (>= 1.5.1) gitlab-chronic (0.10.6) numerizer (~> 0.2) - gitlab-cloud-connector (1.11.0) + gitlab-cloud-connector (1.12.0) activesupport (~> 7.0) jwt (~> 2.9.3) gitlab-crystalball (0.7.2) diff --git a/app/assets/javascripts/access_tokens/index.js b/app/assets/javascripts/access_tokens/index.js index fffddce82d1..7e65e9230d7 100644 --- a/app/assets/javascripts/access_tokens/index.js +++ b/app/assets/javascripts/access_tokens/index.js @@ -1,9 +1,11 @@ import Vue from 'vue'; +import { pinia } from '~/pinia/instance'; import { convertObjectPropsToCamelCase, parseBoolean } from '~/lib/utils/common_utils'; import { parseRailsFormFields } from '~/lib/utils/forms'; import { __, sprintf } from '~/locale'; import Translate from '~/vue_shared/translate'; +import AccessTokens from '~/vue_shared/access_tokens/components/access_tokens.vue'; import AccessTokenTableApp from './components/access_token_table_app.vue'; import InactiveAccessTokenTableApp from './components/inactive_access_token_table_app.vue'; import ExpiresAtField from './components/expires_at_field.vue'; @@ -126,6 +128,44 @@ export const initNewAccessTokenApp = () => { }); }; +export const initSharedAccessTokenApp = () => { + const el = document.querySelector('#js-shared-access-token-app'); + + if (!el) { + return null; + } + + const { + accessTokenMaxDate, + accessTokenMinDate, + accessTokenCreate, + accessTokenRevoke, + accessTokenRotate, + accessTokenShow, + } = el.dataset; + + return new Vue({ + el, + name: 'AccessTokensRoot', + pinia, + provide: { + accessTokenMaxDate, + accessTokenMinDate, + accessTokenCreate, + accessTokenRevoke, + accessTokenRotate, + accessTokenShow, + }, + render(createElement) { + return createElement(AccessTokens, { + props: { + id: gon.current_user_id, + }, + }); + }, + }); +}; + export const initTokensApp = () => { const el = document.getElementById('js-tokens-app'); diff --git a/app/assets/javascripts/admin/users/components/admin_users_filter_app.vue b/app/assets/javascripts/admin/users/components/admin_users_filter_app.vue index c4033674a6b..b569c6d23fb 100644 --- a/app/assets/javascripts/admin/users/components/admin_users_filter_app.vue +++ b/app/assets/javascripts/admin/users/components/admin_users_filter_app.vue @@ -1,7 +1,7 @@ + + diff --git a/app/assets/javascripts/groups/components/empty_states/groups_explore_empty_state.vue b/app/assets/javascripts/groups/components/empty_states/groups_explore_empty_state.vue index 76e6bb5fe24..fc964b31ebc 100644 --- a/app/assets/javascripts/groups/components/empty_states/groups_explore_empty_state.vue +++ b/app/assets/javascripts/groups/components/empty_states/groups_explore_empty_state.vue @@ -1,20 +1,24 @@ diff --git a/app/assets/javascripts/groups/components/empty_states/inactive_projects_empty_state.vue b/app/assets/javascripts/groups/components/empty_states/inactive_projects_empty_state.vue index eb04a0abac2..f5a7a47b670 100644 --- a/app/assets/javascripts/groups/components/empty_states/inactive_projects_empty_state.vue +++ b/app/assets/javascripts/groups/components/empty_states/inactive_projects_empty_state.vue @@ -1,22 +1,32 @@ diff --git a/app/assets/javascripts/groups/components/empty_states/shared_groups_empty_state.vue b/app/assets/javascripts/groups/components/empty_states/shared_groups_empty_state.vue index cce7dd9485e..0ff20c9efcc 100644 --- a/app/assets/javascripts/groups/components/empty_states/shared_groups_empty_state.vue +++ b/app/assets/javascripts/groups/components/empty_states/shared_groups_empty_state.vue @@ -1,12 +1,14 @@ diff --git a/app/assets/javascripts/groups/components/empty_states/shared_projects_empty_state.vue b/app/assets/javascripts/groups/components/empty_states/shared_projects_empty_state.vue index a4af9bd09f8..b6efe078df8 100644 --- a/app/assets/javascripts/groups/components/empty_states/shared_projects_empty_state.vue +++ b/app/assets/javascripts/groups/components/empty_states/shared_projects_empty_state.vue @@ -1,11 +1,13 @@ diff --git a/app/assets/javascripts/groups/components/empty_states/subgroups_and_projects_empty_state.vue b/app/assets/javascripts/groups/components/empty_states/subgroups_and_projects_empty_state.vue index 8aba06fc2d7..e28f91123b4 100644 --- a/app/assets/javascripts/groups/components/empty_states/subgroups_and_projects_empty_state.vue +++ b/app/assets/javascripts/groups/components/empty_states/subgroups_and_projects_empty_state.vue @@ -1,11 +1,12 @@ diff --git a/app/assets/javascripts/groups/components/groups_list_with_filtered_search_app.vue b/app/assets/javascripts/groups/components/groups_list_with_filtered_search_app.vue index 2463bc26b45..2c611a99193 100644 --- a/app/assets/javascripts/groups/components/groups_list_with_filtered_search_app.vue +++ b/app/assets/javascripts/groups/components/groups_list_with_filtered_search_app.vue @@ -149,7 +149,7 @@ export default { /> diff --git a/app/assets/javascripts/groups/components/overview_tabs.vue b/app/assets/javascripts/groups/components/overview_tabs.vue index dbfbdfb0da1..8f452b64b25 100644 --- a/app/assets/javascripts/groups/components/overview_tabs.vue +++ b/app/assets/javascripts/groups/components/overview_tabs.vue @@ -27,8 +27,6 @@ import SharedProjectsEmptyState from './empty_states/shared_projects_empty_state import SharedGroupsEmptyState from './empty_states/shared_groups_empty_state.vue'; import InactiveProjectsEmptyState from './empty_states/inactive_projects_empty_state.vue'; -const MIN_SEARCH_LENGTH = 3; - export default { components: { GlTabs, @@ -227,9 +225,7 @@ export default { onFilter(filtersQuery) { this.search = filtersQuery[OVERVIEW_TABS_FILTERED_SEARCH_TERM_KEY]; - if (!this.search || this.search.length >= MIN_SEARCH_LENGTH) { - this.handleSearchOrSortChange(); - } + this.handleSearchOrSortChange(); }, }, i18n: { @@ -263,7 +259,7 @@ export default { > diff --git a/app/assets/javascripts/groups/constants.js b/app/assets/javascripts/groups/constants.js index d8293453c18..ecc9ebd3452 100644 --- a/app/assets/javascripts/groups/constants.js +++ b/app/assets/javascripts/groups/constants.js @@ -7,6 +7,7 @@ import { } from '~/groups_projects/constants'; export const MAX_CHILDREN_COUNT = 20; +export const SEARCH_MINIMUM_LENGTH = 3; export const ACTIVE_TAB_SUBGROUPS_AND_PROJECTS = 'subgroups_and_projects'; export const ACTIVE_TAB_SHARED = 'shared'; diff --git a/app/assets/javascripts/groups/init_groups_list_with_filtered_search.js b/app/assets/javascripts/groups/init_groups_list_with_filtered_search.js index 792707b5679..53e278f25f3 100644 --- a/app/assets/javascripts/groups/init_groups_list_with_filtered_search.js +++ b/app/assets/javascripts/groups/init_groups_list_with_filtered_search.js @@ -47,7 +47,7 @@ export const initGroupsListWithFilteredSearch = ({ filteredSearchNamespace, Empt initialSort, }, scopedSlots: { - 'empty-state': () => createElement(EmptyState), + 'empty-state': ({ search }) => createElement(EmptyState, { props: { search } }), }, }); }, diff --git a/app/assets/javascripts/packages_and_registries/container_registry/explorer/components/delete_button.vue b/app/assets/javascripts/packages_and_registries/container_registry/explorer/components/delete_button.vue index bb1dac40b92..b268b0f3316 100644 --- a/app/assets/javascripts/packages_and_registries/container_registry/explorer/components/delete_button.vue +++ b/app/assets/javascripts/packages_and_registries/container_registry/explorer/components/delete_button.vue @@ -43,8 +43,7 @@ export default { :disabled="disabled" :title="title" :aria-label="title" - variant="danger" - category="secondary" + category="tertiary" icon="remove" @click="$emit('delete')" /> diff --git a/app/assets/javascripts/packages_and_registries/container_registry/explorer/components/details_page/tags_list_row.vue b/app/assets/javascripts/packages_and_registries/container_registry/explorer/components/details_page/tags_list_row.vue index 377f7d25920..f4a53858500 100644 --- a/app/assets/javascripts/packages_and_registries/container_registry/explorer/components/details_page/tags_list_row.vue +++ b/app/assets/javascripts/packages_and_registries/container_registry/explorer/components/details_page/tags_list_row.vue @@ -266,12 +266,11 @@ export default { variant="warning" /> - - -