diff --git a/.rubocop_todo/lint/duplicate_branch.yml b/.rubocop_todo/lint/duplicate_branch.yml index 207b7bcb532..2402b6ae378 100644 --- a/.rubocop_todo/lint/duplicate_branch.yml +++ b/.rubocop_todo/lint/duplicate_branch.yml @@ -3,7 +3,6 @@ Lint/DuplicateBranch: Exclude: - 'app/controllers/concerns/issuable_collections.rb' - 'app/controllers/concerns/sorting_preference.rb' - - 'app/controllers/projects/google_cloud/databases_controller.rb' - 'app/helpers/icons_helper.rb' - 'app/helpers/labels_helper.rb' - 'app/models/application_setting_implementation.rb' diff --git a/.rubocop_todo/lint/duplicate_case_condition.yml b/.rubocop_todo/lint/duplicate_case_condition.yml deleted file mode 100644 index d7e1eac2e03..00000000000 --- a/.rubocop_todo/lint/duplicate_case_condition.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -Lint/DuplicateCaseCondition: - Exclude: - - 'app/helpers/icons_helper.rb' diff --git a/GITLAB_KAS_VERSION b/GITLAB_KAS_VERSION index 5267e0d4a12..e1f61f291ab 100644 --- a/GITLAB_KAS_VERSION +++ b/GITLAB_KAS_VERSION @@ -1 +1 @@ -3030e219d83d55b287a9b3934141a8d5d8d67d22 +b446ea3d1838519a0d8f09885d8e907addd7d780 diff --git a/app/assets/javascripts/diffs/components/diff_stats.vue b/app/assets/javascripts/diffs/components/diff_stats.vue index 0dfb998630d..376233c0533 100644 --- a/app/assets/javascripts/diffs/components/diff_stats.vue +++ b/app/assets/javascripts/diffs/components/diff_stats.vue @@ -1,11 +1,11 @@ @@ -63,21 +75,27 @@ export default {
- {{ diffsCount }} {{ filesText }} + + + + +
-
- + - {{ addedLines }} -
-
- - {{ removedLines }} +
+
+ + + {{ addedLines }} +
+
+ + {{ removedLines }} +
diff --git a/app/assets/javascripts/gitlab_pages/components/deployments.vue b/app/assets/javascripts/gitlab_pages/components/deployments.vue index 4609af0a565..08406f9560c 100644 --- a/app/assets/javascripts/gitlab_pages/components/deployments.vue +++ b/app/assets/javascripts/gitlab_pages/components/deployments.vue @@ -1,5 +1,5 @@ @@ -405,11 +418,11 @@ export default {
{{ tab.text }} {{ numberToMetricPrefix(tabCount(tab)) }}{{ tabCount(tab) }}
@@ -431,6 +444,7 @@ export default { @offset-page-change="onOffsetPageChange" @refetch="onRefetch" @query-complete="onQueryComplete" + @update-count="onUpdateCount" /> diff --git a/app/assets/javascripts/pages/sessions/new/signin_tabs_memoizer.js b/app/assets/javascripts/pages/sessions/new/signin_tabs_memoizer.js index 457bfb9ecc7..f80b54d202f 100644 --- a/app/assets/javascripts/pages/sessions/new/signin_tabs_memoizer.js +++ b/app/assets/javascripts/pages/sessions/new/signin_tabs_memoizer.js @@ -40,6 +40,9 @@ export default class SigninTabsMemoizer { const tab = document.querySelector(`${this.tabSelector} a[href="${anchorName}"]`); if (tab) { tab.click(); + const section = document.querySelector(anchorName); + section.querySelector('[autocomplete=current-password]')?.focus(); + section.querySelector('[autocomplete=username]')?.focus(); } else { const firstTab = document.querySelector(`${this.tabSelector} a`); if (firstTab) { diff --git a/app/assets/javascripts/projects/your_work/graphql/queries/project_counts.query.graphql b/app/assets/javascripts/projects/your_work/graphql/queries/project_counts.query.graphql index b3dbebcc9a8..1f1446a2a8c 100644 --- a/app/assets/javascripts/projects/your_work/graphql/queries/project_counts.query.graphql +++ b/app/assets/javascripts/projects/your_work/graphql/queries/project_counts.query.graphql @@ -1,20 +1,28 @@ -query getProjectCounts { +# Since GraphQL doesn't support string comparison in @skip(if:) +# we use the naming convention of skip${tabValue} in camelCase +query getProjectCounts( + $skipContributed: Boolean = false + $skipStarred: Boolean = false + $skipPersonal: Boolean = false + $skipMember: Boolean = false + $skipInactive: Boolean = false +) { currentUser { id - contributed: contributedProjects { + contributed: contributedProjects @skip(if: $skipContributed) { count } - starred: starredProjects { + starred: starredProjects @skip(if: $skipStarred) { count } } - personal: projects(personal: true) { + personal: projects(personal: true) @skip(if: $skipPersonal) { count } - member: projects(membership: true) { + member: projects(membership: true) @skip(if: $skipMember) { count } - inactive: projects(archived: ONLY, membership: true) { + inactive: projects(archived: ONLY, membership: true) @skip(if: $skipInactive) { count } } diff --git a/app/assets/javascripts/projects/your_work/graphql/queries/projects.query.graphql b/app/assets/javascripts/projects/your_work/graphql/queries/projects.query.graphql index 045ad2cf35e..e003879e76e 100644 --- a/app/assets/javascripts/projects/your_work/graphql/queries/projects.query.graphql +++ b/app/assets/javascripts/projects/your_work/graphql/queries/projects.query.graphql @@ -33,5 +33,6 @@ query getYourWorkProjects( pageInfo { ...PageInfo } + count } } diff --git a/app/assets/javascripts/projects/your_work/graphql/queries/user_projects.query.graphql b/app/assets/javascripts/projects/your_work/graphql/queries/user_projects.query.graphql index 8e4e7e16108..fd61b45c77e 100644 --- a/app/assets/javascripts/projects/your_work/graphql/queries/user_projects.query.graphql +++ b/app/assets/javascripts/projects/your_work/graphql/queries/user_projects.query.graphql @@ -31,6 +31,7 @@ query getYourWorkUserProjects( pageInfo { ...PageInfo } + count } starredProjects( first: $first @@ -48,6 +49,7 @@ query getYourWorkUserProjects( pageInfo { ...PageInfo } + count } } } diff --git a/app/assets/javascripts/token_access/components/token_access_table.vue b/app/assets/javascripts/token_access/components/token_access_table.vue index 5be7dd67640..c29da091aa5 100644 --- a/app/assets/javascripts/token_access/components/token_access_table.vue +++ b/app/assets/javascripts/token_access/components/token_access_table.vue @@ -8,7 +8,7 @@ import { GlSprintf, GlTooltipDirective, } from '@gitlab/ui'; -import { TYPENAME_GROUP } from '~/graphql_shared/constants'; +import { TYPENAME_CI_JOB_TOKEN_ACCESSIBLE_GROUP } from '~/graphql_shared/constants'; import ProjectAvatar from '~/vue_shared/components/project_avatar.vue'; import { s__, __ } from '~/locale'; import { JOB_TOKEN_POLICIES } from '../constants'; @@ -78,7 +78,7 @@ export default { methods: { itemType(item) { // eslint-disable-next-line no-underscore-dangle - return item.__typename === TYPENAME_GROUP ? 'group' : 'project'; + return item.__typename === TYPENAME_CI_JOB_TOKEN_ACCESSIBLE_GROUP ? 'group' : 'project'; }, getPolicies(policyKeys) { return policyKeys?.map((key) => JOB_TOKEN_POLICIES[key]); diff --git a/app/assets/javascripts/vue_shared/components/customizable_dashboard/dashboard_layout.vue b/app/assets/javascripts/vue_shared/components/customizable_dashboard/dashboard_layout.vue index 5f499af2512..bae3c19eea3 100644 --- a/app/assets/javascripts/vue_shared/components/customizable_dashboard/dashboard_layout.vue +++ b/app/assets/javascripts/vue_shared/components/customizable_dashboard/dashboard_layout.vue @@ -1,6 +1,6 @@