diff options
210 files changed, 775 insertions, 1195 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 5d3cd42a95d..838a0a9bde9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,186 @@ documentation](doc/development/changelog.md) for instructions on adding your own entry. +## 10.0.0 (2017-09-22) + +- [SECURITY] Upgrade brace-expansion NPM package due to security issue. !13665 (Markus Koller) +- [REMOVED] Remove CI API v1. +- [FIXED] Ensure correct visibility level options shown on all Project, Group, and Snippets forms. !13442 +- [FIXED] Fix the /projects/:id/repository/files/:file_path/raw endpoint to handle dots in the file_path. !13512 (mahcsig) +- [FIXED] Merge request reference in merge commit changed to full reference. !13518 (haseebeqx) +- [FIXED] Removes Sortable default scope. !13558 +- [FIXED] Wiki table of contents are now properly nested to reflect header level. !13650 (Akihiro Nakashima) +- [FIXED] Improve bare project import: Allow subgroups, take default visibility level into account. !13670 +- [FIXED] Fix group and project search for anonymous users. !13745 +- [FIXED] Fix searching for files by path. !13798 +- [FIXED] Fix division by zero error in blame age mapping. !13803 (Jeff Stubler) +- [FIXED] Fix incorrect date/time formatting on prometheus graphs. !13865 +- [FIXED] Changes the password change workflow for admins. !13901 +- [FIXED] API: Respect default group visibility when creating a group. !13903 (Robert Schilling) +- [FIXED] Unescape HTML characters in Wiki title. !13942 (Jacopo Beschi @jacopo-beschi) +- [FIXED] Make blob viewer for rich contents wider for mobile. !14011 (Takuya Noguchi) +- [FIXED] Fix typo in the API Deploy Keys documentation page. !14014 (Vitaliy @blackst0ne Klachkov) +- [FIXED] Hide admin link from default search results for non-admins. !14015 +- [FIXED] Fix problems sanitizing URLs with empty passwords. !14083 +- [FIXED] Fix stray OR in New Project page. !14096 (Robin Bobbitt) +- [FIXED] Fix a wrong `X-Gitlab-Event` header when testing webhooks. !14108 +- [FIXED] Fix the diff file header from being html escaped for renamed files. !14121 +- [FIXED] Image attachments are properly displayed in notification emails again. !14161 +- [FIXED] Fixes the 500 errors caused by a race condition in GPG's tmp directory handling. !14194 (Alexis Reigel) +- [FIXED] Fix MR ready to merge buttons/controls at mobile breakpoint. !14242 +- [FIXED] Fix Pipeline Triggers to show triggered label and predefined variables (e.g. CI_PIPELINE_TRIGGERED). !14244 +- [FIXED] Allow using newlines in pipeline email service recipients. !14250 +- [FIXED] Fix errors when moving issue with reference to a group milestone. !14294 +- [FIXED] Fix the "resolve discussion in a new issue" button. !14357 +- [FIXED] File uploaders do not perform hard check, only soft check. +- [FIXED] Add to_project_id parameter to Move Issue via API example. +- [FIXED] Update x/x discussions resolved checkmark icon to be green when all discussions resolved. +- [FIXED] Fixed add diff note button not showing after deleting a comment. +- [FIXED] Fix broken svg in jobs dropdown for success status. +- [FIXED] Fix buttons with different height in merge request widget. +- [FIXED] Removes disabled state from dashboard project button. +- [FIXED] Better align fallback image emojis. +- [FIXED] Remove focus styles from dropdown empty links. +- [FIXED] Fix inconsistent spacing for edit buttons on issues and merge request page. +- [FIXED] Fix edit merge request and issues button inconsistent letter casing. +- [FIXED] Improve Import/Export memory usage. +- [FIXED] Fix Import/Export issue to do with fork merge requests. +- [FIXED] Fix invite by email address duplication. +- [FIXED] Adds tooltip to the branch name and improves performance. +- [FIXED] Disable GitLab Project Import Button if source disabled. +- [FIXED] Migrate issues authored by deleted user to the Ghost user. +- [FIXED] Fix new navigation wrapping and causing height to grow. +- [FIXED] Normalize styles for empty state combo button. +- [FIXED] Fix external link to Composer website. +- [FIXED] Prevents jobs dropdown from closing in pipeline graph. +- [FIXED] Include the `is_admin` field in the `GET /users/:id` API when current user is an admin. +- [FIXED] Fix breadcrumbs container in issue boards. +- [FIXED] Fix project feature being deleted when updating project with invalid visibility level. +- [FIXED] Truncate milestone title if sidebar is collapsed. +- [FIXED] Prevents rendering empty badges when request fails. +- [FIXED] Fixes margins on the top buttons of the pipeline table. +- [FIXED] Bump jira-ruby gem to 1.4.1 to fix issues with HTTP proxies. +- [FIXED] Eliminate N+1 queries in loading discussions.json endpoint. +- [FIXED] Eliminate N+1 queries referencing issues. +- [FIXED] Remove unnecessary loading of discussions in `IssuesController#show`. +- [FIXED] Fix errors thrown in merge request widget with external CI service/integration. +- [FIXED] Do not show the Auto DevOps banner when the project has a .gitlab-ci.yml on master. +- [FIXED] Reword job to pipeline to reflect what the graphs are really about. +- [FIXED] Sort templates in the dropdown. +- [FIXED] Fix Auto DevOps banner to be shown on empty projects. +- [FIXED] Resolve Image onion skin + swipe does not work anymore. +- [FIXED] Fix mini graph pipeline breakin in merge request view. +- [FIXED] Fixed merge request changes bar jumping. +- [FIXED] Improve migrations using triggers. +- [FIXED] Fix ConvDev Index nav item and Monitoring submenu regression. +- [DEPRECATED] Deprecate custom SSH client configuration for the git user. !13930 +- [CHANGED] allow all users to delete their account. !13636 (Jacopo Beschi @jacopo-beschi) +- [CHANGED] Use full path of project's avatar in webhooks. !13649 (Vitaliy @blackst0ne Klachkov) +- [CHANGED] Add filtered search to group merge requests dashboard. !13688 (Hiroyuki Sato) +- [CHANGED] Fire hooks asynchronously when creating a new job to improve performance. !13734 +- [CHANGED] Improve performance for AutocompleteController#users.json. !13754 (Hiroyuki Sato) +- [CHANGED] Update the GPG verification semantics: A GPG signature must additionally match the committer in order to be verified. !13771 (Alexis Reigel) +- [CHANGED] Support a multi-word fuzzy seach issues/merge requests on search bar. !13780 (Hiroyuki Sato) +- [CHANGED] Default LDAP config "verify_certificates" to true for security. !13915 +- [CHANGED] "Share with group lock" now applies to subgroups, but owner can override setting on subgroups. !13944 +- [CHANGED] Make Gitaly PostUploadPack mandatory. !13953 +- [CHANGED] Remove project select dropdown from breadcrumb. !14010 +- [CHANGED] Redesign project feature permissions settings. !14062 +- [CHANGED] Document version Group Milestones API introduced. +- [CHANGED] Finish migration to the new events setup. +- [CHANGED] restyling of OAuth authorization confirmation. (Jacopo Beschi @jacopo-beschi) +- [CHANGED] Added support for specific labels and colors. +- [CHANGED] Move "Move issue" controls to right-sidebar. +- [CHANGED] Remove pages settings when not available. +- [CHANGED] Allow all AutoDevOps banners to be turned off. +- [CHANGED] Update Rails project template to use Postgresql by default. +- [CHANGED] Added support the multiple time series for prometheus monitoring. +- [ADDED] API: Respect the "If-Unmodified-Since" header when delting a resource. !9621 (Robert Schilling) +- [ADDED] Protected runners. !13194 +- [ADDED] Add support for copying permalink to notes via more actions dropdown. !13299 +- [ADDED] Add API support for wiki pages. !13372 (Vitaliy @blackst0ne Klachkov) +- [ADDED] Add a `Last 7 days` option for Cycle Analytics view. !13443 (Mehdi Lahmam (@mehlah)) +- [ADDED] inherits milestone and labels when a merge request is created from issue. !13461 (haseebeqx) +- [ADDED] Add 'from commit' information to cherry-picked commits. !13475 (Saverio Miroddi) +- [ADDED] Add an option to list only archived projects. !13492 (Mehdi Lahmam (@mehlah)) +- [ADDED] Extend API: Pipeline Schedule Variable. !13653 +- [ADDED] Add settings for minimum SSH key strength and allowed key type. !13712 (Cory Hinshaw) +- [ADDED] Add div id to the readme in the project overview. !13735 (Riccardo Padovani @rpadovani) +- [ADDED] Add CI/CD job predefined variables with user name and login. !13824 +- [ADDED] API: Add GPG key management. !13828 (Robert Schilling) +- [ADDED] Add CI/CD active kubernetes job policy. !13849 +- [ADDED] Add dropdown to Projects nav item. !13866 +- [ADDED] Allow users and administrator to configure Auto-DevOps. !13923 +- [ADDED] Implement `failure_reason` on `ci_builds`. !13937 +- [ADDED] Add branch existence check to the APIv4 branches via HEAD request. !13979 (Vitaliy @blackst0ne Klachkov) +- [ADDED] Add quick submission on user settings page. !14007 (Vitaliy @blackst0ne Klachkov) +- [ADDED] Add my_reaction_emoji param to /issues and /merge_requests API. !14016 (Hiroyuki Sato) +- [ADDED] Make it possible to download a single job artifact file using the API. !14027 +- [ADDED] Add repository toggle for automatically resolving outdated diff discussions. !14053 (AshleyDumaine) +- [ADDED] Scripts to detect orphaned repositories. !14204 +- [ADDED] Created callout for auto devops. +- [ADDED] Add option in preferences to change navigation theme color. +- [ADDED] Add JSON logger in `log/api_json.log` for Grape API endpoints. +- [ADDED] Add CI_PIPELINE_SOURCE variable on CI Jobs. +- [ADDED] Changed message and title on the 404 page. (Branka Martinovic) +- [ADDED] Handle if Auto DevOps domain is not set in project settings. +- [ADDED] Add collapsable sections for Pipeline Settings. +- [OTHER] Add badge for dependency status. !13588 (Markus Koller) +- [OTHER] Migration to remove pending delete projects with non-existing namespace. !13598 +- [OTHER] Bump rouge to v2.2.0. !13633 +- [OTHER] Fix repository equality check and avoid fetching ref if the commit is already available. This affects merge request creation performance. !13685 +- [OTHER] Replace 'source/search_code.feature' spinach test with an rspec analog. !13697 (blackst0ne) +- [OTHER] Remove unwanted refs after importing a project. !13766 +- [OTHER] Never wait for sidekiq jobs when creating projects. !13775 +- [OTHER] Gitaly feature toggles are on by default in development. !13802 +- [OTHER] Remove `is_` prefix from predicate method names. !13810 (Maxim Rydkin) +- [OTHER] Update 'Using Docker images' documentation. !13848 +- [OTHER] Update gpg documentation with gpg2. !13851 (M M Arif) +- [OTHER] Replace 'project/star.feature' spinach test with an rspec analog. !13855 (Vitaliy @blackst0ne Klachkov) +- [OTHER] Replace 'project/user_lookup.feature' spinach test with an rspec analog. !13863 (Vitaliy @blackst0ne Klachkov) +- [OTHER] Bump rouge to v2.2.1. !13887 +- [OTHER] Add documentation for PlantUML in reStructuredText. !13900 (Markus Koller) +- [OTHER] Decrease ABC threshold to 55.25. !13904 (Maxim Rydkin) +- [OTHER] Decrease Cyclomatic Complexity threshold to 14. !13972 (Maxim Rydkin) +- [OTHER] Update documentation for confidential issue. !14117 +- [OTHER] Remove redundant WHERE from event queries. +- [OTHER] Memoize the latest builds of a pipeline on a project's homepage. +- [OTHER] Re-use issue/MR counts for the pagination system. +- [OTHER] Memoize pipelines for project download buttons. +- [OTHER] Reorganize indexes for the "deployments" table. +- [OTHER] Improves markdown rendering performance for commit lists. +- [OTHER] Only update the sidebar count caches when needed. +- [OTHER] Improves performance of vue code by using vue files and moving svg out of data function in pipeline schedule callout. +- [OTHER] Rework how recent push events are retrieved. +- [OTHER] Restyle dropdown menus to make them look consistent. +- [OTHER] Upgrade grape to 1.0. +- [OTHER] Add usage data for Auto DevOps. +- [OTHER] Cache the number of open issues and merge requests. +- [OTHER] Constrain environment deployments to project IDs. +- [OTHER] Eager load namespace owners for project dashboards. +- [OTHER] Add description template examples to documentation. +- [OTHER] Disallow NULL values for environments.project_id. +- Add my reaction filter to search bar. !12962 (Hiroyuki Sato) +- Generalize profile updates from providers. !12968 (Alexandros Keramidas) +- Validate PO-files in static analysis. !13000 +- First-time contributor badge. !13143 (Micaël Bergeron <micaelbergeron@gmail.com>) +- Add option to disable project export on instance. !13211 (Robin Bobbitt) +- Hashed Storage support for Repositories (EXPERIMENTAL). !13246 +- Added tests for commits API unauthenticated user and public/private project. !13287 (Jacopo Beschi @jacopo-beschi) +- Fix CI_PROJECT_PATH_SLUG slugify. !13350 (Ivan Chernov) +- Add checks for branch existence before changing HEAD. !13359 (Vitaliy @blackst0ne Klachkov) +- Fix the alignment of line numbers to lines of code in code viewer. !13403 (Trevor Flynn) +- Allow users to move issues to other projects using a / command. !13436 (Manolis Mavrofidis) +- Bumps omniauth-ldap gem version to 2.0.4. !13465 +- Implement the Gitaly RefService::RefExists endpoint. !13528 (Andrew Newdigate) +- Changed all font-weight values to 400 and 600 and introduced 2 variables to manage them. +- Simplify checking if objects exist code in new issaubles workers. +- Present enqueued merge jobs as Merging as well. +- Don't escape html entities in InlineDiffMarkdownMarker. +- Move ConvDev Index location to after Cohorts. +- Added type to CHANGELOG entries. (Jacopo Beschi @jacopo-beschi) +- [BUGIFX] Improves subgroup creation permissions. !13418 + ## 9.5.5 (2017-09-18) - [SECURITY] Upgrade mail and nokogiri gems due to security issues. !13662 (Markus Koller) diff --git a/GITALY_SERVER_VERSION b/GITALY_SERVER_VERSION index ca75280b09b..9b0025a7850 100644 --- a/GITALY_SERVER_VERSION +++ b/GITALY_SERVER_VERSION @@ -1 +1 @@ -0.38.0 +0.40.0 diff --git a/app/assets/javascripts/awards_handler.js b/app/assets/javascripts/awards_handler.js index ec5be8664b2..4f01345ee3b 100644 --- a/app/assets/javascripts/awards_handler.js +++ b/app/assets/javascripts/awards_handler.js @@ -24,6 +24,9 @@ const categoryLabelMap = { flags: 'Flags', }; +const IS_VISIBLE = 'is-visible'; +const IS_RENDERED = 'is-rendered'; + class AwardsHandler { constructor(emoji) { this.emoji = emoji; @@ -51,7 +54,7 @@ class AwardsHandler { if (!$target.closest('.emoji-menu').length) { if ($('.emoji-menu').is(':visible')) { $('.js-add-award.is-active').removeClass('is-active'); - $('.emoji-menu').removeClass('is-visible'); + this.hideMenuElement($('.emoji-menu')); } } }); @@ -88,12 +91,12 @@ class AwardsHandler { if ($menu.length) { if ($menu.is('.is-visible')) { $addBtn.removeClass('is-active'); - $menu.removeClass('is-visible'); + this.hideMenuElement($menu); $('.js-emoji-menu-search').blur(); } else { $addBtn.addClass('is-active'); this.positionMenu($menu, $addBtn); - $menu.addClass('is-visible'); + this.showMenuElement($menu); $('.js-emoji-menu-search').focus(); } } else { @@ -103,7 +106,7 @@ class AwardsHandler { $addBtn.removeClass('is-loading'); this.positionMenu($createdMenu, $addBtn); return setTimeout(() => { - $createdMenu.addClass('is-visible'); + this.showMenuElement($createdMenu); $('.js-emoji-menu-search').focus(); }, 200); }); @@ -241,7 +244,8 @@ class AwardsHandler { if (isInIssuePage() && !isMainAwardsBlock) { const id = votesBlock.attr('id').replace('note_', ''); - $('.emoji-menu').removeClass('is-visible'); + this.hideMenuElement($('.emoji-menu')); + $('.js-add-award.is-active').removeClass('is-active'); const toggleAwardEvent = new CustomEvent('toggleAward', { detail: { @@ -261,7 +265,8 @@ class AwardsHandler { return typeof callback === 'function' ? callback() : undefined; }); - $('.emoji-menu').removeClass('is-visible'); + this.hideMenuElement($('.emoji-menu')); + return $('.js-add-award.is-active').removeClass('is-active'); } @@ -529,6 +534,33 @@ class AwardsHandler { return $matchingElements.closest('li').clone(); } + /* showMenuElement and hideMenuElement are performance optimizations. We use + * opacity to show/hide the emoji menu, because we can animate it. But opacity + * leaves hidden elements in the render tree, which is unacceptable given the number + * of emoji elements in the emoji menu (5k+). To get the best of both worlds, we separately + * apply IS_RENDERED to add/remove the menu from the render tree and IS_VISIBLE to animate + * the menu being opened and closed. */ + + showMenuElement($emojiMenu) { + $emojiMenu.addClass(IS_RENDERED); + + // enqueues animation as a microtask, so it begins ASAP once IS_RENDERED added + return Promise.resolve() + .then(() => $emojiMenu.addClass(IS_VISIBLE)); + } + + hideMenuElement($emojiMenu) { + $emojiMenu.on(transitionEndEventString, (e) => { + if (e.currentTarget === e.target) { + $emojiMenu + .removeClass(IS_RENDERED) + .off(transitionEndEventString); + } + }); + + $emojiMenu.removeClass(IS_VISIBLE); + } + destroy() { this.eventListeners.forEach((entry) => { entry.element.off.call(entry.element, ...entry.args); diff --git a/app/assets/javascripts/pipelines/components/pipelines_actions.vue b/app/assets/javascripts/pipelines/components/pipelines_actions.vue index 01dfe51cc17..c4c63a52358 100644 --- a/app/assets/javascripts/pipelines/components/pipelines_actions.vue +++ b/app/assets/javascripts/pipelines/components/pipelines_actions.vue @@ -69,8 +69,7 @@ @click="onClickAction(action.path)" :class="{ disabled: isActionDisabled(action) }" :disabled="isActionDisabled(action)"> - <span v-html="playIconSvg"></span> - <span>{{action.name}}</span> + {{action.name}} </button> </li> </ul> diff --git a/app/assets/javascripts/pipelines/components/pipelines_artifacts.vue b/app/assets/javascripts/pipelines/components/pipelines_artifacts.vue index b19bd509a00..751a20991af 100644 --- a/app/assets/javascripts/pipelines/components/pipelines_artifacts.vue +++ b/app/assets/javascripts/pipelines/components/pipelines_artifacts.vue @@ -39,11 +39,7 @@ rel="nofollow" download :href="artifact.path"> - <i - class="fa fa-download" - aria-hidden="true"> - </i> - <span>Download {{artifact.name}} artifacts</span> + Download {{artifact.name}} artifacts </a> </li> </ul> diff --git a/app/assets/javascripts/vue_shared/components/table_pagination.vue b/app/assets/javascripts/vue_shared/components/table_pagination.vue index c9dbc048345..710452bb3d3 100644 --- a/app/assets/javascripts/vue_shared/components/table_pagination.vue +++ b/app/assets/javascripts/vue_shared/components/table_pagination.vue @@ -1,11 +1,13 @@ <script> +import { s__ } from '../../locale'; + const PAGINATION_UI_BUTTON_LIMIT = 4; const UI_LIMIT = 6; const SPREAD = '...'; -const PREV = 'Prev'; -const NEXT = 'Next'; -const FIRST = '« First'; -const LAST = 'Last »'; +const PREV = s__('Pagination|Prev'); +const NEXT = s__('Pagination|Next'); +const FIRST = s__('Pagination|« First'); +const LAST = s__('Pagination|Last »'); export default { props: { diff --git a/app/assets/stylesheets/framework/awards.scss b/app/assets/stylesheets/framework/awards.scss index bb30da4f4b2..e0d2ed80de5 100644 --- a/app/assets/stylesheets/framework/awards.scss +++ b/app/assets/stylesheets/framework/awards.scss @@ -9,6 +9,7 @@ } .emoji-menu { + display: none; position: absolute; top: 0; margin-top: 3px; @@ -27,6 +28,10 @@ transition: .3s cubic-bezier(.67, .06, .19, 1.44); transition-property: transform, opacity; + &.is-rendered { + display: block; + } + &.is-aligned-right { transform-origin: 100% -45px; } diff --git a/app/helpers/groups_helper.rb b/app/helpers/groups_helper.rb index e8efe8fab27..82bceddf1f0 100644 --- a/app/helpers/groups_helper.rb +++ b/app/helpers/groups_helper.rb @@ -125,7 +125,7 @@ module GroupsHelper end def default_help - s_("GroupSettings|This setting will be applied to all subgroups unless overridden by a group owner.") + s_("GroupSettings|This setting will be applied to all subgroups unless overridden by a group owner. Groups that already have access to the project will continue to have access unless removed manually.") end def ancestor_locked_but_you_can_override(group) diff --git a/app/helpers/sorting_helper.rb b/app/helpers/sorting_helper.rb index b408ec0c6a4..c4a73bedbcd 100644 --- a/app/helpers/sorting_helper.rb +++ b/app/helpers/sorting_helper.rb @@ -79,111 +79,111 @@ module SortingHelper end def sort_title_priority - 'Priority' + s_('SortOptions|Priority') end def sort_title_label_priority - 'Label priority' + s_('SortOptions|Label priority') end def sort_title_oldest_updated - 'Oldest updated' + s_('SortOptions|Oldest updated') end def sort_title_recently_updated - 'Last updated' + s_('SortOptions|Last updated') end def sort_title_oldest_activity - 'Oldest updated' + s_('SortOptions|Oldest updated') end def sort_title_latest_activity - 'Last updated' + s_('SortOptions|Last updated') end def sort_title_oldest_created - 'Oldest created' + s_('SortOptions|Oldest created') end def sort_title_recently_created - 'Last created' + s_('SortOptions|Last created') end def sort_title_milestone_soon - 'Milestone due soon' + s_('SortOptions|Milestone due soon') end def sort_title_milestone_later - 'Milestone due later' + s_('SortOptions|Milestone due later') end def sort_title_due_date_soon - 'Due soon' + s_('SortOptions|Due soon') end def sort_title_due_date_later - 'Due later' + s_('SortOptions|Due later') end def sort_title_start_date_soon - 'Start soon' + s_('SortOptions|Start soon') end def sort_title_start_date_later - 'Start later' + s_('SortOptions|Start later') end def sort_title_name - 'Name' + s_('SortOptions|Name') end def sort_title_largest_repo - 'Largest repository' + s_('SortOptions|Largest repository') end def sort_title_largest_group - 'Largest group' + s_('SortOptions|Largest group') end def sort_title_recently_signin - 'Recent sign in' + s_('SortOptions|Recent sign in') end def sort_title_oldest_signin - 'Oldest sign in' + s_('SortOptions|Oldest sign in') end def sort_title_downvotes - 'Least popular' + s_('SortOptions|Least popular') end def sort_title_upvotes - 'Most popular' + s_('SortOptions|Most popular') end def sort_title_last_joined - 'Last joined' + s_('SortOptions|Last joined') end def sort_title_oldest_joined - 'Oldest joined' + s_('SortOptions|Oldest joined') end def sort_title_access_level_asc - 'Access level, ascending' + s_('SortOptions|Access level, ascending') end def sort_title_access_level_desc - 'Access level, descending' + s_('SortOptions|Access level, descending') end def sort_title_name_asc - 'Name, ascending' + s_('SortOptions|Name, ascending') end def sort_title_name_desc - 'Name, descending' + s_('SortOptions|Name, descending') end def sort_value_last_joined diff --git a/app/models/repository.rb b/app/models/repository.rb index f11cf1b065d..90cede9d3d4 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -8,6 +8,7 @@ class Repository RESERVED_REFS_NAMES = %W[ heads tags + replace #{REF_ENVIRONMENTS} #{REF_KEEP_AROUND} #{REF_ENVIRONMENTS} diff --git a/app/views/projects/branches/_branch.html.haml b/app/views/projects/branches/_branch.html.haml index 05c1d2b383c..49101d1efa4 100644 --- a/app/views/projects/branches/_branch.html.haml +++ b/app/views/projects/branches/_branch.html.haml @@ -13,20 +13,23 @@ - if branch.name == @repository.root_ref %span.label.label-primary default - elsif @repository.merged_to_root_ref? branch.name - %span.label.label-info.has-tooltip{ title: "Merged into #{@repository.root_ref}" } - merged + %span.label.label-info.has-tooltip{ title: s_('Branches|Merged into %{default_branch}') % { default_branch: @repository.root_ref } } + = s_('Branches|merged') - if protected_branch?(@project, branch) %span.label.label-success - protected + = s_('Branches|protected') .controls.hidden-xs< - if merge_project && create_mr_button?(@repository.root_ref, branch.name) = link_to create_mr_path(@repository.root_ref, branch.name), class: 'btn btn-default' do - Merge request + = _('Merge request') - if branch.name != @repository.root_ref - = link_to project_compare_index_path(@project, from: @repository.root_ref, to: branch.name), class: "btn btn-default #{'prepend-left-10' unless merge_project}", method: :post, title: "Compare" do - Compare + = link_to project_compare_index_path(@project, from: @repository.root_ref, to: branch.name), + class: "btn btn-default #{'prepend-left-10' unless merge_project}", + method: :post, + title: s_('Branches|Compare') do + = s_('Branches|Compare') = render 'projects/buttons/download', project: @project, ref: branch.name, pipeline: @refs_pipelines[branch.name] @@ -34,12 +37,12 @@ - if branch.name == @project.repository.root_ref %button{ class: "btn btn-remove remove-row js-ajax-loading-spinner has-tooltip disabled", disabled: true, - title: "The default branch cannot be deleted" } + title: s_('Branches|The default branch cannot be deleted') } = icon("trash-o") - elsif protected_branch?(@project, branch) - if can?(current_user, :delete_protected_branch, @project) %button{ class: "btn btn-remove remove-row js-ajax-loading-spinner has-tooltip", - title: "Delete protected branch", + title: s_('Branches|Delete protected branch'), data: { toggle: "modal", target: "#modal-delete-branch", delete_path: project_branch_path(@project, branch.name), @@ -49,20 +52,22 @@ - else %button{ class: "btn btn-remove remove-row js-ajax-loading-spinner has-tooltip disabled", disabled: true, - title: "Only a project master or owner can delete a protected branch" } + title: s_('Branches|Only a project master or owner can delete a protected branch') } = icon("trash-o") - else = link_to project_branch_path(@project, branch.name), class: "btn btn-remove remove-row js-ajax-loading-spinner has-tooltip", - title: "Delete branch", + title: s_('Branches|Delete branch'), method: :delete, - data: { confirm: "Deleting the '#{branch.name}' branch cannot be undone. Are you sure?" }, + data: { confirm: s_("Branches|Deleting the '%{branch_name}' branch cannot be undone. Are you sure?") % { branch_name: branch.name } }, remote: true, - "aria-label" => "Delete branch" do + 'aria-label' => s_('Branches|Delete branch') do = icon("trash-o") - if branch.name != @repository.root_ref - .divergence-graph{ title: "#{number_commits_behind} commits behind #{@repository.root_ref}, #{number_commits_ahead} commits ahead" } + .divergence-graph{ title: s_('%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead') % { number_commits_behind: number_commits_behind, + default_branch: @repository.root_ref, + number_commits_ahead: number_commits_ahead } } .graph-side .bar.bar-behind{ style: "width: #{number_commits_behind * bar_graph_width_factor}%" } %span.count.count-behind= number_commits_behind @@ -76,4 +81,4 @@ = render 'projects/branches/commit', commit: commit, project: @project - else %p - Cant find HEAD commit for this branch + = s_('Branches|Cant find HEAD commit for this branch') diff --git a/app/views/projects/branches/_delete_protected_modal.html.haml b/app/views/projects/branches/_delete_protected_modal.html.haml index f00a0ee6925..e0008e322a0 100644 --- a/app/views/projects/branches/_delete_protected_modal.html.haml +++ b/app/views/projects/branches/_delete_protected_modal.html.haml @@ -4,36 +4,38 @@ .modal-header %button.close{ data: { dismiss: 'modal' } } × %h3.page-title - Delete protected branch - = surround "'", "'?" do + - title_branch_name = capture do %span.js-branch-name.ref-name>[branch name] + = s_("Branches|Delete protected branch '%{branch_name}'?").html_safe % { branch_name: title_branch_name } .modal-body %p - You’re about to permanently delete the protected branch - = succeed '.' do - %strong.js-branch-name.ref-name [branch name] + - branch_name = capture do + %strong.js-branch-name.ref-name>[branch name] + = s_('Branches|You’re about to permanently delete the protected branch %{branch_name}.').html_safe % { branch_name: branch_name } %p.js-not-merged - default_branch = capture do %span.ref-name= @repository.root_ref - = s_("Branches|This branch hasn’t been merged into %{default_branch}.").html_safe % { default_branch: default_branch } - = s_("Branches|To avoid data loss, consider merging this branch before deleting it.") + = s_('Branches|This branch hasn’t been merged into %{default_branch}.').html_safe % { default_branch: default_branch } + = s_('Branches|To avoid data loss, consider merging this branch before deleting it.') %p - Once you confirm and press - = succeed ',' do - %strong Delete protected branch - it cannot be undone or recovered. + - delete_protected_branch = capture do + %strong + = s_('Branches|Delete protected branch') + = s_('Branches|Once you confirm and press %{delete_protected_branch}, it cannot be undone or recovered.').html_safe % { delete_protected_branch: delete_protected_branch } %p - %strong To confirm, type - %kbd.js-branch-name [branch name] + - branch_name_confirmation = capture do + %kbd.js-branch-name [branch name] + %strong + = s_('Branches|To confirm, type %{branch_name_confirmation}:').html_safe % { branch_name_confirmation: branch_name_confirmation } .form-group = text_field_tag 'delete_branch_input', '', class: 'form-control js-delete-branch-input' .modal-footer %button.btn{ data: { dismiss: 'modal' } } Cancel - = link_to 'Delete protected branch', '', + = link_to s_('Branches|Delete protected branch'), '', class: "btn btn-danger js-delete-branch", - title: 'Delete branch', + title: s_('Branches|Delete branch'), method: :delete, - "aria-label" => "Delete" + 'aria-label' => s_('Branches|Delete branch') diff --git a/app/views/projects/branches/index.html.haml b/app/views/projects/branches/index.html.haml index 73583c6bbc2..ea6e7e9db6c 100644 --- a/app/views/projects/branches/index.html.haml +++ b/app/views/projects/branches/index.html.haml @@ -1,17 +1,17 @@ - @no_container = true -- page_title "Branches" +- page_title _('Branches') = render "projects/commits/head" %div{ class: container_class } .top-area.adjust - if can?(current_user, :admin_project, @project) .nav-text - Protected branches can be managed in - = link_to 'project settings', project_protected_branches_path(@project) + - project_settings_link = link_to s_('Branches|project settings'), project_protected_branches_path(@project) + = s_('Branches|Protected branches can be managed in %{project_settings_link}').html_safe % { project_settings_link: project_settings_link } .nav-controls = form_tag(filter_branches_path, method: :get) do - = search_field_tag :search, params[:search], { placeholder: 'Filter by branch name', id: 'branch-search', class: 'form-control search-text-input input-short', spellcheck: false } + = search_field_tag :search, params[:search], { placeholder: s_('Branches|Filter by branch name'), id: 'branch-search', class: 'form-control search-text-input input-short', spellcheck: false } .dropdown.inline> %button.dropdown-menu-toggle{ type: 'button', 'data-toggle' => 'dropdown' } @@ -20,16 +20,21 @@ = icon('chevron-down') %ul.dropdown-menu.dropdown-menu-align-right.dropdown-menu-selectable %li.dropdown-header - Sort by + = s_('Branches|Sort by') - branches_sort_options_hash.each do |value, title| %li = link_to title, filter_branches_path(sort: value), class: ("is-active" if @sort == value) - if can? current_user, :push_code, @project - = link_to project_merged_branches_path(@project), class: 'btn btn-inverted btn-remove has-tooltip', title: "Delete all branches that are merged into '#{@project.repository.root_ref}'", method: :delete, data: { confirm: "Deleting the merged branches cannot be undone. Are you sure?", container: 'body' } do - Delete merged branches + = link_to project_merged_branches_path(@project), + class: 'btn btn-inverted btn-remove has-tooltip', + title: s_("Branches|Delete all branches that are merged into '%{default_branch}'") % { default_branch: @project.repository.root_ref }, + method: :delete, + data: { confirm: s_('Branches|Deleting the merged branches cannot be undone. Are you sure?'), + container: 'body' } do + = s_('Branches|Delete merged branches') = link_to new_project_branch_path(@project), class: 'btn btn-create' do - New branch + = s_('Branches|New branch') - if @branches.any? %ul.content-list.all-branches @@ -37,6 +42,7 @@ = render "projects/branches/branch", branch: branch = paginate @branches, theme: 'gitlab' - else - .nothing-here-block No branches to show + .nothing-here-block + = s_('Branches|No branches to show') = render 'projects/branches/delete_protected_modal' diff --git a/app/views/projects/buttons/_download.html.haml b/app/views/projects/buttons/_download.html.haml index 9d85e027ac9..fa6f6d0b588 100644 --- a/app/views/projects/buttons/_download.html.haml +++ b/app/views/projects/buttons/_download.html.haml @@ -11,19 +11,15 @@ #{ _('Source code') } %li = link_to archive_project_repository_path(project, ref: ref, format: 'zip'), rel: 'nofollow', download: '' do - %i.fa.fa-download %span= _('Download zip') %li = link_to archive_project_repository_path(project, ref: ref, format: 'tar.gz'), rel: 'nofollow', download: '' do - %i.fa.fa-download %span= _('Download tar.gz') %li = link_to archive_project_repository_path(project, ref: ref, format: 'tar.bz2'), rel: 'nofollow', download: '' do - %i.fa.fa-download %span= _('Download tar.bz2') %li = link_to archive_project_repository_path(project, ref: ref, format: 'tar'), rel: 'nofollow', download: '' do - %i.fa.fa-download %span= _('Download tar') - if pipeline && pipeline.latest_builds_with_artifacts.any? @@ -36,6 +32,5 @@ - pipeline.latest_builds_with_artifacts.each do |job| %li = link_to latest_succeeded_project_artifacts_path(project, "#{ref}/download", job: job.name), rel: 'nofollow', download: '' do - %i.fa.fa-download %span #{s_('DownloadArtifacts|Download')} '#{job.name}' diff --git a/app/views/projects/buttons/_dropdown.html.haml b/app/views/projects/buttons/_dropdown.html.haml index b04d6a1fa5e..2589c53beae 100644 --- a/app/views/projects/buttons/_dropdown.html.haml +++ b/app/views/projects/buttons/_dropdown.html.haml @@ -11,19 +11,16 @@ - if can_create_issue %li = link_to new_project_issue_path(@project) do - = icon('exclamation-circle fw') #{ _('New issue') } - if merge_project %li = link_to project_new_merge_request_path(merge_project) do - = icon('tasks fw') #{ _('New merge request') } - if can_create_snippet %li = link_to new_project_snippet_path(@project) do - = icon('file-text-o fw') #{ _('New snippet') } - if can_create_issue || merge_project || can_create_snippet @@ -32,20 +29,16 @@ - if can?(current_user, :push_code, @project) %li = link_to project_new_blob_path(@project, @project.default_branch || 'master') do - = icon('file fw') #{ _('New file') } %li = link_to new_project_branch_path(@project) do - = icon('code-fork fw') #{ _('New branch') } %li = link_to new_project_tag_path(@project) do - = icon('tags fw') #{ _('New tag') } - elsif current_user && current_user.already_forked?(@project) %li = link_to project_new_blob_path(@project, @project.default_branch || 'master') do - = icon('file fw') #{ _('New file') } - elsif can?(current_user, :fork_project, @project) %li @@ -55,5 +48,4 @@ - fork_path = project_forks_path(@project, namespace_key: current_user.namespace.id, continue: continue_params) = link_to fork_path, method: :post do - = icon('file fw') #{ _('New file') } diff --git a/app/views/projects/tree/_old_tree_header.html.haml b/app/views/projects/tree/_old_tree_header.html.haml index 13705ca303b..3a43dde8052 100644 --- a/app/views/projects/tree/_old_tree_header.html.haml +++ b/app/views/projects/tree/_old_tree_header.html.haml @@ -20,15 +20,12 @@ - if can_edit_tree? %li = link_to project_new_blob_path(@project, @id) do - = icon('pencil fw') #{ _('New file') } %li = link_to '#modal-upload-blob', { 'data-target' => '#modal-upload-blob', 'data-toggle' => 'modal' } do - = icon('file fw') #{ _('Upload file') } %li = link_to '#modal-create-new-dir', { 'data-target' => '#modal-create-new-dir', 'data-toggle' => 'modal' } do - = icon('folder fw') #{ _('New directory') } - elsif can?(current_user, :fork_project, @project) %li @@ -38,7 +35,6 @@ - fork_path = project_forks_path(@project, namespace_key: current_user.namespace.id, continue: continue_params) = link_to fork_path, method: :post do - = icon('pencil fw') #{ _('New file') } %li - continue_params = { to: request.fullpath, @@ -47,7 +43,6 @@ - fork_path = project_forks_path(@project, namespace_key: current_user.namespace.id, continue: continue_params) = link_to fork_path, method: :post do - = icon('file fw') #{ _('Upload file') } %li - continue_params = { to: request.fullpath, @@ -56,15 +51,12 @@ - fork_path = project_forks_path(@project, namespace_key: current_user.namespace.id, continue: continue_params) = link_to fork_path, method: :post do - = icon('folder fw') #{ _('New directory') } %li.divider %li = link_to new_project_branch_path(@project) do - = icon('code-fork fw') #{ _('New branch') } %li = link_to new_project_tag_path(@project) do - = icon('tags fw') #{ _('New tag') } diff --git a/app/views/shared/boards/_show.html.haml b/app/views/shared/boards/_show.html.haml index 2e5e7911981..722890a01e5 100644 --- a/app/views/shared/boards/_show.html.haml +++ b/app/views/shared/boards/_show.html.haml @@ -31,10 +31,11 @@ ":board-id" => "boardId", ":key" => "_uid" } = render "shared/boards/components/sidebar" - %board-add-issues-modal{ "new-issue-path" => new_project_issue_path(@project), - "milestone-path" => milestones_filter_dropdown_path, - "label-path" => labels_filter_path, - "empty-state-svg" => image_path('illustrations/issues.svg'), - ":issue-link-base" => "issueLinkBase", - ":root-path" => "rootPath", - ":project-id" => @project.try(:id) } + - if @project + %board-add-issues-modal{ "new-issue-path" => new_project_issue_path(@project), + "milestone-path" => milestones_filter_dropdown_path, + "label-path" => labels_filter_path, + "empty-state-svg" => image_path('illustrations/issues.svg'), + ":issue-link-base" => "issueLinkBase", + ":root-path" => "rootPath", + ":project-id" => @project.id } diff --git a/changelogs/unreleased/12968-generalize-profile-updates.yml b/changelogs/unreleased/12968-generalize-profile-updates.yml deleted file mode 100644 index d09793512c1..00000000000 --- a/changelogs/unreleased/12968-generalize-profile-updates.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Generalize profile updates from providers -merge_request: 12968 -author: Alexandros Keramidas diff --git a/changelogs/unreleased/13325-bugfix-silence-on-disabled-notifications.yml b/changelogs/unreleased/13325-bugfix-silence-on-disabled-notifications.yml deleted file mode 100644 index 90b169390d2..00000000000 --- a/changelogs/unreleased/13325-bugfix-silence-on-disabled-notifications.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: disabling notifications globally now properly turns off group/project added - emails -merge_request: 13325 -author: @jneen -type: fixed diff --git a/changelogs/unreleased/17849-allow-admin-to-restrict-min-key-length-and-techno.yml b/changelogs/unreleased/17849-allow-admin-to-restrict-min-key-length-and-techno.yml deleted file mode 100644 index 8ec78bbd41f..00000000000 --- a/changelogs/unreleased/17849-allow-admin-to-restrict-min-key-length-and-techno.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add settings for minimum SSH key strength and allowed key type -merge_request: 13712 -author: Cory Hinshaw -type: added diff --git a/changelogs/unreleased/19650-remove-admin-section-from-search-results-if-user-doesnt-have-access.yml b/changelogs/unreleased/19650-remove-admin-section-from-search-results-if-user-doesnt-have-access.yml deleted file mode 100644 index 6d5baa8c10f..00000000000 --- a/changelogs/unreleased/19650-remove-admin-section-from-search-results-if-user-doesnt-have-access.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Hide admin link from default search results for non-admins -merge_request: 14015 -author: -type: fixed diff --git a/changelogs/unreleased/21949-add-type-to-changelog.yml b/changelogs/unreleased/21949-add-type-to-changelog.yml deleted file mode 100644 index a20f6b7ad4e..00000000000 --- a/changelogs/unreleased/21949-add-type-to-changelog.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Added type to CHANGELOG entries -merge_request: -author: Jacopo Beschi @jacopo-beschi diff --git a/changelogs/unreleased/23079-remove-default-scope-in-sortable.yml b/changelogs/unreleased/23079-remove-default-scope-in-sortable.yml deleted file mode 100644 index abb9e33d626..00000000000 --- a/changelogs/unreleased/23079-remove-default-scope-in-sortable.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Removes Sortable default scope. -merge_request: 13558 -author: -type: fixed diff --git a/changelogs/unreleased/26692-predefined-variable-gitlab-user-name.yml b/changelogs/unreleased/26692-predefined-variable-gitlab-user-name.yml deleted file mode 100644 index fa1ca3d25b2..00000000000 --- a/changelogs/unreleased/26692-predefined-variable-gitlab-user-name.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add CI/CD job predefined variables with user name and login -merge_request: 13824 -author: -type: added diff --git a/changelogs/unreleased/28202_decrease_abc_threshold_step3.yml b/changelogs/unreleased/28202_decrease_abc_threshold_step3.yml deleted file mode 100644 index ed38fd37103..00000000000 --- a/changelogs/unreleased/28202_decrease_abc_threshold_step3.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Decrease ABC threshold to 55.25 -merge_request: 13904 -author: Maxim Rydkin -type: other diff --git a/changelogs/unreleased/28283-uuid-storage.yml b/changelogs/unreleased/28283-uuid-storage.yml deleted file mode 100644 index 283e06d4b7f..00000000000 --- a/changelogs/unreleased/28283-uuid-storage.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Hashed Storage support for Repositories (EXPERIMENTAL) -merge_request: 13246 -author: diff --git a/changelogs/unreleased/28453-add-time-estimate-time-spent-to-api-issue-output.yml b/changelogs/unreleased/28453-add-time-estimate-time-spent-to-api-issue-output.yml deleted file mode 100644 index 129cf505a3f..00000000000 --- a/changelogs/unreleased/28453-add-time-estimate-time-spent-to-api-issue-output.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Add time stats to Issue and Merge Request API -merge_request: 13335 -author: @travismiller diff --git a/changelogs/unreleased/28938-password-change-workflow-for-admins.yml b/changelogs/unreleased/28938-password-change-workflow-for-admins.yml deleted file mode 100644 index 0781e1a2fce..00000000000 --- a/changelogs/unreleased/28938-password-change-workflow-for-admins.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Changes the password change workflow for admins. -merge_request: 13901 -author: -type: fixed diff --git a/changelogs/unreleased/29811-fix-line-number-alignment.yml b/changelogs/unreleased/29811-fix-line-number-alignment.yml deleted file mode 100644 index 94b3328a7f2..00000000000 --- a/changelogs/unreleased/29811-fix-line-number-alignment.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fix the alignment of line numbers to lines of code in code viewer -merge_request: 13403 -author: Trevor Flynn
\ No newline at end of file diff --git a/changelogs/unreleased/30162-retire-koding-integration.yml b/changelogs/unreleased/30162-retire-koding-integration.yml deleted file mode 100644 index 63c2b9eb161..00000000000 --- a/changelogs/unreleased/30162-retire-koding-integration.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Deprecation of Koding integration, removal of setting in Admin Panel -merge_request: 13992 -author: @mydigitalself diff --git a/changelogs/unreleased/31273-creating-an-project-within-an-internal-sub-group-gives-the-option-to-set-it-a-public.yml b/changelogs/unreleased/31273-creating-an-project-within-an-internal-sub-group-gives-the-option-to-set-it-a-public.yml deleted file mode 100644 index 4d21717e161..00000000000 --- a/changelogs/unreleased/31273-creating-an-project-within-an-internal-sub-group-gives-the-option-to-set-it-a-public.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: Ensure correct visibility level options shown on all Project, Group, and Snippets - forms -merge_request: 13442 -author: -type: fixed diff --git a/changelogs/unreleased/31362_decrease_cyclomatic_complexity_threshold_step3.yml b/changelogs/unreleased/31362_decrease_cyclomatic_complexity_threshold_step3.yml deleted file mode 100644 index 4a8d8097169..00000000000 --- a/changelogs/unreleased/31362_decrease_cyclomatic_complexity_threshold_step3.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Decrease Cyclomatic Complexity threshold to 14 -merge_request: 13972 -author: Maxim Rydkin -type: other diff --git a/changelogs/unreleased/31409-fix-group-and-project-search-for-anonymous-users.yml b/changelogs/unreleased/31409-fix-group-and-project-search-for-anonymous-users.yml deleted file mode 100644 index 06e8180db64..00000000000 --- a/changelogs/unreleased/31409-fix-group-and-project-search-for-anonymous-users.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix group and project search for anonymous users -merge_request: 13745 -author: -type: fixed diff --git a/changelogs/unreleased/31470-fix-api-files-raw.yml b/changelogs/unreleased/31470-fix-api-files-raw.yml deleted file mode 100644 index 271a945a998..00000000000 --- a/changelogs/unreleased/31470-fix-api-files-raw.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix the /projects/:id/repository/files/:file_path/raw endpoint to handle dots in the file_path -merge_request: 13512 -author: mahcsig -type: fixed diff --git a/changelogs/unreleased/32665-refactor-project-visibility-settings.yml b/changelogs/unreleased/32665-refactor-project-visibility-settings.yml deleted file mode 100644 index fde70c47ca6..00000000000 --- a/changelogs/unreleased/32665-refactor-project-visibility-settings.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Redesign project feature permissions settings -merge_request: 14062 -author: -type: changed diff --git a/changelogs/unreleased/33287-fix-mr-widget-errors-with-external-services.yml b/changelogs/unreleased/33287-fix-mr-widget-errors-with-external-services.yml deleted file mode 100644 index f0c76060781..00000000000 --- a/changelogs/unreleased/33287-fix-mr-widget-errors-with-external-services.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix errors thrown in merge request widget with external CI service/integration -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/33328-usage-ping-for-gitlab-features-and-components.yml b/changelogs/unreleased/33328-usage-ping-for-gitlab-features-and-components.yml new file mode 100644 index 00000000000..d3aac241b75 --- /dev/null +++ b/changelogs/unreleased/33328-usage-ping-for-gitlab-features-and-components.yml @@ -0,0 +1,5 @@ +--- +title: Adds gitlab features and components to usage ping data. +merge_request: 14305 +author: +type: other diff --git a/changelogs/unreleased/34049-public-commits-should-not-require-authentication.yml b/changelogs/unreleased/34049-public-commits-should-not-require-authentication.yml deleted file mode 100644 index 278ef2a8acb..00000000000 --- a/changelogs/unreleased/34049-public-commits-should-not-require-authentication.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Added tests for commits API unauthenticated user and public/private project -merge_request: 13287 -author: Jacopo Beschi @jacopo-beschi diff --git a/changelogs/unreleased/34261-move-move-to-sidebar.yml b/changelogs/unreleased/34261-move-move-to-sidebar.yml deleted file mode 100644 index 59fa1d4c221..00000000000 --- a/changelogs/unreleased/34261-move-move-to-sidebar.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Move "Move issue" controls to right-sidebar -merge_request: -author: -type: changed diff --git a/changelogs/unreleased/34371-pipeline-schedule-vue-files.yml b/changelogs/unreleased/34371-pipeline-schedule-vue-files.yml deleted file mode 100644 index 7de30d82601..00000000000 --- a/changelogs/unreleased/34371-pipeline-schedule-vue-files.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: Improves performance of vue code by using vue files and moving svg out of data - function in pipeline schedule callout -merge_request: -author: -type: other diff --git a/changelogs/unreleased/34413-move-convdev-index-location-to-after-cohorts.yml b/changelogs/unreleased/34413-move-convdev-index-location-to-after-cohorts.yml deleted file mode 100644 index d33b55ef681..00000000000 --- a/changelogs/unreleased/34413-move-convdev-index-location-to-after-cohorts.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Move ConvDev Index location to after Cohorts. -merge_request: !13398 -author: diff --git a/changelogs/unreleased/34509-improves-markdown-rendering-performance-for-commits-list.yml b/changelogs/unreleased/34509-improves-markdown-rendering-performance-for-commits-list.yml deleted file mode 100644 index a61d703bacd..00000000000 --- a/changelogs/unreleased/34509-improves-markdown-rendering-performance-for-commits-list.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Improves markdown rendering performance for commit lists. -merge_request: -author: -type: other diff --git a/changelogs/unreleased/34643-fix-project-path-slugify.yml b/changelogs/unreleased/34643-fix-project-path-slugify.yml deleted file mode 100644 index f7018a1aca5..00000000000 --- a/changelogs/unreleased/34643-fix-project-path-slugify.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fix CI_PROJECT_PATH_SLUG slugify -merge_request: 13350 -author: Ivan Chernov diff --git a/changelogs/unreleased/34945-readme-div-id.yml b/changelogs/unreleased/34945-readme-div-id.yml deleted file mode 100644 index c7d26b746b4..00000000000 --- a/changelogs/unreleased/34945-readme-div-id.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add div id to the readme in the project overview -merge_request: 13735 -author: Riccardo Padovani @rpadovani -type: added diff --git a/changelogs/unreleased/34990-top-buttons-misaligned.yml b/changelogs/unreleased/34990-top-buttons-misaligned.yml deleted file mode 100644 index db60f83ed71..00000000000 --- a/changelogs/unreleased/34990-top-buttons-misaligned.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fixes margins on the top buttons of the pipeline table -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/35010-projects-nav-dropdown.yml b/changelogs/unreleased/35010-projects-nav-dropdown.yml deleted file mode 100644 index c5bed723f55..00000000000 --- a/changelogs/unreleased/35010-projects-nav-dropdown.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add dropdown to Projects nav item -merge_request: 13866 -author: -type: added diff --git a/changelogs/unreleased/35010-remove-goto-project-from-breadcrumb.yml b/changelogs/unreleased/35010-remove-goto-project-from-breadcrumb.yml deleted file mode 100644 index 6cd7f4e9cc6..00000000000 --- a/changelogs/unreleased/35010-remove-goto-project-from-breadcrumb.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Remove project select dropdown from breadcrumb -merge_request: 14010 -author: -type: changed diff --git a/changelogs/unreleased/35012-navigation-add-option-to-change-navigation-color-palette.yml b/changelogs/unreleased/35012-navigation-add-option-to-change-navigation-color-palette.yml deleted file mode 100644 index 74aa337a18c..00000000000 --- a/changelogs/unreleased/35012-navigation-add-option-to-change-navigation-color-palette.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add option in preferences to change navigation theme color -merge_request: -author: -type: added diff --git a/changelogs/unreleased/35048-empty-badges.yml b/changelogs/unreleased/35048-empty-badges.yml deleted file mode 100644 index 816fe82887c..00000000000 --- a/changelogs/unreleased/35048-empty-badges.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Prevents rendering empty badges when request fails -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/35161_first_time_contributor_badge.yml b/changelogs/unreleased/35161_first_time_contributor_badge.yml deleted file mode 100644 index f3ab2d9db31..00000000000 --- a/changelogs/unreleased/35161_first_time_contributor_badge.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: "First-time contributor badge" -merge_request: 13143 -author: Micaël Bergeron <micaelbergeron@gmail.com> diff --git a/changelogs/unreleased/35343-inherit-milestones-and-labels.yml b/changelogs/unreleased/35343-inherit-milestones-and-labels.yml deleted file mode 100644 index ce737a67356..00000000000 --- a/changelogs/unreleased/35343-inherit-milestones-and-labels.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: inherits milestone and labels when a merge request is created from issue -merge_request: 13461 -author: haseebeqx -type: added diff --git a/changelogs/unreleased/35686-unescape-wiki-title.yml b/changelogs/unreleased/35686-unescape-wiki-title.yml deleted file mode 100644 index 4b2b7078163..00000000000 --- a/changelogs/unreleased/35686-unescape-wiki-title.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Unescape HTML characters in Wiki title -merge_request: 13942 -author: Jacopo Beschi @jacopo-beschi -type: fixed diff --git a/changelogs/unreleased/35721-auth-style-confirmation.yml b/changelogs/unreleased/35721-auth-style-confirmation.yml deleted file mode 100644 index 9963f76e845..00000000000 --- a/changelogs/unreleased/35721-auth-style-confirmation.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: restyling of OAuth authorization confirmation -merge_request: -author: Jacopo Beschi @jacopo-beschi -type: changed diff --git a/changelogs/unreleased/35793_fix_predicate_names.yml b/changelogs/unreleased/35793_fix_predicate_names.yml deleted file mode 100644 index d4da177dc2e..00000000000 --- a/changelogs/unreleased/35793_fix_predicate_names.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Remove `is_` prefix from predicate method names -merge_request: 13810 -author: Maxim Rydkin -type: other diff --git a/changelogs/unreleased/35811-copy-link-note.yml b/changelogs/unreleased/35811-copy-link-note.yml deleted file mode 100644 index 9fa74884c8a..00000000000 --- a/changelogs/unreleased/35811-copy-link-note.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add support for copying permalink to notes via more actions dropdown -merge_request: 13299 -author: -type: added diff --git a/changelogs/unreleased/35845-improve-subgroup-creation-permissions.yml b/changelogs/unreleased/35845-improve-subgroup-creation-permissions.yml deleted file mode 100644 index eac8dbe23c2..00000000000 --- a/changelogs/unreleased/35845-improve-subgroup-creation-permissions.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Improves subgroup creation permissions -merge_request: 13418 -author: -type: bugifx diff --git a/changelogs/unreleased/35978-milestone-title.yml b/changelogs/unreleased/35978-milestone-title.yml deleted file mode 100644 index 1a4b71328c1..00000000000 --- a/changelogs/unreleased/35978-milestone-title.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Truncate milestone title if sidebar is collapsed -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/35994-archived-projects-only.yml b/changelogs/unreleased/35994-archived-projects-only.yml deleted file mode 100644 index ce565b177d0..00000000000 --- a/changelogs/unreleased/35994-archived-projects-only.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add an option to list only archived projects -merge_request: 13492 -author: Mehdi Lahmam (@mehlah) -type: added diff --git a/changelogs/unreleased/36010-api-v4-allows-setting-a-branch-that-doesn-t-exist-as-the-default-one.yml b/changelogs/unreleased/36010-api-v4-allows-setting-a-branch-that-doesn-t-exist-as-the-default-one.yml deleted file mode 100644 index 04791e09b84..00000000000 --- a/changelogs/unreleased/36010-api-v4-allows-setting-a-branch-that-doesn-t-exist-as-the-default-one.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Add checks for branch existence before changing HEAD -merge_request: 13359 -author: Vitaliy @blackst0ne Klachkov diff --git a/changelogs/unreleased/36041-notification-title.yml b/changelogs/unreleased/36041-notification-title.yml deleted file mode 100644 index 7c5e0a0cd0d..00000000000 --- a/changelogs/unreleased/36041-notification-title.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Don't escape html entities in InlineDiffMarkdownMarker -merge_request: -author: diff --git a/changelogs/unreleased/36087-users-cannot-delete-their-account.yml b/changelogs/unreleased/36087-users-cannot-delete-their-account.yml deleted file mode 100644 index 9ba75d8b1d0..00000000000 --- a/changelogs/unreleased/36087-users-cannot-delete-their-account.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: allow all users to delete their account -merge_request: 13636 -author: Jacopo Beschi @jacopo-beschi -type: changed diff --git a/changelogs/unreleased/36114-stuck-mrs-job-follow-up.yml b/changelogs/unreleased/36114-stuck-mrs-job-follow-up.yml deleted file mode 100644 index 1b664efb8c2..00000000000 --- a/changelogs/unreleased/36114-stuck-mrs-job-follow-up.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Present enqueued merge jobs as Merging as well -merge_request: -author: diff --git a/changelogs/unreleased/36119-issuable-workers.yml b/changelogs/unreleased/36119-issuable-workers.yml deleted file mode 100644 index beb01ae5b1a..00000000000 --- a/changelogs/unreleased/36119-issuable-workers.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Simplify checking if objects exist code in new issaubles workers -merge_request: -author: diff --git a/changelogs/unreleased/36213-return-is_admin-in-users-api-when-current_user-is-admin.yml b/changelogs/unreleased/36213-return-is_admin-in-users-api-when-current_user-is-admin.yml deleted file mode 100644 index b51b5e58b39..00000000000 --- a/changelogs/unreleased/36213-return-is_admin-in-users-api-when-current_user-is-admin.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: Include the `is_admin` field in the `GET /users/:id` API when current user - is an admin -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/36262_merge_request_reference_in_merge_commit_global.yml b/changelogs/unreleased/36262_merge_request_reference_in_merge_commit_global.yml deleted file mode 100644 index 356857d6e8a..00000000000 --- a/changelogs/unreleased/36262_merge_request_reference_in_merge_commit_global.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Merge request reference in merge commit changed to full reference -merge_request: 13518 -author: haseebeqx -type: fixed diff --git a/changelogs/unreleased/36385-pipeline-graph-dropdown.yml b/changelogs/unreleased/36385-pipeline-graph-dropdown.yml deleted file mode 100644 index 1a43c66debd..00000000000 --- a/changelogs/unreleased/36385-pipeline-graph-dropdown.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Prevents jobs dropdown from closing in pipeline graph -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/36611-error-in-getcomposer-link.yml b/changelogs/unreleased/36611-error-in-getcomposer-link.yml deleted file mode 100644 index 1ff6ec01684..00000000000 --- a/changelogs/unreleased/36611-error-in-getcomposer-link.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix external link to Composer website -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/36792-inline-user-refresh-when-creating-project.yml b/changelogs/unreleased/36792-inline-user-refresh-when-creating-project.yml deleted file mode 100644 index be08da0433a..00000000000 --- a/changelogs/unreleased/36792-inline-user-refresh-when-creating-project.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Never wait for sidekiq jobs when creating projects -merge_request: 13775 -author: -type: other diff --git a/changelogs/unreleased/36807-gc-unwanted-refs-after-import.yml b/changelogs/unreleased/36807-gc-unwanted-refs-after-import.yml deleted file mode 100644 index a37de4325bb..00000000000 --- a/changelogs/unreleased/36807-gc-unwanted-refs-after-import.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Remove unwanted refs after importing a project -merge_request: 13766 -author: -type: other diff --git a/changelogs/unreleased/36859-update-gpg-docs-with-gpg2.yml b/changelogs/unreleased/36859-update-gpg-docs-with-gpg2.yml deleted file mode 100644 index e48a5704fdd..00000000000 --- a/changelogs/unreleased/36859-update-gpg-docs-with-gpg2.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Update gpg documentation with gpg2 -merge_request: 13851 -author: M M Arif -type: other diff --git a/changelogs/unreleased/36860-migrate-issues-author.yml b/changelogs/unreleased/36860-migrate-issues-author.yml deleted file mode 100644 index 3e9fcc55836..00000000000 --- a/changelogs/unreleased/36860-migrate-issues-author.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Migrate issues authored by deleted user to the Ghost user -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/36917-branch-tooltip.yml b/changelogs/unreleased/36917-branch-tooltip.yml deleted file mode 100644 index 2d37de50cec..00000000000 --- a/changelogs/unreleased/36917-branch-tooltip.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Adds tooltip to the branch name and improves performance -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/36937-fix-invite-by-email-text.yml b/changelogs/unreleased/36937-fix-invite-by-email-text.yml deleted file mode 100644 index 06c6105fab6..00000000000 --- a/changelogs/unreleased/36937-fix-invite-by-email-text.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix invite by email address duplication -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/36939-fix-find-blobs-by-path.yml b/changelogs/unreleased/36939-fix-find-blobs-by-path.yml deleted file mode 100644 index b48b10049ed..00000000000 --- a/changelogs/unreleased/36939-fix-find-blobs-by-path.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix searching for files by path -merge_request: 13798 -author: -type: fixed diff --git a/changelogs/unreleased/36994-toggle-for-automatically-collapsing-outdated-diff-comments.yml b/changelogs/unreleased/36994-toggle-for-automatically-collapsing-outdated-diff-comments.yml deleted file mode 100644 index 83f6b2d21e1..00000000000 --- a/changelogs/unreleased/36994-toggle-for-automatically-collapsing-outdated-diff-comments.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add repository toggle for automatically resolving outdated diff discussions -merge_request: 14053 -author: AshleyDumaine -type: added diff --git a/changelogs/unreleased/37023-remove-focus-styles-from-dropdown-empty-link.yml b/changelogs/unreleased/37023-remove-focus-styles-from-dropdown-empty-link.yml deleted file mode 100644 index fcaa6ec13f8..00000000000 --- a/changelogs/unreleased/37023-remove-focus-styles-from-dropdown-empty-link.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Remove focus styles from dropdown empty links -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/37104-fix-graph-date-format.yml b/changelogs/unreleased/37104-fix-graph-date-format.yml deleted file mode 100644 index f7d39fe8283..00000000000 --- a/changelogs/unreleased/37104-fix-graph-date-format.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix incorrect date/time formatting on prometheus graphs -merge_request: 13865 -author: -type: fixed diff --git a/changelogs/unreleased/37147-fix-fallback-emoji-alignment.yml b/changelogs/unreleased/37147-fix-fallback-emoji-alignment.yml deleted file mode 100644 index 34161e63c81..00000000000 --- a/changelogs/unreleased/37147-fix-fallback-emoji-alignment.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Better align fallback image emojis -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/37158-autodevops-banner.yml b/changelogs/unreleased/37158-autodevops-banner.yml deleted file mode 100644 index f0ffb670102..00000000000 --- a/changelogs/unreleased/37158-autodevops-banner.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Created callout for auto devops -merge_request: -author: -type: added diff --git a/changelogs/unreleased/37179-dashboard-project-dropdown.yml b/changelogs/unreleased/37179-dashboard-project-dropdown.yml deleted file mode 100644 index 3ef080b8eae..00000000000 --- a/changelogs/unreleased/37179-dashboard-project-dropdown.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Removes disabled state from dashboard project button -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/37198-api-doesn-t-respect-default-group-visibility.yml b/changelogs/unreleased/37198-api-doesn-t-respect-default-group-visibility.yml deleted file mode 100644 index ef83dc1d10a..00000000000 --- a/changelogs/unreleased/37198-api-doesn-t-respect-default-group-visibility.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: 'API: Respect default group visibility when creating a group' -merge_request: 13903 -author: Robert Schilling -type: fixed diff --git a/changelogs/unreleased/37204-deprecate-git-user-manual-ssh-config.yml b/changelogs/unreleased/37204-deprecate-git-user-manual-ssh-config.yml deleted file mode 100644 index 593e74593c4..00000000000 --- a/changelogs/unreleased/37204-deprecate-git-user-manual-ssh-config.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Deprecate custom SSH client configuration for the git user -merge_request: 13930 -author: -type: deprecated diff --git a/changelogs/unreleased/37259-some-mr-ready-mobile-fixes.yml b/changelogs/unreleased/37259-some-mr-ready-mobile-fixes.yml deleted file mode 100644 index a00a41f567f..00000000000 --- a/changelogs/unreleased/37259-some-mr-ready-mobile-fixes.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix MR ready to merge buttons/controls at mobile breakpoint -merge_request: 14242 -author: -type: fixed diff --git a/changelogs/unreleased/37368-blob-viewer-on-mobile.yml b/changelogs/unreleased/37368-blob-viewer-on-mobile.yml deleted file mode 100644 index 6a955f5715f..00000000000 --- a/changelogs/unreleased/37368-blob-viewer-on-mobile.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Make blob viewer for rich contents wider for mobile -merge_request: 14011 -author: Takuya Noguchi -type: fixed diff --git a/changelogs/unreleased/37465-fix-line-resolve-all-green-checkmark-icon.yml b/changelogs/unreleased/37465-fix-line-resolve-all-green-checkmark-icon.yml deleted file mode 100644 index 24b1d201409..00000000000 --- a/changelogs/unreleased/37465-fix-line-resolve-all-green-checkmark-icon.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: Update x/x discussions resolved checkmark icon to be green when all discussions - resolved -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/37499-add-description-template-examples-to-the-docs.yml b/changelogs/unreleased/37499-add-description-template-examples-to-the-docs.yml deleted file mode 100644 index 2a8e8a33225..00000000000 --- a/changelogs/unreleased/37499-add-description-template-examples-to-the-docs.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add description template examples to documentation -merge_request: -author: -type: other diff --git a/changelogs/unreleased/37576-renamed-files-have-escaped-html-for-the-inline-diff-in-the-header.yml b/changelogs/unreleased/37576-renamed-files-have-escaped-html-for-the-inline-diff-in-the-header.yml deleted file mode 100644 index 8c328eb0950..00000000000 --- a/changelogs/unreleased/37576-renamed-files-have-escaped-html-for-the-inline-diff-in-the-header.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix the diff file header from being html escaped for renamed files. -merge_request: 14121 -author: -type: fixed diff --git a/changelogs/unreleased/37590-pipelines-mr.yml b/changelogs/unreleased/37590-pipelines-mr.yml deleted file mode 100644 index ee609888155..00000000000 --- a/changelogs/unreleased/37590-pipelines-mr.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix mini graph pipeline breakin in merge request view -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/37629-lazy-image-loading-breaks-notification-mails-for-an-added-screenshot.yml b/changelogs/unreleased/37629-lazy-image-loading-breaks-notification-mails-for-an-added-screenshot.yml deleted file mode 100644 index 5735d59a2bd..00000000000 --- a/changelogs/unreleased/37629-lazy-image-loading-breaks-notification-mails-for-an-added-screenshot.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Image attachments are properly displayed in notification emails again -merge_request: 14161 -author: -type: fixed diff --git a/changelogs/unreleased/37730-image-onion-skin-does-not-work-anymore.yml b/changelogs/unreleased/37730-image-onion-skin-does-not-work-anymore.yml deleted file mode 100644 index 7357c61b5f2..00000000000 --- a/changelogs/unreleased/37730-image-onion-skin-does-not-work-anymore.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Resolve Image onion skin + swipe does not work anymore -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/37759-also-treat-newlines-as-separator.yml b/changelogs/unreleased/37759-also-treat-newlines-as-separator.yml deleted file mode 100644 index 6894e650c11..00000000000 --- a/changelogs/unreleased/37759-also-treat-newlines-as-separator.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Allow using newlines in pipeline email service recipients -merge_request: 14250 -author: -type: fixed diff --git a/changelogs/unreleased/37890-auto-devops-banner-is-not-shown-when-the-repository-is-empty-new-project.yml b/changelogs/unreleased/37890-auto-devops-banner-is-not-shown-when-the-repository-is-empty-new-project.yml deleted file mode 100644 index 2dddfa0b882..00000000000 --- a/changelogs/unreleased/37890-auto-devops-banner-is-not-shown-when-the-repository-is-empty-new-project.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix Auto DevOps banner to be shown on empty projects -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/37894-handle-if-auto-devops-domain-is-not-set.yml b/changelogs/unreleased/37894-handle-if-auto-devops-domain-is-not-set.yml deleted file mode 100644 index bbb12ff41b1..00000000000 --- a/changelogs/unreleased/37894-handle-if-auto-devops-domain-is-not-set.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Handle if Auto DevOps domain is not set in project settings -merge_request: -author: -type: added diff --git a/changelogs/unreleased/38049-fix-resolve-in-new-issue-btn.yml b/changelogs/unreleased/38049-fix-resolve-in-new-issue-btn.yml deleted file mode 100644 index a904c656f4f..00000000000 --- a/changelogs/unreleased/38049-fix-resolve-in-new-issue-btn.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix the "resolve discussion in a new issue" button -merge_request: 14357 -author: -type: fixed diff --git a/changelogs/unreleased/38197-fix-ImapAuthenticationCheck.yml b/changelogs/unreleased/38197-fix-ImapAuthenticationCheck.yml new file mode 100644 index 00000000000..df562077fb3 --- /dev/null +++ b/changelogs/unreleased/38197-fix-ImapAuthenticationCheck.yml @@ -0,0 +1,5 @@ +--- +title: Fix `rake gitlab:incoming_email:check` and make it report the actual error +merge_request: 14423 +author: +type: fixed diff --git a/changelogs/unreleased/38234-reserve-refs-replace.yml b/changelogs/unreleased/38234-reserve-refs-replace.yml new file mode 100644 index 00000000000..3a5ffbf9db0 --- /dev/null +++ b/changelogs/unreleased/38234-reserve-refs-replace.yml @@ -0,0 +1,5 @@ +--- +title: Also reserve refs/replace after importing a project +merge_request: 14436 +author: +type: fixed diff --git a/changelogs/unreleased/add-filter-by-my-reaction.yml b/changelogs/unreleased/add-filter-by-my-reaction.yml deleted file mode 100644 index dc1601cf3ee..00000000000 --- a/changelogs/unreleased/add-filter-by-my-reaction.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Add my reaction filter to search bar -merge_request: 12962 -author: Hiroyuki Sato diff --git a/changelogs/unreleased/add_message_to_the_404_page.yml b/changelogs/unreleased/add_message_to_the_404_page.yml deleted file mode 100644 index f567796fe9f..00000000000 --- a/changelogs/unreleased/add_message_to_the_404_page.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Changed message and title on the 404 page -merge_request: -author: Branka Martinovic -type: added diff --git a/changelogs/unreleased/add_quick_submission_on_user_settings_page.yml b/changelogs/unreleased/add_quick_submission_on_user_settings_page.yml deleted file mode 100644 index 3e4105a4232..00000000000 --- a/changelogs/unreleased/add_quick_submission_on_user_settings_page.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add quick submission on user settings page -merge_request: 14007 -author: Vitaliy @blackst0ne Klachkov -type: added diff --git a/changelogs/unreleased/additional-time-series-charts.yml b/changelogs/unreleased/additional-time-series-charts.yml deleted file mode 100644 index 80c1af54881..00000000000 --- a/changelogs/unreleased/additional-time-series-charts.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Added support the multiple time series for prometheus monitoring -merge_request: !36893 -author: -type: changed diff --git a/changelogs/unreleased/api-delete-respect-headers.yml b/changelogs/unreleased/api-delete-respect-headers.yml deleted file mode 100644 index cfc8fbfdf91..00000000000 --- a/changelogs/unreleased/api-delete-respect-headers.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: 'API: Respect the "If-Unmodified-Since" header when delting a resource' -merge_request: 9621 -author: Robert Schilling -type: added diff --git a/changelogs/unreleased/api-gpg-key-management.yml b/changelogs/unreleased/api-gpg-key-management.yml deleted file mode 100644 index 0be35a5823b..00000000000 --- a/changelogs/unreleased/api-gpg-key-management.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: 'API: Add GPG key management' -merge_request: 13828 -author: Robert Schilling -type: added diff --git a/changelogs/unreleased/api_branches_head.yml b/changelogs/unreleased/api_branches_head.yml deleted file mode 100644 index 68d8d3d5168..00000000000 --- a/changelogs/unreleased/api_branches_head.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add branch existence check to the APIv4 branches via HEAD request -merge_request: 13979 -author: Vitaliy @blackst0ne Klachkov -type: added diff --git a/changelogs/unreleased/backstage-gb-after-save-asynchronous-job-hooks.yml b/changelogs/unreleased/backstage-gb-after-save-asynchronous-job-hooks.yml deleted file mode 100644 index fd0b7c4f43c..00000000000 --- a/changelogs/unreleased/backstage-gb-after-save-asynchronous-job-hooks.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fire hooks asynchronously when creating a new job to improve performance -merge_request: 13734 -author: -type: changed diff --git a/changelogs/unreleased/bump-omniauth-ldap-gem-version-2-0-4.yml b/changelogs/unreleased/bump-omniauth-ldap-gem-version-2-0-4.yml deleted file mode 100644 index 7571999fa75..00000000000 --- a/changelogs/unreleased/bump-omniauth-ldap-gem-version-2-0-4.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Bumps omniauth-ldap gem version to 2.0.4 -merge_request: 13465 -author: diff --git a/changelogs/unreleased/bvl-improve-bare-project-import.yml b/changelogs/unreleased/bvl-improve-bare-project-import.yml deleted file mode 100644 index 74c1da4ea40..00000000000 --- a/changelogs/unreleased/bvl-improve-bare-project-import.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: 'Improve bare project import: Allow subgroups, take default visibility level - into account' -merge_request: 13670 -author: -type: fixed diff --git a/changelogs/unreleased/bvl-validate-po-files.yml b/changelogs/unreleased/bvl-validate-po-files.yml deleted file mode 100644 index f840b2c3973..00000000000 --- a/changelogs/unreleased/bvl-validate-po-files.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Validate PO-files in static analysis -merge_request: 13000 -author: diff --git a/changelogs/unreleased/cache-issue-and-mr-counts.yml b/changelogs/unreleased/cache-issue-and-mr-counts.yml deleted file mode 100644 index fe3fe3be976..00000000000 --- a/changelogs/unreleased/cache-issue-and-mr-counts.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Cache the number of open issues and merge requests -merge_request: -author: -type: other diff --git a/changelogs/unreleased/changes-tab-jumping.yml b/changelogs/unreleased/changes-tab-jumping.yml deleted file mode 100644 index 5740dfade9f..00000000000 --- a/changelogs/unreleased/changes-tab-jumping.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fixed merge request changes bar jumping -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/ci-environment-status-performance.yml b/changelogs/unreleased/ci-environment-status-performance.yml deleted file mode 100644 index 8812733b5a7..00000000000 --- a/changelogs/unreleased/ci-environment-status-performance.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Constrain environment deployments to project IDs -merge_request: -author: -type: other diff --git a/changelogs/unreleased/collapsable-pipeline-settings.yml b/changelogs/unreleased/collapsable-pipeline-settings.yml deleted file mode 100644 index d41959f8ab0..00000000000 --- a/changelogs/unreleased/collapsable-pipeline-settings.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add collapsable sections for Pipeline Settings -merge_request: -author: -type: added diff --git a/changelogs/unreleased/conv-dev-index-regression.yml b/changelogs/unreleased/conv-dev-index-regression.yml deleted file mode 100644 index 799eafa4265..00000000000 --- a/changelogs/unreleased/conv-dev-index-regression.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix ConvDev Index nav item and Monitoring submenu regression -merge_request: !14124 -author: -type: fixed diff --git a/changelogs/unreleased/dashboards-projects-controller.yml b/changelogs/unreleased/dashboards-projects-controller.yml deleted file mode 100644 index 8b350f70a80..00000000000 --- a/changelogs/unreleased/dashboards-projects-controller.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Eager load namespace owners for project dashboards -merge_request: -author: -type: other diff --git a/changelogs/unreleased/detect-orphaned-repositories.yml b/changelogs/unreleased/detect-orphaned-repositories.yml deleted file mode 100644 index 101c1897826..00000000000 --- a/changelogs/unreleased/detect-orphaned-repositories.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Scripts to detect orphaned repositories -merge_request: 14204 -author: -type: added diff --git a/changelogs/unreleased/disable-project-export.yml b/changelogs/unreleased/disable-project-export.yml deleted file mode 100644 index d7ca9f46193..00000000000 --- a/changelogs/unreleased/disable-project-export.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Add option to disable project export on instance -merge_request: 13211 -author: Robin Bobbitt diff --git a/changelogs/unreleased/disallow-null-values-for-environments-project-id.yml b/changelogs/unreleased/disallow-null-values-for-environments-project-id.yml deleted file mode 100644 index f4a956e6724..00000000000 --- a/changelogs/unreleased/disallow-null-values-for-environments-project-id.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: "Disallow NULL values for environments.project_id" -merge_request: -author: -type: other diff --git a/changelogs/unreleased/do-not-perform-disk-check.yml b/changelogs/unreleased/do-not-perform-disk-check.yml deleted file mode 100644 index cc139ee2c9e..00000000000 --- a/changelogs/unreleased/do-not-perform-disk-check.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: File uploaders do not perform hard check, only soft check -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/docs-document-version-for-group-milestones-api.yml b/changelogs/unreleased/docs-document-version-for-group-milestones-api.yml deleted file mode 100644 index d75c46313f4..00000000000 --- a/changelogs/unreleased/docs-document-version-for-group-milestones-api.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Document version Group Milestones API introduced -merge_request: -author: -type: changed diff --git a/changelogs/unreleased/docs-fix-15669-issue-move-api.yml b/changelogs/unreleased/docs-fix-15669-issue-move-api.yml deleted file mode 100644 index db68428fda3..00000000000 --- a/changelogs/unreleased/docs-fix-15669-issue-move-api.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add to_project_id parameter to Move Issue via API example -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/docs-update-ci-docker-using-docker-images.yml b/changelogs/unreleased/docs-update-ci-docker-using-docker-images.yml deleted file mode 100644 index d8a5073f110..00000000000 --- a/changelogs/unreleased/docs-update-ci-docker-using-docker-images.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Update 'Using Docker images' documentation -merge_request: 13848 -author: -type: other diff --git a/changelogs/unreleased/dont-remove-add-diff-btn-on-post.yml b/changelogs/unreleased/dont-remove-add-diff-btn-on-post.yml deleted file mode 100644 index a7db18dbd60..00000000000 --- a/changelogs/unreleased/dont-remove-add-diff-btn-on-post.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fixed add diff note button not showing after deleting a comment -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/ee-add-project-repository-storages-index.yml b/changelogs/unreleased/ee-add-project-repository-storages-index.yml new file mode 100644 index 00000000000..8a144783cec --- /dev/null +++ b/changelogs/unreleased/ee-add-project-repository-storages-index.yml @@ -0,0 +1,5 @@ +--- +title: Index projects on repository storage +merge_request: 14414 +author: +type: other diff --git a/changelogs/unreleased/events-migration-cleanup.yml b/changelogs/unreleased/events-migration-cleanup.yml deleted file mode 100644 index 1e3e843f252..00000000000 --- a/changelogs/unreleased/events-migration-cleanup.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Finish migration to the new events setup -merge_request: -author: -type: changed diff --git a/changelogs/unreleased/events-redundant-where.yml b/changelogs/unreleased/events-redundant-where.yml deleted file mode 100644 index a118a2e33e1..00000000000 --- a/changelogs/unreleased/events-redundant-where.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Remove redundant WHERE from event queries -merge_request: -author: -type: other diff --git a/changelogs/unreleased/feature-dependency-status-badge.yml b/changelogs/unreleased/feature-dependency-status-badge.yml deleted file mode 100644 index 1becff3585a..00000000000 --- a/changelogs/unreleased/feature-dependency-status-badge.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add badge for dependency status -merge_request: 13588 -author: Markus Koller -type: other diff --git a/changelogs/unreleased/feature-gb-download-single-job-artifact-using-api.yml b/changelogs/unreleased/feature-gb-download-single-job-artifact-using-api.yml deleted file mode 100644 index 920679ca166..00000000000 --- a/changelogs/unreleased/feature-gb-download-single-job-artifact-using-api.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Make it possible to download a single job artifact file using the API -merge_request: 14027 -author: -type: added diff --git a/changelogs/unreleased/feature-gb-kubernetes-only-pipeline-jobs.yml b/changelogs/unreleased/feature-gb-kubernetes-only-pipeline-jobs.yml deleted file mode 100644 index 00c38a0c671..00000000000 --- a/changelogs/unreleased/feature-gb-kubernetes-only-pipeline-jobs.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add CI/CD active kubernetes job policy -merge_request: 13849 -author: -type: added diff --git a/changelogs/unreleased/feature-plantuml-restructured-text.yml b/changelogs/unreleased/feature-plantuml-restructured-text.yml deleted file mode 100644 index b885029f589..00000000000 --- a/changelogs/unreleased/feature-plantuml-restructured-text.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add documentation for PlantUML in reStructuredText -merge_request: 13900 -author: Markus Koller -type: other diff --git a/changelogs/unreleased/feature-sm-33281-protected-runner-executes-jobs-on-protected-branch.yml b/changelogs/unreleased/feature-sm-33281-protected-runner-executes-jobs-on-protected-branch.yml deleted file mode 100644 index b57b9a3dfbe..00000000000 --- a/changelogs/unreleased/feature-sm-33281-protected-runner-executes-jobs-on-protected-branch.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Protected runners -merge_request: 13194 -author: -type: added diff --git a/changelogs/unreleased/feature-sm-34518-extend-api-pipeline-schedule-variable-new.yml b/changelogs/unreleased/feature-sm-34518-extend-api-pipeline-schedule-variable-new.yml deleted file mode 100644 index 969a5aeaed3..00000000000 --- a/changelogs/unreleased/feature-sm-34518-extend-api-pipeline-schedule-variable-new.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: 'Extend API: Pipeline Schedule Variable' -merge_request: 13653 -author: -type: added diff --git a/changelogs/unreleased/feature-sm-37239-implement-failure_reason-on-ci_builds.yml b/changelogs/unreleased/feature-sm-37239-implement-failure_reason-on-ci_builds.yml deleted file mode 100644 index 006b0b45844..00000000000 --- a/changelogs/unreleased/feature-sm-37239-implement-failure_reason-on-ci_builds.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Implement `failure_reason` on `ci_builds` -merge_request: 13937 -author: -type: added diff --git a/changelogs/unreleased/fix-btn-alignment.yml b/changelogs/unreleased/fix-btn-alignment.yml deleted file mode 100644 index e5dce3d3a0e..00000000000 --- a/changelogs/unreleased/fix-btn-alignment.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix inconsistent spacing for edit buttons on issues and merge request page -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/fix-edit-merge-request-button-case.yml b/changelogs/unreleased/fix-edit-merge-request-button-case.yml deleted file mode 100644 index 8550f3e3c1b..00000000000 --- a/changelogs/unreleased/fix-edit-merge-request-button-case.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix edit merge request and issues button inconsistent letter casing -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/fix-gb-fix-moving-issue-with-ambiguous-references.yml b/changelogs/unreleased/fix-gb-fix-moving-issue-with-ambiguous-references.yml deleted file mode 100644 index f90766ef6d2..00000000000 --- a/changelogs/unreleased/fix-gb-fix-moving-issue-with-ambiguous-references.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix errors when moving issue with reference to a group milestone -merge_request: 14294 -author: -type: fixed diff --git a/changelogs/unreleased/fix-import-export-performance.yml b/changelogs/unreleased/fix-import-export-performance.yml deleted file mode 100644 index 1f59c4eb179..00000000000 --- a/changelogs/unreleased/fix-import-export-performance.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Improve Import/Export memory usage -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/fix-import-fork-mr.yml b/changelogs/unreleased/fix-import-fork-mr.yml deleted file mode 100644 index 4e9cf7faae8..00000000000 --- a/changelogs/unreleased/fix-import-fork-mr.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix Import/Export issue to do with fork merge requests -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/fix-npm-security-updates.yml b/changelogs/unreleased/fix-npm-security-updates.yml deleted file mode 100644 index faa0c3149b8..00000000000 --- a/changelogs/unreleased/fix-npm-security-updates.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Upgrade brace-expansion NPM package due to security issue -merge_request: 13665 -author: Markus Koller -type: security diff --git a/changelogs/unreleased/fix-stray-or-in-project-create-ui.yml b/changelogs/unreleased/fix-stray-or-in-project-create-ui.yml deleted file mode 100644 index ae4df3ee31a..00000000000 --- a/changelogs/unreleased/fix-stray-or-in-project-create-ui.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix stray OR in New Project page -merge_request: 14096 -author: Robin Bobbitt -type: fixed diff --git a/changelogs/unreleased/fix_typo_in_deploy_keys_docs.yml b/changelogs/unreleased/fix_typo_in_deploy_keys_docs.yml deleted file mode 100644 index fa50e36e28a..00000000000 --- a/changelogs/unreleased/fix_typo_in_deploy_keys_docs.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix typo in the API Deploy Keys documentation page -merge_request: 14014 -author: Vitaliy @blackst0ne Klachkov -type: fixed diff --git a/changelogs/unreleased/fix_wiki_toc_indent.yml b/changelogs/unreleased/fix_wiki_toc_indent.yml deleted file mode 100644 index 60da2e455f2..00000000000 --- a/changelogs/unreleased/fix_wiki_toc_indent.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Wiki table of contents are now properly nested to reflect header level -merge_request: 13650 -author: Akihiro Nakashima -type: fixed diff --git a/changelogs/unreleased/font-weight-adjusted.yml b/changelogs/unreleased/font-weight-adjusted.yml deleted file mode 100644 index 827f3485099..00000000000 --- a/changelogs/unreleased/font-weight-adjusted.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Changed all font-weight values to 400 and 600 and introduced 2 variables to - manage them -merge_request: !12896 -author: diff --git a/changelogs/unreleased/fuzzy-issue-search.yml b/changelogs/unreleased/fuzzy-issue-search.yml deleted file mode 100644 index 8195e97ed59..00000000000 --- a/changelogs/unreleased/fuzzy-issue-search.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Support a multi-word fuzzy seach issues/merge requests on search bar -merge_request: 13780 -author: Hiroyuki Sato -type: changed diff --git a/changelogs/unreleased/gitaly-feature-toggles-development-opt-out.yml b/changelogs/unreleased/gitaly-feature-toggles-development-opt-out.yml deleted file mode 100644 index 90c25d782c8..00000000000 --- a/changelogs/unreleased/gitaly-feature-toggles-development-opt-out.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Gitaly feature toggles are on by default in development -merge_request: 13802 -author: -type: other diff --git a/changelogs/unreleased/gitaly-post-upload-pack-mandatory.yml b/changelogs/unreleased/gitaly-post-upload-pack-mandatory.yml deleted file mode 100644 index edf11484d1f..00000000000 --- a/changelogs/unreleased/gitaly-post-upload-pack-mandatory.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Make Gitaly PostUploadPack mandatory -merge_request: 13953 -author: -type: changed diff --git a/changelogs/unreleased/gitaly_ref_exists.yml b/changelogs/unreleased/gitaly_ref_exists.yml deleted file mode 100644 index f62b646e406..00000000000 --- a/changelogs/unreleased/gitaly_ref_exists.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Implement the Gitaly RefService::RefExists endpoint -merge_request: 13528 -author: Andrew Newdigate diff --git a/changelogs/unreleased/group-mr-search-bar.yml b/changelogs/unreleased/group-mr-search-bar.yml deleted file mode 100644 index 0b554a5d7c9..00000000000 --- a/changelogs/unreleased/group-mr-search-bar.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add filtered search to group merge requests dashboard -merge_request: 13688 -author: Hiroyuki Sato -type: changed diff --git a/changelogs/unreleased/improve-autocomplete-user-performance.yml b/changelogs/unreleased/improve-autocomplete-user-performance.yml deleted file mode 100644 index 5a7153771ff..00000000000 --- a/changelogs/unreleased/improve-autocomplete-user-performance.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Improve performance for AutocompleteController#users.json -merge_request: 13754 -author: Hiroyuki Sato -type: changed diff --git a/changelogs/unreleased/improve-share-locking-feature-for-subgroups.yml b/changelogs/unreleased/improve-share-locking-feature-for-subgroups.yml deleted file mode 100644 index ec0d1b245e4..00000000000 --- a/changelogs/unreleased/improve-share-locking-feature-for-subgroups.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: '"Share with group lock" now applies to subgroups, but owner can override setting - on subgroups' -merge_request: 13944 -author: -type: changed diff --git a/changelogs/unreleased/issue-api-my-reaction.yml b/changelogs/unreleased/issue-api-my-reaction.yml deleted file mode 100644 index 1c12478fbc0..00000000000 --- a/changelogs/unreleased/issue-api-my-reaction.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add my_reaction_emoji param to /issues and /merge_requests API -merge_request: 14016 -author: Hiroyuki Sato -type: added diff --git a/changelogs/unreleased/issue-boards-breadcrumbs-container.yml b/changelogs/unreleased/issue-boards-breadcrumbs-container.yml deleted file mode 100644 index 5e042de7000..00000000000 --- a/changelogs/unreleased/issue-boards-breadcrumbs-container.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix breadcrumbs container in issue boards -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/memoize-the-latest-builds-of-a-pipeline.yml b/changelogs/unreleased/memoize-the-latest-builds-of-a-pipeline.yml deleted file mode 100644 index 5a7cd42b888..00000000000 --- a/changelogs/unreleased/memoize-the-latest-builds-of-a-pipeline.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: "Memoize the latest builds of a pipeline on a project's homepage" -merge_request: -author: -type: other diff --git a/changelogs/unreleased/mk-default-ldap-verify-certificates-secure.yml b/changelogs/unreleased/mk-default-ldap-verify-certificates-secure.yml deleted file mode 100644 index 865b57fb284..00000000000 --- a/changelogs/unreleased/mk-default-ldap-verify-certificates-secure.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Default LDAP config "verify_certificates" to true for security -merge_request: 13915 -author: -type: changed diff --git a/changelogs/unreleased/move-action.yml b/changelogs/unreleased/move-action.yml deleted file mode 100644 index 65eceae3ef9..00000000000 --- a/changelogs/unreleased/move-action.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Allow users to move issues to other projects using a / command -merge_request: 13436 -author: Manolis Mavrofidis diff --git a/changelogs/unreleased/mr-index-page-performance.yml b/changelogs/unreleased/mr-index-page-performance.yml deleted file mode 100644 index df5f44c04fa..00000000000 --- a/changelogs/unreleased/mr-index-page-performance.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Re-use issue/MR counts for the pagination system -merge_request: -author: -type: other diff --git a/changelogs/unreleased/projects-controller-show.yml b/changelogs/unreleased/projects-controller-show.yml deleted file mode 100644 index 25f4a72710b..00000000000 --- a/changelogs/unreleased/projects-controller-show.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Memoize pipelines for project download buttons -merge_request: -author: -type: other diff --git a/changelogs/unreleased/reoganize-deployment-indexes.yml b/changelogs/unreleased/reoganize-deployment-indexes.yml deleted file mode 100644 index 87734b4fe4b..00000000000 --- a/changelogs/unreleased/reoganize-deployment-indexes.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Reorganize indexes for the "deployments" table -merge_request: -author: -type: other diff --git a/changelogs/unreleased/replace_project_shortcuts-feature.yml b/changelogs/unreleased/replace_project_shortcuts-feature.yml new file mode 100644 index 00000000000..89e47a7a983 --- /dev/null +++ b/changelogs/unreleased/replace_project_shortcuts-feature.yml @@ -0,0 +1,5 @@ +--- +title: Replace the 'project/shortcuts.feature' spinach test with an rspec analog +merge_request: 14431 +author: Vitaliy @blackst0ne Klachkov +type: other diff --git a/changelogs/unreleased/replace_spinach_search_code-feature.yml b/changelogs/unreleased/replace_spinach_search_code-feature.yml deleted file mode 100644 index 28d2108c871..00000000000 --- a/changelogs/unreleased/replace_spinach_search_code-feature.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Replace 'source/search_code.feature' spinach test with an rspec analog -merge_request: 13697 -author: blackst0ne -type: other diff --git a/changelogs/unreleased/replace_spinach_star-feature.yml b/changelogs/unreleased/replace_spinach_star-feature.yml deleted file mode 100644 index 6a058691fe5..00000000000 --- a/changelogs/unreleased/replace_spinach_star-feature.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Replace 'project/star.feature' spinach test with an rspec analog -merge_request: 13855 -author: Vitaliy @blackst0ne Klachkov -type: other diff --git a/changelogs/unreleased/replace_spinach_user_lookup-feature.yml b/changelogs/unreleased/replace_spinach_user_lookup-feature.yml deleted file mode 100644 index 36248c54d99..00000000000 --- a/changelogs/unreleased/replace_spinach_user_lookup-feature.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Replace 'project/user_lookup.feature' spinach test with an rspec analog -merge_request: 13863 -author: Vitaliy @blackst0ne Klachkov -type: other diff --git a/changelogs/unreleased/rouge-2-2-0.yml b/changelogs/unreleased/rouge-2-2-0.yml deleted file mode 100644 index 0b53cd14628..00000000000 --- a/changelogs/unreleased/rouge-2-2-0.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Bump rouge to v2.2.0 -merge_request: 13633 -author: -type: other diff --git a/changelogs/unreleased/rouge-2-2-1.yml b/changelogs/unreleased/rouge-2-2-1.yml deleted file mode 100644 index 2d8879e5574..00000000000 --- a/changelogs/unreleased/rouge-2-2-1.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Bump rouge to v2.2.1 -merge_request: 13887 -author: -type: other diff --git a/changelogs/unreleased/seven-days-cycle-analytics.yml b/changelogs/unreleased/seven-days-cycle-analytics.yml deleted file mode 100644 index ff660bdd603..00000000000 --- a/changelogs/unreleased/seven-days-cycle-analytics.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add a `Last 7 days` option for Cycle Analytics view -merge_request: 13443 -author: Mehdi Lahmam (@mehlah) -type: added diff --git a/changelogs/unreleased/sh-add-grape-logging.yml b/changelogs/unreleased/sh-add-grape-logging.yml deleted file mode 100644 index eaf6cb045d5..00000000000 --- a/changelogs/unreleased/sh-add-grape-logging.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add JSON logger in `log/api_json.log` for Grape API endpoints -merge_request: -author: -type: added diff --git a/changelogs/unreleased/sh-bump-jira-gem.yml b/changelogs/unreleased/sh-bump-jira-gem.yml deleted file mode 100644 index d76b688caac..00000000000 --- a/changelogs/unreleased/sh-bump-jira-gem.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Bump jira-ruby gem to 1.4.1 to fix issues with HTTP proxies -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/sh-optimize-discussion-json.yml b/changelogs/unreleased/sh-optimize-discussion-json.yml deleted file mode 100644 index 4be1bc89a91..00000000000 --- a/changelogs/unreleased/sh-optimize-discussion-json.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Eliminate N+1 queries in loading discussions.json endpoint -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/sh-project-feature-eager-load.yml b/changelogs/unreleased/sh-project-feature-eager-load.yml deleted file mode 100644 index 406ef119a14..00000000000 --- a/changelogs/unreleased/sh-project-feature-eager-load.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Eliminate N+1 queries referencing issues -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/sh-stop-loading-issue-discussions.yml b/changelogs/unreleased/sh-stop-loading-issue-discussions.yml deleted file mode 100644 index 5e7b7387c0d..00000000000 --- a/changelogs/unreleased/sh-stop-loading-issue-discussions.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Remove unnecessary loading of discussions in `IssuesController#show` -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/sidebar-cache-updates.yml b/changelogs/unreleased/sidebar-cache-updates.yml deleted file mode 100644 index aebe53ba5b2..00000000000 --- a/changelogs/unreleased/sidebar-cache-updates.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Only update the sidebar count caches when needed -merge_request: -author: -type: other diff --git a/changelogs/unreleased/sm-cherry-pick-list-commits-in-message.yml b/changelogs/unreleased/sm-cherry-pick-list-commits-in-message.yml deleted file mode 100644 index 602ca358b8b..00000000000 --- a/changelogs/unreleased/sm-cherry-pick-list-commits-in-message.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add 'from commit' information to cherry-picked commits -merge_request: 13475 -author: Saverio Miroddi -type: added diff --git a/changelogs/unreleased/support-additional-colors.yml b/changelogs/unreleased/support-additional-colors.yml deleted file mode 100644 index 5178e159dcf..00000000000 --- a/changelogs/unreleased/support-additional-colors.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Added support for specific labels and colors -merge_request: -author: -type: changed diff --git a/changelogs/unreleased/tc-remove-nonexisting-namespace-pending-delete-projects.yml b/changelogs/unreleased/tc-remove-nonexisting-namespace-pending-delete-projects.yml deleted file mode 100644 index 218336df5d2..00000000000 --- a/changelogs/unreleased/tc-remove-nonexisting-namespace-pending-delete-projects.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Migration to remove pending delete projects with non-existing namespace -merge_request: 13598 -author: -type: other diff --git a/changelogs/unreleased/use_full_path_in_project_avatar_url_webhook.yml b/changelogs/unreleased/use_full_path_in_project_avatar_url_webhook.yml deleted file mode 100644 index 0c3acce1455..00000000000 --- a/changelogs/unreleased/use_full_path_in_project_avatar_url_webhook.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Use full path of project's avatar in webhooks -merge_request: 13649 -author: Vitaliy @blackst0ne Klachkov -type: changed diff --git a/changelogs/unreleased/user-recent-push.yml b/changelogs/unreleased/user-recent-push.yml deleted file mode 100644 index defd5cdfd8e..00000000000 --- a/changelogs/unreleased/user-recent-push.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Rework how recent push events are retrieved -merge_request: -author: -type: other diff --git a/changelogs/unreleased/wiki_api.yml b/changelogs/unreleased/wiki_api.yml deleted file mode 100644 index 9d60356aedc..00000000000 --- a/changelogs/unreleased/wiki_api.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add API support for wiki pages -merge_request: 13372 -author: Vitaliy @blackst0ne Klachkov -type: added diff --git a/changelogs/unreleased/winh-dropdown-changelog-docs.yml b/changelogs/unreleased/winh-dropdown-changelog-docs.yml deleted file mode 100644 index 2f42b4dd9f9..00000000000 --- a/changelogs/unreleased/winh-dropdown-changelog-docs.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Restyle dropdown menus to make them look consistent -merge_request: -author: -type: other diff --git a/changelogs/unreleased/zj-add-pipeline-source-variable.yml b/changelogs/unreleased/zj-add-pipeline-source-variable.yml deleted file mode 100644 index 5d98cd8086a..00000000000 --- a/changelogs/unreleased/zj-add-pipeline-source-variable.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add CI_PIPELINE_SOURCE variable on CI Jobs -merge_request: -author: -type: added diff --git a/changelogs/unreleased/zj-auto-devops-banner.yml b/changelogs/unreleased/zj-auto-devops-banner.yml deleted file mode 100644 index a2abed0b2ec..00000000000 --- a/changelogs/unreleased/zj-auto-devops-banner.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: Do not show the Auto DevOps banner when the project has a .gitlab-ci.yml on - master -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/zj-auto-devops-table.yml b/changelogs/unreleased/zj-auto-devops-table.yml deleted file mode 100644 index f1a004ebd19..00000000000 --- a/changelogs/unreleased/zj-auto-devops-table.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Allow users and administrator to configure Auto-DevOps -merge_request: 13923 -author: -type: added diff --git a/changelogs/unreleased/zj-disable-pages-in-subgroups.yml b/changelogs/unreleased/zj-disable-pages-in-subgroups.yml deleted file mode 100644 index 22c36214e1f..00000000000 --- a/changelogs/unreleased/zj-disable-pages-in-subgroups.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Remove pages settings when not available -merge_request: -author: -type: changed diff --git a/changelogs/unreleased/zj-feature-flipper-disable-banner.yml b/changelogs/unreleased/zj-feature-flipper-disable-banner.yml deleted file mode 100644 index fd5dd1bbe37..00000000000 --- a/changelogs/unreleased/zj-feature-flipper-disable-banner.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Allow all AutoDevOps banners to be turned off -merge_request: -author: -type: changed diff --git a/changelogs/unreleased/zj-remove-ci-api-v1.yml b/changelogs/unreleased/zj-remove-ci-api-v1.yml deleted file mode 100644 index 8f2dc321b36..00000000000 --- a/changelogs/unreleased/zj-remove-ci-api-v1.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Remove CI API v1 -merge_request: -author: -type: removed diff --git a/changelogs/unreleased/zj-reword-job-to-pipeline-chart-view.yml b/changelogs/unreleased/zj-reword-job-to-pipeline-chart-view.yml deleted file mode 100644 index 474392a8cdd..00000000000 --- a/changelogs/unreleased/zj-reword-job-to-pipeline-chart-view.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Reword job to pipeline to reflect what the graphs are really about -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/zj-sort-templates.yml b/changelogs/unreleased/zj-sort-templates.yml deleted file mode 100644 index 443c4355890..00000000000 --- a/changelogs/unreleased/zj-sort-templates.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Sort templates in the dropdown -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/zj-update-rails-template.yml b/changelogs/unreleased/zj-update-rails-template.yml deleted file mode 100644 index 5464f0e3d42..00000000000 --- a/changelogs/unreleased/zj-update-rails-template.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Update Rails project template to use Postgresql by default -merge_request: -author: -type: changed diff --git a/changelogs/unreleased/zj-upgrade-grape.yml b/changelogs/unreleased/zj-upgrade-grape.yml deleted file mode 100644 index daa6a234c07..00000000000 --- a/changelogs/unreleased/zj-upgrade-grape.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Upgrade grape to 1.0 -merge_request: -author: -type: other diff --git a/changelogs/unreleased/zj-usage-data-auto-devops.yml b/changelogs/unreleased/zj-usage-data-auto-devops.yml deleted file mode 100644 index 9b5ec894042..00000000000 --- a/changelogs/unreleased/zj-usage-data-auto-devops.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add usage data for Auto DevOps -merge_request: -author: -type: other diff --git a/db/migrate/20170921115009_add_project_repository_storage_index.rb b/db/migrate/20170921115009_add_project_repository_storage_index.rb new file mode 100644 index 00000000000..1c5a8fd65e1 --- /dev/null +++ b/db/migrate/20170921115009_add_project_repository_storage_index.rb @@ -0,0 +1,19 @@ +class AddProjectRepositoryStorageIndex < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + + disable_ddl_transaction! + + def up + add_concurrent_index(*index_spec) unless index_exists?(*index_spec) + end + + def down + remove_concurrent_index(*index_spec) if index_exists?(*index_spec) + end + + def index_spec + [:projects, :repository_storage] + end +end diff --git a/db/schema.rb b/db/schema.rb index 3ec430c0078..80ef91ec95d 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20170918223303) do +ActiveRecord::Schema.define(version: 20170921115009) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -1230,6 +1230,7 @@ ActiveRecord::Schema.define(version: 20170918223303) do add_index "projects", ["path"], name: "index_projects_on_path", using: :btree add_index "projects", ["path"], name: "index_projects_on_path_trigram", using: :gin, opclasses: {"path"=>"gin_trgm_ops"} add_index "projects", ["pending_delete"], name: "index_projects_on_pending_delete", using: :btree + add_index "projects", ["repository_storage"], name: "index_projects_on_repository_storage", using: :btree add_index "projects", ["runners_token"], name: "index_projects_on_runners_token", using: :btree add_index "projects", ["star_count"], name: "index_projects_on_star_count", using: :btree add_index "projects", ["visibility_level"], name: "index_projects_on_visibility_level", using: :btree diff --git a/doc/development/ux_guide/basics.md b/doc/development/ux_guide/basics.md index dcd5f677f25..e215026bcca 100644 --- a/doc/development/ux_guide/basics.md +++ b/doc/development/ux_guide/basics.md @@ -33,7 +33,7 @@ This is the typeface used for code blocks and references to commits, branches, a ## Icons -GitLab has a strong, unique personality. When you look at any screen, you should know immediately know that it is GitLab. +GitLab has a strong, unique personality. When you look at any screen, you should know immediately that it is GitLab. Iconography is a powerful visual cue to the user and is a great way for us to reflect our particular sense of style. - **Standard size:** 16px * 16px diff --git a/doc/install/kubernetes/gitlab_omnibus.md b/doc/install/kubernetes/gitlab_omnibus.md index 9d1280c3dc6..19e2a257c94 100644 --- a/doc/install/kubernetes/gitlab_omnibus.md +++ b/doc/install/kubernetes/gitlab_omnibus.md @@ -149,31 +149,19 @@ helm install --name gitlab --set baseDomain=gitlab.io,baseIP=1.1.1.1,gitlab=ee,g ## Updating GitLab using the Helm Chart Once your GitLab Chart is installed, configuration changes and chart updates -should we done using `helm upgrade` +should we done using `helm upgrade`: ```bash -helm upgrade -f <CONFIG_VALUES_FILE> <RELEASE-NAME> gitlab/gitlab +helm upgrade -f values.yaml gitlab gitlab/gitlab-omnibus ``` -where: - -- `<CONFIG_VALUES_FILE>` is the path to values file containing your custom - [configuration] (#configuring-and-installing-gitlab). -- `<RELEASE-NAME>` is the name you gave the chart when installing it. - In the [Install section](#installing-gitlab-using-the-helm-chart) we called it `gitlab`. - ## Uninstalling GitLab using the Helm Chart To uninstall the GitLab Chart, run the following: ```bash -helm delete <RELEASE-NAME> +helm delete gitlab ``` -where: - -- `<RELEASE-NAME>` is the name you gave the chart when installing it. - In the [Install section](#installing) we called it `gitlab`. - [kube-srv]: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services---service-types [storageclass]: https://kubernetes.io/docs/concepts/storage/persistent-volumes/#storageclasses diff --git a/doc/user/markdown.md b/doc/user/markdown.md index b42b8f0a525..454988b9b80 100644 --- a/doc/user/markdown.md +++ b/doc/user/markdown.md @@ -596,6 +596,30 @@ See the documentation for HTML::Pipeline's [SanitizationFilter](http://www.rubyd <dd>Does *not* work **very** well. Use HTML <em>tags</em>.</dd> </dl> +#### Details and Summary + +Content can be collapsed using HTML's [`<details>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details) and [`<summary>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/summary) tags. This is especially useful for collapsing long logs so they take up less screen space. + +<p> +<details> +<summary>Click me to collapse/fold.</summary> +These details will remain hidden until expanded. + +<pre><code>PASTE LOGS HERE</code></pre> +</details> +</p> + +**Note:** Unfortunately Markdown is not supported inside these tags, as described by the [markdown specification](https://daringfireball.net/projects/markdown/syntax#html). You can work around this by using HTML, for example you can use `<pre><code>` tags instead of [code fences](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/user/markdown.md#code-and-syntax-highlighting). + +```html +<details> +<summary>Click me to collapse/fold.</summary> +These details will remain hidden until expanded. + +<pre><code>PASTE LOGS HERE</code></pre> +</details> +``` + ### Horizontal Rule ``` diff --git a/features/project/shortcuts.feature b/features/project/shortcuts.feature deleted file mode 100644 index cbbea237825..00000000000 --- a/features/project/shortcuts.feature +++ /dev/null @@ -1,63 +0,0 @@ -@dashboard -Feature: Project Shortcuts - Background: - Given I sign in as a user - And I own a project - And I visit my project's commits page - - @javascript - Scenario: Navigate to files tab - Given I press "g" and "f" - Then the active main tab should be Repository - Then the active sub tab should be Files - - @javascript - Scenario: Navigate to commits tab - Given I visit my project's files page - Given I press "g" and "c" - Then the active main tab should be Repository - Then the active sub tab should be Commits - - @javascript - Scenario: Navigate to graph tab - Given I press "g" and "n" - Then the active sub tab should be Graph - And the active main tab should be Repository - - @javascript - Scenario: Navigate to repository charts tab - Given I press "g" and "d" - Then the active sub tab should be Charts - And the active main tab should be Repository - - @javascript - Scenario: Navigate to issues tab - Given I press "g" and "i" - Then the active main tab should be Issues - - @javascript - Scenario: Navigate to merge requests tab - Given I press "g" and "m" - Then the active main tab should be Merge Requests - - @javascript - Scenario: Navigate to snippets tab - Given I press "g" and "s" - Then the active main tab should be Snippets - - @javascript - Scenario: Navigate to wiki tab - Given I press "g" and "w" - Then the active main tab should be Wiki - - @javascript - Scenario: Navigate to project home - Given I press "g" and "p" - Then the active sub tab should be Home - And the active main tab should be Project - - @javascript - Scenario: Navigate to project feed - Given I press "g" and "e" - Then the active sub tab should be Activity - And the active main tab should be Project diff --git a/features/steps/project/project_shortcuts.rb b/features/steps/project/project_shortcuts.rb deleted file mode 100644 index cebf09750b0..00000000000 --- a/features/steps/project/project_shortcuts.rb +++ /dev/null @@ -1,42 +0,0 @@ -class Spinach::Features::ProjectShortcuts < Spinach::FeatureSteps - include SharedAuthentication - include SharedPaths - include SharedProject - include SharedProjectTab - include SharedShortcuts - - step 'I press "g" and "f"' do - find('body').native.send_key('g') - find('body').native.send_key('f') - end - - step 'I press "g" and "c"' do - find('body').native.send_key('g') - find('body').native.send_key('c') - end - - step 'I press "g" and "n"' do - find('body').native.send_key('g') - find('body').native.send_key('n') - end - - step 'I press "g" and "d"' do - find('body').native.send_key('g') - find('body').native.send_key('d') - end - - step 'I press "g" and "s"' do - find('body').native.send_key('g') - find('body').native.send_key('s') - end - - step 'I press "g" and "w"' do - find('body').native.send_key('g') - find('body').native.send_key('w') - end - - step 'I press "g" and "e"' do - find('body').native.send_key('g') - find('body').native.send_key('e') - end -end diff --git a/lib/gitlab/data_builder/push.rb b/lib/gitlab/data_builder/push.rb index 4ab5b3455a5..31a46a738c3 100644 --- a/lib/gitlab/data_builder/push.rb +++ b/lib/gitlab/data_builder/push.rb @@ -64,8 +64,11 @@ module Gitlab # For performance purposes maximum 20 latest commits # will be passed as post receive hook data. - commit_attrs = commits_limited.map do |commit| - commit.hook_attrs(with_changed_files: true) + # n+1: https://gitlab.com/gitlab-org/gitlab-ce/issues/38259 + commit_attrs = Gitlab::GitalyClient.allow_n_plus_1_calls do + commits_limited.map do |commit| + commit.hook_attrs(with_changed_files: true) + end end type = Gitlab::Git.tag_ref?(ref) ? 'tag_push' : 'push' diff --git a/lib/gitlab/diff/file.rb b/lib/gitlab/diff/file.rb index 1dabd4ebdd0..fcac85ff892 100644 --- a/lib/gitlab/diff/file.rb +++ b/lib/gitlab/diff/file.rb @@ -5,7 +5,7 @@ module Gitlab delegate :new_file?, :deleted_file?, :renamed_file?, :old_path, :new_path, :a_mode, :b_mode, :mode_changed?, - :submodule?, :expanded?, :too_large?, :collapsed?, :line_count, to: :diff, prefix: false + :submodule?, :expanded?, :too_large?, :collapsed?, :line_count, :has_binary_notice?, to: :diff, prefix: false # Finding a viewer for a diff file happens based only on extension and whether the # diff file blobs are binary or text, which means 1 diff file should only be matched by 1 viewer, @@ -166,7 +166,7 @@ module Gitlab end def binary? - old_blob&.binary? || new_blob&.binary? + has_binary_notice? || old_blob&.binary? || new_blob&.binary? end def text? diff --git a/lib/gitlab/git/blob.rb b/lib/gitlab/git/blob.rb index 8d96826f6ee..a4336facee5 100644 --- a/lib/gitlab/git/blob.rb +++ b/lib/gitlab/git/blob.rb @@ -32,6 +32,8 @@ module Gitlab else blob = repository.lookup(sha) + next unless blob.is_a?(Rugged::Blob) + new( id: blob.oid, size: blob.size, diff --git a/lib/gitlab/git/diff.rb b/lib/gitlab/git/diff.rb index a23c8cf0dd1..096301d300f 100644 --- a/lib/gitlab/git/diff.rb +++ b/lib/gitlab/git/diff.rb @@ -206,6 +206,10 @@ module Gitlab Diff.binary_message(@old_path, @new_path) end + def has_binary_notice? + @diff.start_with?('Binary') + end + private def init_from_rugged(rugged) diff --git a/lib/gitlab/git/repository.rb b/lib/gitlab/git/repository.rb index 0be35034d24..10ba29acbd1 100644 --- a/lib/gitlab/git/repository.rb +++ b/lib/gitlab/git/repository.rb @@ -475,7 +475,15 @@ module Gitlab # diff options. The +options+ hash can also include :break_rewrites to # split larger rewrites into delete/add pairs. def diff(from, to, options = {}, *paths) - Gitlab::Git::DiffCollection.new(diff_patches(from, to, options, *paths), options) + iterator = gitaly_migrate(:diff_between) do |is_enabled| + if is_enabled + gitaly_commit_client.diff(from, to, options.merge(paths: paths)) + else + diff_patches(from, to, options, *paths) + end + end + + Gitlab::Git::DiffCollection.new(iterator, options) end # Returns a RefName for a given SHA diff --git a/lib/gitlab/gitaly_client/commit_service.rb b/lib/gitlab/gitaly_client/commit_service.rb index b536eb1868c..cf3a3554552 100644 --- a/lib/gitlab/gitaly_client/commit_service.rb +++ b/lib/gitlab/gitaly_client/commit_service.rb @@ -32,20 +32,38 @@ module Gitlab GitalyClient.call(@repository.storage, :commit_service, :commit_is_ancestor, request).value end + def diff(from, to, options = {}) + from_id = case from + when NilClass + EMPTY_TREE_ID + when Rugged::Commit + from.oid + else + from + end + + to_id = case to + when NilClass + EMPTY_TREE_ID + when Rugged::Commit + to.oid + else + to + end + + request_params = diff_between_commits_request_params(from_id, to_id, options) + + call_commit_diff(request_params, options) + end + def diff_from_parent(commit, options = {}) - request_params = commit_diff_request_params(commit, options) - request_params[:ignore_whitespace_change] = options.fetch(:ignore_whitespace_change, false) - request_params[:enforce_limits] = options.fetch(:limits, true) - request_params[:collapse_diffs] = request_params[:enforce_limits] || !options.fetch(:expanded, true) - request_params.merge!(Gitlab::Git::DiffCollection.collection_limits(options).to_h) + request_params = diff_from_parent_request_params(commit, options) - request = Gitaly::CommitDiffRequest.new(request_params) - response = GitalyClient.call(@repository.storage, :diff_service, :commit_diff, request) - GitalyClient::DiffStitcher.new(response) + call_commit_diff(request_params, options) end def commit_deltas(commit) - request = Gitaly::CommitDeltaRequest.new(commit_diff_request_params(commit)) + request = Gitaly::CommitDeltaRequest.new(diff_from_parent_request_params(commit)) response = GitalyClient.call(@repository.storage, :diff_service, :commit_delta, request) response.flat_map { |msg| msg.deltas } @@ -214,13 +232,28 @@ module Gitlab private - def commit_diff_request_params(commit, options = {}) + def call_commit_diff(request_params, options = {}) + request_params[:ignore_whitespace_change] = options.fetch(:ignore_whitespace_change, false) + request_params[:enforce_limits] = options.fetch(:limits, true) + request_params[:collapse_diffs] = request_params[:enforce_limits] || !options.fetch(:expanded, true) + request_params.merge!(Gitlab::Git::DiffCollection.collection_limits(options).to_h) + + request = Gitaly::CommitDiffRequest.new(request_params) + response = GitalyClient.call(@repository.storage, :diff_service, :commit_diff, request) + GitalyClient::DiffStitcher.new(response) + end + + def diff_from_parent_request_params(commit, options = {}) parent_id = commit.parent_ids.first || EMPTY_TREE_ID + diff_between_commits_request_params(parent_id, commit.id, options) + end + + def diff_between_commits_request_params(from_id, to_id, options) { repository: @gitaly_repo, - left_commit_id: parent_id, - right_commit_id: commit.id, + left_commit_id: from_id, + right_commit_id: to_id, paths: options.fetch(:paths, []).map { |path| GitalyClient.encode(path) } } end diff --git a/lib/gitlab/usage_data.rb b/lib/gitlab/usage_data.rb index 36708078136..6857038dba8 100644 --- a/lib/gitlab/usage_data.rb +++ b/lib/gitlab/usage_data.rb @@ -9,12 +9,28 @@ module Gitlab def uncached_data license_usage_data.merge(system_usage_data) + .merge(features_usage_data) + .merge(components_usage_data) end def to_json(force_refresh: false) data(force_refresh: force_refresh).to_json end + def license_usage_data + usage_data = { + uuid: current_application_settings.uuid, + hostname: Gitlab.config.gitlab.host, + version: Gitlab::VERSION, + active_user_count: User.active.count, + recorded_at: Time.now, + mattermost_enabled: Gitlab.config.mattermost.enabled, + edition: 'CE' + } + + usage_data + end + def system_usage_data { counts: { @@ -54,18 +70,28 @@ module Gitlab } end - def license_usage_data - usage_data = { - uuid: current_application_settings.uuid, - hostname: Gitlab.config.gitlab.host, - version: Gitlab::VERSION, - active_user_count: User.active.count, - recorded_at: Time.now, - mattermost_enabled: Gitlab.config.mattermost.enabled, - edition: 'CE' + def features_usage_data + features_usage_data_ce + end + + def features_usage_data_ce + { + signup: current_application_settings.signup_enabled?, + ldap: Gitlab.config.ldap.enabled, + gravatar: current_application_settings.gravatar_enabled?, + omniauth: Gitlab.config.omniauth.enabled, + reply_by_email: Gitlab::IncomingEmail.enabled?, + container_registry: Gitlab.config.registry.enabled, + gitlab_shared_runners: Gitlab.config.gitlab_ci.shared_runners_enabled } + end - usage_data + def components_usage_data + { + gitlab_pages: { enabled: Gitlab.config.pages.enabled, version: Gitlab::Pages::VERSION }, + git: { version: Gitlab::Git.version }, + database: { adapter: Gitlab::Database.adapter_name, version: Gitlab::Database.version } + } end def services_usage diff --git a/lib/system_check/incoming_email/imap_authentication_check.rb b/lib/system_check/incoming_email/imap_authentication_check.rb index dee108d987b..e55bea86d3f 100644 --- a/lib/system_check/incoming_email/imap_authentication_check.rb +++ b/lib/system_check/incoming_email/imap_authentication_check.rb @@ -4,22 +4,17 @@ module SystemCheck set_name 'IMAP server credentials are correct?' def check? - if mailbox_config - begin - imap = Net::IMAP.new(config[:host], port: config[:port], ssl: config[:ssl]) - imap.starttls if config[:start_tls] - imap.login(config[:email], config[:password]) - connected = true - rescue - connected = false - end + if config + try_connect_imap + else + @error = "#{mail_room_config_path} does not have mailboxes setup" + false end - - connected end def show_error try_fixing_it( + "An error occurred: #{@error.class}: #{@error.message}", 'Check that the information in config/gitlab.yml is correct' ) for_more_information( @@ -30,15 +25,31 @@ module SystemCheck private - def mailbox_config - return @config if @config + def try_connect_imap + imap = Net::IMAP.new(config[:host], port: config[:port], ssl: config[:ssl]) + imap.starttls if config[:start_tls] + imap.login(config[:email], config[:password]) + true + rescue => error + @error = error + false + end + + def config + @config ||= load_config + end + + def mail_room_config_path + @mail_room_config_path ||= + Rails.root.join('config', 'mail_room.yml').to_s + end - config_path = Rails.root.join('config', 'mail_room.yml').to_s - erb = ERB.new(File.read(config_path)) - erb.filename = config_path + def load_config + erb = ERB.new(File.read(mail_room_config_path)) + erb.filename = mail_room_config_path config_file = YAML.load(erb.result) - @config = config_file[:mailboxes]&.first + config_file.dig(:mailboxes, 0) end end end diff --git a/locale/gitlab.pot b/locale/gitlab.pot index bd3d5b7c839..bc476a706cb 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -3,12 +3,13 @@ # This file is distributed under the same license as the gitlab package. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: gitlab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-09-06 08:32+0200\n" -"PO-Revision-Date: 2017-09-06 08:32+0200\n" +"POT-Creation-Date: 2017-09-21 14:20+0530\n" +"PO-Revision-Date: 2017-09-21 14:20+0530\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "Language: \n" @@ -52,6 +53,9 @@ msgid_plural "%d pipelines" msgstr[0] "" msgstr[1] "" +msgid "1st contribution!" +msgstr "" + msgid "A collection of graphs regarding Continuous Integration" msgstr "" @@ -94,7 +98,7 @@ msgstr "" msgid "All" msgstr "" -msgid "Appearances" +msgid "Appearance" msgstr "" msgid "Applications" @@ -118,64 +122,37 @@ msgstr "" msgid "Are you sure?" msgstr "" -msgid "Attach a file by drag & drop or %{upload_link}" -msgstr "" - -msgid "Authentication log" -msgstr "" - -msgid "Billing" -msgstr "" - -msgid "BillingPlans|%{group_name} is currently on the %{plan_link} plan." +msgid "Artifacts" msgstr "" -msgid "BillingPlans|Automatic downgrade and upgrade to some plans is currently not available." -msgstr "" - -msgid "BillingPlans|Current plan" -msgstr "" - -msgid "BillingPlans|Customer Support" -msgstr "" - -msgid "BillingPlans|Learn more about each plan by reading our %{faq_link}." -msgstr "" - -msgid "BillingPlans|Manage plan" -msgstr "" - -msgid "BillingPlans|Please contact %{customer_support_link} in that case." -msgstr "" - -msgid "BillingPlans|See all %{plan_name} features" +msgid "Attach a file by drag & drop or %{upload_link}" msgstr "" -msgid "BillingPlans|This group uses the plan associated with its parent group." +msgid "Authentication Log" msgstr "" -msgid "BillingPlans|To manage the plan for this group, visit the billing section of %{parent_billing_page_link}." +msgid "Auto DevOps (Beta)" msgstr "" -msgid "BillingPlans|Upgrade" +msgid "Auto DevOps can be activated for this project. It will automatically build, test, and deploy your application based on a predefined CI/CD configuration." msgstr "" -msgid "BillingPlans|You are currently on the %{plan_link} plan." +msgid "Auto DevOps documentation" msgstr "" -msgid "BillingPlans|frequently asked questions" +msgid "Auto Review Apps and Auto Deploy need a domain name and the %{kubernetes} to work correctly." msgstr "" -msgid "BillingPlans|monthly" +msgid "Auto Review Apps and Auto Deploy need a domain name to work correctly." msgstr "" -msgid "BillingPlans|paid annually at %{price_per_year}" +msgid "Auto Review Apps and Auto Deploy need the %{kubernetes} to work correctly." msgstr "" -msgid "BillingPlans|per user" +msgid "AutoDevOps|Learn more in the" msgstr "" -msgid "Billinglans|Downgrade" +msgid "Board" msgstr "" msgid "Branch" @@ -195,6 +172,12 @@ msgstr "" msgid "Branches" msgstr "" +msgid "Branches|This branch hasn’t been merged into %{default_branch}." +msgstr "" + +msgid "Branches|To avoid data loss, consider merging this branch before deleting it." +msgstr "" + msgid "Browse Directory" msgstr "" @@ -338,18 +321,12 @@ msgstr "" msgid "Compare" msgstr "" -msgid "Container Registry" -msgstr "" - msgid "Contribution guide" msgstr "" msgid "Contributors" msgstr "" -msgid "Copy SSH public key to clipboard" -msgstr "" - msgid "Copy URL to clipboard" msgstr "" @@ -490,6 +467,9 @@ msgstr "" msgid "Emails" msgstr "" +msgid "Enable in settings" +msgstr "" + msgid "EventFilterBy|Filter by all" msgstr "" @@ -517,6 +497,9 @@ msgstr "" msgid "Every week (Sundays at 4:00am)" msgstr "" +msgid "Explore projects" +msgstr "" + msgid "Failed to change the owner" msgstr "" @@ -558,9 +541,6 @@ msgstr "" msgid "GPG Keys" msgstr "" -msgid "Geo Nodes" -msgstr "" - msgid "Git storage health information has been reset" msgstr "" @@ -573,7 +553,28 @@ msgstr "" msgid "GoToYourFork|Fork" msgstr "" -msgid "Group overview" +msgid "GroupSettings|Prevent sharing a project within %{group} with other groups" +msgstr "" + +msgid "GroupSettings|Share with group lock" +msgstr "" + +msgid "GroupSettings|This setting is applied on %{ancestor_group} and has been overridden on this subgroup." +msgstr "" + +msgid "GroupSettings|This setting is applied on %{ancestor_group}. To share projects in this group with another group, ask the owner to override the setting or %{remove_ancestor_share_with_group_lock}." +msgstr "" + +msgid "GroupSettings|This setting is applied on %{ancestor_group}. You can override the setting or %{remove_ancestor_share_with_group_lock}." +msgstr "" + +msgid "GroupSettings|This setting will be applied to all subgroups unless overridden by a group owner." +msgstr "" + +msgid "GroupSettings|cannot be disabled when the parent group \"Share with group lock\" is enabled, except by the owner of the parent group" +msgstr "" + +msgid "GroupSettings|remove the share with group lock from %{ancestor_group_name}" msgstr "" msgid "Health Check" @@ -597,9 +598,6 @@ msgstr "" msgid "Home" msgstr "" -msgid "Hooks" -msgstr "" - msgid "Housekeeping successfully started" msgstr "" @@ -621,6 +619,9 @@ msgstr "" msgid "Issues" msgstr "" +msgid "Jobs" +msgstr "" + msgid "LFSStatus|Disabled" msgstr "" @@ -662,17 +663,11 @@ msgstr "" msgid "Leave project" msgstr "" -msgid "License" -msgstr "" - msgid "Limited to showing %d event at most" msgid_plural "Limited to showing %d events at most" msgstr[0] "" msgstr[1] "" -msgid "Locked Files" -msgstr "" - msgid "Median" msgstr "" @@ -813,6 +808,18 @@ msgstr "" msgid "Owner" msgstr "" +msgid "Pagination|Last »" +msgstr "" + +msgid "Pagination|Next" +msgstr "" + +msgid "Pagination|Prev" +msgstr "" + +msgid "Pagination|« First" +msgstr "" + msgid "Password" msgstr "" @@ -828,9 +835,6 @@ msgstr "" msgid "Pipeline Schedules" msgstr "" -msgid "Pipeline quota" -msgstr "" - msgid "PipelineCharts|Failed:" msgstr "" @@ -918,10 +922,7 @@ msgstr "" msgid "Preferences" msgstr "" -msgid "Profile Settings" -msgstr "" - -msgid "Project" +msgid "Profile" msgstr "" msgid "Project '%{project_name}' queued for deletion." @@ -957,9 +958,6 @@ msgstr "" msgid "Project home" msgstr "" -msgid "Project overview" -msgstr "" - msgid "ProjectActivityRSS|Subscribe" msgstr "" @@ -984,22 +982,22 @@ msgstr "" msgid "ProjectNetworkGraph|Graph" msgstr "" -msgid "Push Rules" +msgid "ProjectsDropdown|Frequently visited" msgstr "" msgid "ProjectsDropdown|Loading projects" msgstr "" -msgid "ProjectsDropdown|Sorry, no projects matched your search" -msgstr "" - msgid "ProjectsDropdown|Projects you visit often will appear here" msgstr "" msgid "ProjectsDropdown|Search your projects" msgstr "" -msgid "ProjectsDropdown|Something went wrong on our end" +msgid "ProjectsDropdown|Something went wrong on our end." +msgstr "" + +msgid "ProjectsDropdown|Sorry, no projects matched your search" msgstr "" msgid "ProjectsDropdown|This feature requires browser localStorage support" @@ -1074,6 +1072,9 @@ msgstr "" msgid "Schedule a new pipeline" msgstr "" +msgid "Schedules" +msgstr "" + msgid "Scheduling Pipelines" msgstr "" @@ -1113,6 +1114,12 @@ msgstr "" msgid "Settings" msgstr "" +msgid "Show parent pages" +msgstr "" + +msgid "Show parent subgroups" +msgstr "" + msgid "Showing %d event" msgid_plural "Showing %d events" msgstr[0] "" @@ -1133,6 +1140,9 @@ msgstr "" msgid "StarProject|Star" msgstr "" +msgid "Starred projects" +msgstr "" + msgid "Start a %{new_merge_request} with these changes" msgstr "" @@ -1142,6 +1152,9 @@ msgstr "" msgid "Switch branch/tag" msgstr "" +msgid "System Hooks" +msgstr "" + msgid "Tag" msgid_plural "Tags" msgstr[0] "" @@ -1207,6 +1220,9 @@ msgstr "" msgid "There are problems accessing Git storage: " msgstr "" +msgid "This is the author's first Merge Request to this project. Handle with care." +msgstr "" + msgid "This means you can not push code until you create an empty repository or import existing one." msgstr "" @@ -1457,6 +1473,9 @@ msgstr "" msgid "Your name" msgstr "" +msgid "Your projects" +msgstr "" + msgid "day" msgid_plural "days" msgstr[0] "" diff --git a/spec/features/projects/shortcuts_spec.rb b/spec/features/projects/shortcuts_spec.rb deleted file mode 100644 index bf18c444c3d..00000000000 --- a/spec/features/projects/shortcuts_spec.rb +++ /dev/null @@ -1,21 +0,0 @@ -require 'spec_helper' - -feature 'Project shortcuts' do - let(:project) { create(:project, name: 'Victorialand') } - let(:user) { create(:user) } - - describe 'On a project', js: true do - before do - project.team << [user, :master] - sign_in user - visit project_path(project) - end - - describe 'pressing "i"' do - it 'redirects to new issue page' do - find('body').native.send_key('i') - expect(page).to have_content('Victorialand') - end - end - end -end diff --git a/spec/features/projects/user_uses_shortcuts_spec.rb b/spec/features/projects/user_uses_shortcuts_spec.rb new file mode 100644 index 00000000000..fb0d8c766fe --- /dev/null +++ b/spec/features/projects/user_uses_shortcuts_spec.rb @@ -0,0 +1,108 @@ +require 'spec_helper' + +describe 'User uses shortcuts', :js do + let(:project) { create(:project, :repository) } + let(:user) { create(:user) } + + before do + project.add_master(user) + sign_in(user) + + visit(project_path(project)) + end + + context 'when navigating to the Overview pages' do + it 'redirects to the details page' do + find('body').native.send_key('g') + find('body').native.send_key('p') + + expect(page).to have_active_navigation('Overview') + expect(page).to have_active_sub_navigation('Details') + end + + it 'redirects to the activity page' do + find('body').native.send_key('g') + find('body').native.send_key('e') + + expect(page).to have_active_navigation('Overview') + expect(page).to have_active_sub_navigation('Activity') + end + end + + context 'when navigating to the Repository pages' do + it 'redirects to the repository files page' do + find('body').native.send_key('g') + find('body').native.send_key('f') + + expect(page).to have_active_navigation('Repository') + expect(page).to have_active_sub_navigation('Files') + end + + it 'redirects to the repository commits page' do + find('body').native.send_key('g') + find('body').native.send_key('c') + + expect(page).to have_active_navigation('Repository') + expect(page).to have_active_sub_navigation('Commits') + end + + it 'redirects to the repository graph page' do + find('body').native.send_key('g') + find('body').native.send_key('n') + + expect(page).to have_active_navigation('Repository') + expect(page).to have_active_sub_navigation('Graph') + end + + it 'redirects to the repository charts page' do + find('body').native.send_key('g') + find('body').native.send_key('d') + + expect(page).to have_active_navigation('Repository') + expect(page).to have_active_sub_navigation('Charts') + end + end + + context 'when navigating to the Issues pages' do + it 'redirects to the issues list page' do + find('body').native.send_key('g') + find('body').native.send_key('i') + + expect(page).to have_active_navigation('Issues') + expect(page).to have_active_sub_navigation('List') + end + + it 'redirects to the new issue page' do + find('body').native.send_key('i') + + expect(page).to have_content(project.title) + end + end + + context 'when navigating to the Merge Requests pages' do + it 'redirects to the merge requests page' do + find('body').native.send_key('g') + find('body').native.send_key('m') + + expect(page).to have_active_navigation('Merge Requests') + end + end + + context 'when navigating to the Snippets pages' do + it 'redirects to the snippets page' do + find('body').native.send_key('g') + find('body').native.send_key('s') + + expect(page).to have_active_navigation('Snippets') + end + end + + context 'when navigating to the Wiki pages' do + it 'redirects to the wiki page' do + find('body').native.send_key('g') + find('body').native.send_key('w') + + expect(page).to have_active_navigation('Wiki') + end + end +end diff --git a/spec/javascripts/pipelines/pipelines_artifacts_spec.js b/spec/javascripts/pipelines/pipelines_artifacts_spec.js index acb67d0ec21..a8a8e3e2cff 100644 --- a/spec/javascripts/pipelines/pipelines_artifacts_spec.js +++ b/spec/javascripts/pipelines/pipelines_artifacts_spec.js @@ -34,7 +34,7 @@ describe('Pipelines Artifacts dropdown', () => { ).toEqual(artifacts[0].path); expect( - component.$el.querySelector('.dropdown-menu li a span').textContent, + component.$el.querySelector('.dropdown-menu li a').textContent, ).toContain(artifacts[0].name); }); }); diff --git a/spec/lib/gitlab/git/blob_spec.rb b/spec/lib/gitlab/git/blob_spec.rb index 66ba00acb7d..f3945e748ab 100644 --- a/spec/lib/gitlab/git/blob_spec.rb +++ b/spec/lib/gitlab/git/blob_spec.rb @@ -119,10 +119,13 @@ describe Gitlab::Git::Blob, seed_helper: true do shared_examples 'finding blobs by ID' do let(:raw_blob) { Gitlab::Git::Blob.raw(repository, SeedRepo::RubyBlob::ID) } + let(:bad_blob) { Gitlab::Git::Blob.raw(repository, SeedRepo::BigCommit::ID) } + it { expect(raw_blob.id).to eq(SeedRepo::RubyBlob::ID) } it { expect(raw_blob.data[0..10]).to eq("require \'fi") } it { expect(raw_blob.size).to eq(669) } it { expect(raw_blob.truncated?).to be_falsey } + it { expect(bad_blob).to be_nil } context 'large file' do it 'limits the size of a large file' do diff --git a/spec/lib/gitlab/usage_data_spec.rb b/spec/lib/gitlab/usage_data_spec.rb index c7d9f105f04..ee152872acc 100644 --- a/spec/lib/gitlab/usage_data_spec.rb +++ b/spec/lib/gitlab/usage_data_spec.rb @@ -26,6 +26,16 @@ describe Gitlab::UsageData do version uuid hostname + signup + ldap + gravatar + omniauth + reply_by_email + container_registry + gitlab_pages + gitlab_shared_runners + git + database )) end @@ -86,6 +96,32 @@ describe Gitlab::UsageData do end end + describe '#features_usage_data_ce' do + subject { described_class.features_usage_data_ce } + + it 'gathers feature usage data' do + expect(subject[:signup]).to eq(current_application_settings.signup_enabled?) + expect(subject[:ldap]).to eq(Gitlab.config.ldap.enabled) + expect(subject[:gravatar]).to eq(current_application_settings.gravatar_enabled?) + expect(subject[:omniauth]).to eq(Gitlab.config.omniauth.enabled) + expect(subject[:reply_by_email]).to eq(Gitlab::IncomingEmail.enabled?) + expect(subject[:container_registry]).to eq(Gitlab.config.registry.enabled) + expect(subject[:gitlab_shared_runners]).to eq(Gitlab.config.gitlab_ci.shared_runners_enabled) + end + end + + describe '#components_usage_data' do + subject { described_class.components_usage_data } + + it 'gathers components usage data' do + expect(subject[:gitlab_pages][:enabled]).to eq(Gitlab.config.pages.enabled) + expect(subject[:gitlab_pages][:version]).to eq(Gitlab::Pages::VERSION) + expect(subject[:git][:version]).to eq(Gitlab::Git.version) + expect(subject[:database][:adapter]).to eq(Gitlab::Database.adapter_name) + expect(subject[:database][:version]).to eq(Gitlab::Database.version) + end + end + describe '#license_usage_data' do subject { described_class.license_usage_data } diff --git a/spec/services/keys/last_used_service_spec.rb b/spec/services/keys/last_used_service_spec.rb index edaace293ae..bb0fb6acf39 100644 --- a/spec/services/keys/last_used_service_spec.rb +++ b/spec/services/keys/last_used_service_spec.rb @@ -26,12 +26,7 @@ describe Keys::LastUsedService do # make sure we _only_ update last_used_at and not always updated_at. key = create(:key, last_used_at: 1.year.ago) - recorder = ActiveRecord::QueryRecorder.new do - described_class.new(key).execute - end - - expect(recorder.count).to eq(1) - expect(recorder.log[0]).not_to include('updated_at') + expect { described_class.new(key).execute }.not_to change { key.updated_at } end end diff --git a/spec/support/matchers/navigation_matcher.rb b/spec/support/matchers/navigation_matcher.rb index 5b6d9c1a4df..63f59b9654c 100644 --- a/spec/support/matchers/navigation_matcher.rb +++ b/spec/support/matchers/navigation_matcher.rb @@ -4,3 +4,9 @@ RSpec::Matchers.define :have_active_navigation do |expected| expect(page.find('.sidebar-top-level-items > li.active')).to have_content(expected) end end + +RSpec::Matchers.define :have_active_sub_navigation do |expected| + match do |page| + expect(page.find('.sidebar-sub-level-items > li.active:not(.fly-out-top-item)')).to have_content(expected) + end +end |