From a9ae16bcb8ccb9790b4ad84875f7557d13a648d9 Mon Sep 17 00:00:00 2001 From: Ashesh Vidyut Date: Mon, 1 Jun 2020 07:56:55 +0530 Subject: [PATCH 1/3] mvp MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit service dev testing fixes using ee route and restore fix lilnks nil check and restore fix change log update revert already done changes trashed page for admin trashed count revert unwanted code revert unwanted code removed unwanted code fixed typo introduced by mistake trashed empty state fix file name Update description of Praefect GraphQL mutation to toggle un/resolving discussion Adds a new GraphQL mutations for toggling the resolve status of a discussion: `discussionToggleResolve`. https://gitlab.com/gitlab-org/gitlab/-/issues/13049 Remove outdated doc section Fix DAST_ZAP_GENERATE_CONFIG env var doc issue Add an E2E test of code owner approval and merge This adds a test to provide coverage for the issue to be resolved in: https://gitlab.com/gitlab-org/gitlab/-/issues/216345 - Includes changes to `Resource::ProtectedBranch` to require code owner approval for a branch that's already protected. - Adds a page object for merge request approvals settings. - Enables `find_element` to handle any kwargs without a conflict between dynamic element selectors and capybara (which only accepts certain keywords). - Enables `has_element?` to find disabled elements. - Enables `Runtime::Feature` to verify when disabling a feature flag. Testcase creation issue: https://gitlab.com/gitlab-org/quality/testcases/-/issues/803 E2E to test creating the very first file via Web IDE Regression, see https://gitlab.com/gitlab-org/gitlab/-/issues/27915 Document DS detection depth Updated README.md per discussion here http://disq.us/p/298qamr . Note that I used an absolute link to the GitLab runner documentation, which seems to be cross-repo, so I didn't think it would work to use the filename.md type path link. Implement toggle for Kubernetes::NetworkPolicy This commit implements support for enabling and disabling Kubernetes::NetworkPolicy resources via update action of the corresponding API. Toggling happens via a custom label matcher for the podSelector. Test for semantically unhelpful linking words Links should use semantically helpful words for both accessibility and search engine optimization purposes. Test for some common, terrible linking words. Update GitLab Shell to v13.3.0 https://gitlab.com/gitlab-org/gitlab-shell/-/merge_requests/391 Move frontend batch comments code into core This moves all the frontend batch comments related code out of the EE folder and into core Part of https://gitlab.com/gitlab-org/gitlab/-/issues/28154 Apply fullscreen-layout to Design View Fixes bug where Issue content could be scrolled when Design View (the overlay) was opened. Add asset link type to Edit Release page This commit adds a new "type" dropdown to the asset link portion of the "Edit Release" page. Update deprecated slot syntax in `./app/assets/javascripts/clusters/components/applications.vue` Update GITALY_SERVER_VERSION for Ruby 2.6.6 For now, we use a commit SHA since there is no tag for this yet. Statistics about amount of clusters configured GitLab should reports about setup used for Gitaly. Usual Gitaly setup with multiple storages will report none clusters used, but setup with Praefect with multiple Gitalies behind will report amount of such Praefects as clusters. Related to: https://gitlab.com/gitlab-org/gitaly/-/issues/2664 Use gitlab-workhorse 8.33.0 Convert IP spoofing errors into client errors Currently, IP spoofing attacks result in a 500 response, which counts towards our error budget. Since they're caused by the properties of the client request, it's appropriate to convert them into 400 errors. We don't need to be too worried about the format of this response, as only malicious users will see it. Improves information on linting docs in editors Add issues analytics table This MR adds a table to the issues analaytics page. The table contains a list of issues that have been used for the counts in the chart. Add support for pasting images in the Web IDE If you paste a local image in the Web IDE's markdown editor, it gets uploaded to the same directory with name "image.png". If the file already exists, a numeric suffix is added to the name. Add design support to events This adds events on DesignManagement::Design models. These can be created, updated, destroyed or archived. Add specs for updating issuable labels in API This is in preparation for upgrading to Grape v1.3.x. Parameters of Array types will no longer automatically coerced to empty arrays if a key is provided with a nil value. Add epics to bulk editing docs Add file_identifier_hash to diff position Remove append-right-8 CSS class This removes the append-right-8 CSS class and replaces it with gl-mr-3 utility class from GitLab-UI Add `link_type` column to `release_assets` table Part of https://gitlab.com/gitlab-org/gitlab/-/issues/207257 See merge request https://gitlab.com/gitlab-org/gitlab/-/merge_requests/33156 Alerts list pagination Add Elasticsearch to Sidekiq ServerMetrics This will allow us to add Grafana graphs for these prometheus metrics. After this is deployed we will add to the sidekiq detail graphs to see how these are impacted by Elasticsearch requests. Add small alterations for better readability Fix condition Add cr remarks Add cr remarks Add cr remarks Add `marked_for_deletion_on` attribute in docs Add "Getting Started" section to GraphQL FE doc Fix canRemove check Add tnir to ja proofreader Signed-off-by: Takuya Noguchi Add health status attribute to bulk update service - Modify BulkUpdateService to accept the attribute health_status - Add specs for bulk updating issues health status at the project and the group level Add epic attribute to bulk update service Modify BulkUpdateService to accept epic attribute Add specs for bulk updating issues epic at the project and the group level Unknown sign-in email styling Add styling to the unknown sign-in email so it looks more legitimate and contains more useful information about what happened. Add links to external learning resources to CI pages Docs: Add link asset type Related to: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/31253 Update Go proxy docs to reference the Go guide Add structured logging for ActionCable Upgrades lograge to support ActionCable and then overrides notification_payload to log extra information Add ability to insert an image via SSE Added the ability to insert an image via SSE Add individual usage counters for snippet types Make lists use hyphens in markdown toolbar Improve regex for geo auth keys checker - The `gitlab:geo:check` rake task produced misleading results if the AuthorizedKeysCommand* directives had leading whitespace. Altered the regular expressions to allow for zero-to-many occurrences of whitespace before the directives. Related https://gitlab.com/gitlab-org/gitlab-orchestrator/-/issues/30 Closes https://gitlab.com/gitlab-org/gitlab/-/issues/219572 Signed-off-by: Robert Marshall Add new E2E test of the status of moving a repo - Adds the ability to check repostory storage moves via the API - Adds the ability to check if a project has a file via the API Resolve no search result click causing issue Replace IMPORT_JOBS_EXPIRATION constant usage Replace usage of IMPORT_JOBS_EXPIRATION with its original definition Pin the Chrome/Chromedriver versions to 83 in the QA Signed-off-by: Rémy Coutable Upgraded to nodemon 2.0.4 Force newer versions of chokidar chokidar has a newer version which do not depend on fsevents, is faster and only compatible with newer node versions (>=8) Their actual interface remains the same and we can safely _force_ newer versions to get performance and security benefits. This can be removed once all dependencies are up to date: https://gitlab.com/gitlab-org/gitlab/-/issues/219353 It should also alleviate the problem of: https://gitlab.com/gitlab-org/gitlab-development-kit/-/issues/765 Add documentation and enable artifacts/exclude feature Add mention of Merge request in Slack message To make the message clearer. Enable the `in this group` action in the Search dropdown Previously, you would have to be on a Group's page to see this action available. With this commit, the action will also be present when a project is owned by a Group. This also fixes an issue where the dropdown would close whenever there are no results from the autocomplete, which defeated the purpose of having these actions in the first place. Notify self-managed admins about active user count Closes https://gitlab.com/gitlab-org/gitlab/-/issues/217804/ Add stage + definition to SMAU/Stage Metrics Crosslink to Terraform plan documentation Provide link to more information. Add alert for autodevops policies to the Policy editor This commit add a new alert for policies managed by Auto DevOps pipelines. This alert is only visible if at least one Auto DevOps policy is present Update minimum Git version to v2.24 Use tagged Gitaly version A version with the Ruby 2.6.6 upgrade has been tagged so we use that instead of the SHA. This also prevents our test setup to fetch Gitaly every time because of the mismatch with Gitaly's VERSION Update Docs to disallow mix of local/remote gitalies Documentation has a NOTE about incorrect configuration for Gitaly instances. It explicitly notes what configuration setup is incorrect and how it must be changed. Closes: https://gitlab.com/gitlab-org/gitlab/-/issues/213371 Update reference of blacklist/whitelist in License Finder Warn against the terms blacklist / whitelist These terms carry racial connotations and are inappropriate. While we cannot introduce testing for these words at the error level, because they are used in the UI and API at this time, we can start testing at the warning level and increase to error level once the terms are removed from the UI. Skip remote mirror fetch when using ls-remote When the `gitaly_ruby_remote_branches_ls_remote` feature flag is enabled, Gitaly will gather remote branches from the mirror via `ls-remote`, so a fetch is unnecessary. See https://gitlab.com/gitlab-org/gitaly/-/issues/2670. Move pipelines routes under /-/ scope A default pipelines link will look like `group/project/-/pipelines/123`. The old unscoped routing will be still served but the UI links will be scoped ones. Signed-off-by: Dmitriy Zaporozhets Docs: More Pages work Reorganizing Pages content and taking new screenshots Fix rules for ecs jobs Added changelog file Replace blacklist/whitelist in secure coding guidelines Revert "Add scanner name" This reverts commit a2bdc67cb688a5f7231dcf0fbb3d85374d62da97 Use the same keys more consistently And add a couple convenience methods to help: * Replicator#replicable_params * Replicator.for_replicable_params Fix url generation for KaTeX fonts Add CHANGELOG for KaTeX bug fix Improve spacing and wrapping of group actions buttons and stats Action buttons were wrapping incorrectly on group listing pages. Also moves spacing to GitLab UI utility classes Prevent redirecting to snippet view on error When getting seemingly successful response from the create/update snippet mutation, we still should not redirect to the snippet view in case 'errors' array is not empty Change snippet import logic from db Add Elasticsearch request metrics to rack middleware This will allow us to get a detailed break down of time spent in Elasticsearch requests by controller and action. This is following the same pattern used in `lib/gitlab/metrics/redis_rack_middleware.rb`. Refactor simplify rack metrics for elasticsearch/redis Firstly we move the initialization of the metrics into initialize so that they aren't invoked multiple times. Secondly we remove the conditional logic which is avoiding adding metrics when metrics are disabled. This is not necessary because these [rack middleware are only inserted when metrics are enabled](https://gitlab.com/gitlab-org/gitlab/-/blob/9c8f75e10b4dff4d3d13c6cf1ab75c0da252a352/config/initializers/zz_metrics.rb#L136) and there will always be a transaction present as it is [unconditionally created in `Gitlab::Metrics::RackMiddleware`](https://gitlab.com/gitlab-org/gitlab/-/blob/9c8f75e10b4dff4d3d13c6cf1ab75c0da252a352/lib/gitlab/metrics/rack_middleware.rb#L13). New created projects inherit instance integration Creating a new project should inherit the integration settings from the instance-level integration before trying from the template. Reduce perceived complexity of capability computation This changes the capability computation from code (a very large if statement) to transformation of static data. The data we transform is a map from `ability` to `requirements`: ```ruby { ability_needed: [:test_one?, :test_two?], other_ability: [:test_three?] } ``` If the object passes _any_ of the requirement tests, then it must pass the policy ability check for all of the matched abilities. If the tests are inductive then this becomes a one-to-one reverse mapping, but it need not be, so this formulation can actually express stricter policy tests than the current if statement can (i.e. we can assert that some event needs multiple abilities). This change expresses (like a DSL) the rules as symbols that must be implemented as methods on the receiver, so we need to `send` the requirements to the receiving event. Fix errors spawning Gitaly master in CI There were a couple new issues that were caused by Gitaly absorbing gitlab-shell functionality: 1. The Gitaly `config.toml` now needs the URL of the GitLab host (https://gitlab.com/gitlab-org/gitaly/-/merge_requests/2168). 2. `.gitlab_shell_secret` is now read by Gitaly at startup (https://gitlab.com/gitlab-org/gitaly/-/merge_requests/2214). 3. Praefect SQL failover is now enabled by default (https://gitlab.com/gitlab-org/gitaly/-/merge_requests/2218). We can disable this for now since we don't need this for the GitLab tests. Closes https://gitlab.com/gitlab-org/gitaly/-/issues/2831 Wrap auto merge parameters update in database transaction This commit handles the infra-related intermittent failure gracefully. Update GitLab Workhorse to v8.34.0 This fixes a ZIP download issue with some S3 providers (https://gitlab.com/gitlab-org/gitlab-workhorse/-/merge_requests/508) and adds support for uploading files directly via an S3 client inside Workhorse. Full list of changes: https://gitlab.com/gitlab-org/gitlab-workhorse/-/blob/master/CHANGELOG Rename Add Designs button Add links to external learning resources Remove all Javascript for search autocomplete in nav bar This is the first step in removing the functionality in https://gitlab.com/gitlab-org/gitlab/-/issues/213699 Update feature categories Status page has been removed, so put it under incident management which belongs to the same group. Remove local defined version of Cop - in favor of upstreamed gitlab-styles version Add test file finder for ruby files Add job to check for ee ruby code in foss This job runs in gitlab MR pipelines when the pipeline is a pipeline for merged result. It runs as if foss, without ee/ directory. It detects ruby foss files changed and runs matching rspec test files to detect any EE dependency that might exist in FOSS. Include test files in test file result Run rspec foss-impact in canonical MR pipelines Move TestFileFinder into tooling Fetch MR change using API This enables rspec foss-impact job to run in community and security forks Add CircleCI migration document Fix back button when switching mr tabs [GraphQL] Improve documentation regarding mutation errors conventions" Update dependency @gitlab/svgs to v1.133.0 Remove CI Minutes FFs from the codebase Drop :ci_minutes_enforce_quota_for_public_projects and :ci_minutes_track_for_public_projects from the codebase. Add dependency links to NuGet package details Adds new tab for dependency links Created new component to render link content Added logic for showing tab on page Added tests for tab logic Added tests for new component Updated pot file Applying reviewer feedback Applied patch to prefer object over array order Removed template around p and moved v-else Add build reference to test reports Because requirements reports will be processed per each CI build, not per pipeline, it will be better to associate each test report with a build. In a next step we can also remove pipeline reference to normalize this table. Add `AvoidFeatureGet` RuboCop rule This removes the usage of `Feature.get` and instead provides a helpers for almost all possible usages. Move jira settings validation to JiraImport - it is general validation not only project-related Use mergeUrlParams when requesting batch diff files Add changelog for bugfix Move mock setup and teardown to before/after each Bump mermaid from 8.4.8 to 8.5.1 Simplify and optimize the assets compilation jobs 1. Cache `node_modules` for these jobs. 1. De-duplicate the `pull-cache` and `pull-push-cache` jobs. 1. Update caches in specific 2-hourly scheduled master jobs. 1. Update caches when MR title includes `UPDATE CACHE` (for testing purpose mostly). Signed-off-by: Rémy Coutable List custom integration projects I've created a new concern to add specific methods related to integrations. Add pipeline size by pipeline size histogram metric This commit adds a new metric that we can use to measure a pipeline total size (the amount of builds in a pipeline) grouped by a pipeline type (like `push` or `schedule` etc). Add pipeline size histogram system test case Add missing pipeline size metric label Fix auto-merge not running after discussions resolved Previously if there were a discussion that needed to be resolved (as determined by the project settings), the Merge When Pipeline Succeeds would not run. Resolving the discussion would not trigger a merge. This commit changes the `Discussions::ResolveService` to run the auto-merge service if it is enabled. Closes https://gitlab.com/gitlab-org/gitlab/-/issues/210068 Minor project_id improvements to IssuableFinder::Params Add full-path loader This is used in the resolves projects concern, which is raised from mutations to the more general resolver package. Automatically resolve alert when associated issue closes Change document title format for dashboard view - prepend dashboard name to document title - set the display_name of the dashboard as the first part of the title of the HTML page Clarify verbiage for stuck jobs message Use require_relative in tooling test Revert addition of conan_sources and conan_export The addition of conan_sources and conan_export allows users to upload Conan packages with those files but cause errors on package uploads that do not include those files. The change is reverted until the bug can be fixed. Update 25k and 50k HAProxy External specs Higher specs were discovered to be needed recently with larger files. Relax the 10 commits maximum rule by making it a warning Signed-off-by: Rémy Coutable Fix Markdown typo in Proofreader docs https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/23243 Signed-off-by: Takuya Noguchi Add filtered search bar with history & sort support Adds a shared wrapper component for GlFilteredSearch which supports Recent searches history and sort dropdown. Add resolvers for the user <-> merge-request edges These resolvers re-use the functionality of the merge_requests_resolver to find merge requests either authored by or assigned to a user. The author is the implicit argument of the edge, and they support all the filtering arguments of the merge_requests_resolver, as well as being able to restrict the project, either by ID or full-path. Expose queries over a users merge requests We expose the graph: User -[authored]-----> MergeRequest -[assigned to] -> MergeRequest Via two new edges on `User`: `authoredMergeRequests` and `assignedMergeRequests`. As an incidental improvement, `User.state` is made into an `enum` - this change is backwards compatible since the output is the same: a string. Update license.md with the license file value referenced to initial_license_file Fix various spelling errors in FE graphql docs Clarify when rules:allow_failure is applied Add authentication to registry configure rake task Adds a smoke test for closing an issue Fix invisible modal on status emoji selection This change fixes a bug where the status emoji is not visible after the second click on the emoji selector icon. Revert "Apply suggestion to doc/user/markdown.md" This reverts commit 20182a28bbeeb72f3f9a71374860987b8d714506 Fix snippet import from export files without snippet dir Run rspec if there is matching foss tests Add links to ci template files The CI templates were not findable when searching the docs site, so adds a list to help SEO results Add more details about user permissions Docs: Fix typo in rules key details Add jitter when scheduling low urgency project auth update workers New options added to ApplicationWorker#bulk_perform_in: - batch_size - batch_delay Add line_range support to frontend Add dropdown start line selector to diff_line_note_form.vue Pass line_range to saveDiffDiscussion action Update code_quality.html page to reflect current versioning Accidentally removed a sentence that was needed Add examples on how to run focused rspec Warn against running all tests Extract Jira requests to separate classes - create base jira request class - inherit projects from it - dont user Jira service for getting projects Fix creating merge requests with approval rules It failed because any_approver approval rules have projects but they shouldn't. This commit fixes the MR creation with such rules. The data can be fixed later Move release evidence generation to service * Add service for creating release evidence * Remove spec duplicating release name fallback to tag * Remove test testing default=nil behaviour * It maybe made sense if evidence was generated on the fly * Now it's just testing that default value in ActiveRecord is nil * Remove evidence generation from the model and move specs * Use service in the worker instead of calling model Fix false negative tests Also returning issues to schema since they are generated and saved but filtered later And fix issue schema Add spec for filtering issues from release evidence Don't generate evidence summary in the factorybot Asked on review Also fixed evidences_controller_spec: some of examples were contradicting the permissions logic and only worked because of using let_it_be and caching permissions from previous_examples Remove unnecessary let in specs Add new spelling exceptions to the list These words should not be treated as spelling errors by Vale's spelling checker. Prevent issues analytics css from being applied globally Introduce service measurement docs - Apply reviewer suggestions - Remove Omnbus specific instructions - Add link to feature flags Removes the router from old security dashboards - Removes router - Removes sync with router - Updates tests Create methods to update issues and MRs in api.js Populate junit data once a build is finished Fix stylelint warnings on app/assets/stylesheets/components/avatar.scss Adds the base graph Adds new files, adapts previous Redirect to the referrer when updating a service - if a referrer is not empty Add `link_type` to `ReleaseLink` GraphQL type Part of https://gitlab.com/gitlab-org/gitlab/-/issues/207257 See merge request https://gitlab.com/gitlab-org/gitlab/-/merge_requests/33386 Update deprecated slot syntax in `app/assets/javascripts/reports/components/grouped_test_reports_app.vue` Refactor package spec to remove mistery guest Added opacity transition to pins https://gitlab.com/gitlab-org/gitlab/-/merge_requests/33493 Remove ee? check from secpick script Why: * We no longer distinguish between ee and foss at the repo level This change addresses the need by: * Remove ee? method and usage Expose `release_links.link_type` via API Part of https://gitlab.com/gitlab-org/gitlab/-/issues/207257 See merge request https://gitlab.com/gitlab-org/gitlab/-/merge_requests/33154 Remove unused group links route - not used except by a test... Remove feature flag reference * there's be only one support ticket that made any reference to it * the use of the feature flag is confusing because there's no UI indicator when it overrides a Project's explicit disabling of autodevops Remove jira_issue_import_vue feature flag Removed feature flag as it has been defaulted to true with no issues in production Always persist processed of CommitStatus Since the same instance can go through multiple status transitions the subsequent changes to `processed` can be lost since the object is not refresh to exact DB state. Always consider processed as a changed value and persist its current value. Add base url path for metrics dashboards Base URL is needed for the metrics dashboard for the Vue router to function. This MR adds it on the BE and passes to FE Add support for project and group label queries This adds GraphQL query support for project and group labels, by title and by search string. Ensure we never use a blank group This also improves the performance of the labels_finder_spec, by running set-up only once, we go from 1m40s to 30sec run time. Add issue reference to pending example Change field descriptions for singular 'label' fields This corrects the descriptions for singular 'label' fields Follow styleguide for field documentation Ensure to remove reposity folder when import fails To reduce the number of `9:CreateRepositoryFromBundle: target directory is non-empty` errors when retrying a import job, the repository folder will be removed when the import fails. Related to: - https://sentry.gitlab.net/gitlab/gitlabcom/issues/1560601/ - https://gitlab.com/gitlab-org/gitlab/-/issues/216075 - https://gitlab.com/gitlab-org/gitlab/-/issues/24806 Respect `ref` when searching for commits Fixes a bug where the branch is always assumed to be master, even when the user specifies a branch they want to search Add IrkerWorker spec file Signed-off-by: Dmitriy Zaporozhets Make Ci::Minutes::Notification user agnostic By removing current_user in Notification we can reuse it as a ValueObject in other contexts and make it also a SSOT for notification levels. Track merge_requests_users usage data To get the NSM for source code group, we need to track the number of unique merge requests users. This will be used to determine how much of MAUs in percentage are using merge requests. I removed an extra space and I improved wording Move UsageStatistics include from EE into FOSS Update the SAST example The proper format for the custom sast job is mysec_sast. Move content to a separate section in Epics docs Add namespaces to i18n in milestones sidebar Signed-off-by: Gilang Gumilar Fix use of unknown track_error method The correct use is Gitlab::ErrorTracking.track_exception Add workers to handle annotations prune cron task In order to prevent database from overloading with stale annotatinos data we need to periodically clean it. Add model validation to Design to limit filename https://gitlab.com/gitlab-org/gitlab/-/issues/209025 Add more spelling exceptions to the list These words should not be flagged by the spell checker. Add feature flag project toggle to junit documentation Add group .com permissions Replace whitelist with allowlist Separate EE issue board e2e spec components Separates EE specific methods for issue board components in e2e specs Cleaning up the wiki e2e test setup Cleaning the page objects as well as the resource creation. The spec file was purged of any duplicate code. Update constraint on resource_state_events table Project share to avoid after_commit hook ProjectGroupLink#refresh_group_members_authorized_projects after_commit hook is refectored, so project authorization refresh is triggered from services. Apply suggestion to spec/frontend/design_management/components/design_notes/design_reply_form_spec.js Extract integration form custom fields to Vue - Use a DynamicField component that uses the correct GitLab UI component depending on the field type. - Add backend structure to pass form schema and data to Vue Add dynamic field spec Add feature flag to fields Refactor component code Hide old form when feature flag is enabled Add checkbox titles to fix spec Move backend logic from model to a serializer As suggested in maintainer review of a previous MR, the logic to display a JSON format used by the frontend should not be put in the model. Instead, using a serializer is better separation of concerns. Use public_send instead of send Add more specs to cover values of help and choices Scope feature flag to project And refactor some specs Extract some logic to helpers and refactor specs As suggested in code review Add comment on public_send and refactor specs - Use a shared method for the feature toggle - Since field[:name] is definied in each service's fields method, we can assume it's safe to use public_send. Improve header acccessibility Added text for screenreaders which was missing before Update dependency @gitlab/svgs to v1.135.0 Persist filters while navigating - Sync the url with filters - Add tests Add blob viewer for metrics dashboard yaml files To enable validation of metrics dashboard definitions in yaml files we need to enable to display blobs containing that file to be displayed in auxiliary mode. Add policy toggle to the Network Policy Management This commit adds an enforcement status toggle to the network policy management tab's drawer. This toggle is used to enable/disable deployed policies. Cleanup batch_comments feature Remove it from the list of starter features since it's now part of Core. De-dupe refresh service EE spec Add tooling/ to the unit test level Signed-off-by: Rémy Coutable Add UTC setting for the date time picker Users sometimes want to see the data in UTC format, this adds a "utc" prop so the date time picker can support UTC mode rendering. Some handling of dates had to change to make this change possible. Fix visual bug on vulnerability list - Introduce word break for description column Use gl-sprintf on Kubernetes apps page Update api.js group to make callback optional Use a gray box approach to test svg icon in time series Instead of testing internal methods of the component for icon rendering, this MR tests the output of options into echarts. Track topology UsageData from Prometheus This is an MVC for tracking _some_ information around customer topology via a Usage Ping, where the data is collected from Prometheus. Only a single metric is sent at the moment. Remove details blocks since Mermaid graphs don't display well inside Signed-off-by: Rémy Coutable Update alert integration settings description Use updated screenshot Cleanup migrations introduced before 2019 This removes migrations with a schema version number < 2019... The effect of those migration is being folded into db/migrate/20171230123729_init_schema.rb Remove specs for old migrations Migrations have been removed in a previous commit. Also remove their specs here. Adjust rollback CI job Remove unnecessary rubocop ignores Rename init migration to maximum version in 2018 Limit rollback testing The reason for this lies in `initializers/fill_shards.rb`: 1. Before dropping 2018 migrations, table `shards` was not present in the initial schema (with all migrations rolled back except the initial one) 1. After dropping 2018 migrations, table `shards` is part of the initial schema 1. Hence we run into `Gitlab::Database.read_only?`, which is dependent on `geo_nodes` 1. `geo_nodes` has only been introduced with 20190402150158 Ultimately we should fix the initializer and not seed data through the initializer anymore (this is making assumptions about the database, which causes issues like here). Full rollback testing With https://gitlab.com/gitlab-org/gitlab/-/merge_requests/32524 merged, this should work now. Re-enable all disabled rubocops Add changelog entry Update UI to reflect locked artifact This update the UI so that when there is a locked artifact, we show a relevant message to the user. It also refactored the test to be more jest-like and added the new tests required to ensure this changes is covered. Stream the Diff Stats back from Gitaly This was causing an issue with the timing shown on the performance bar for this gitaly call. It was only measuring the time to make the call, and not the time taken to stream it back. Issue: gitlab.com/gitlab-org/gitlab/-/issues/209786 Merge Request: gitlab.com/gitlab-org/gitlab/-/merge_requests/33606 Tidy up the spec to remove the use of the double Use the class Gitaly::DiffStatsResponse instead Issue: gitlab.com/gitlab-org/gitlab/-/issues/209786 Merge Request: gitlab.com/gitlab-org/gitlab/-/merge_requests/33606 Remove default store export - store - page importing store Increase update export rate limits to match import We want to have consistent rate limits across project/group import and exports. Update all these endpoints to use matching rate keys and scopes. Also increase export rate limit to be consistent with the import rate limit as currently the export limit is to restrictive. MR: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/33026 Original issue: https://gitlab.com/gitlab-org/gitlab/-/issues/212707 Remove nextpage function logic from list model Warn when the only changes outside 'ee/' are in 'spec/' Signed-off-by: Rémy Coutable Disable auto-fix settings toggle for unauthorized users Added a boolean check to disable auto-fix settings toggle for users that have sufficition permissions to see the settings status but aren't allowed to toggle them. Prevent duplicate issues when importing from CSV We send the notification email in a separate job so that we do not insert the issues again when the job is retried because email sending failed Updates the environments dashboard empty state - Uses GlEmptyState - Aligns the styling with the security and operations dashboard empty states - Updates the relevant tests and snapshots Adds changes from @wortschi review - removes a redundant empty state class Docs - upgrade recommendation for runners to match version Update dependency @gitlab/ui to v16.2.0 Fix multiple issue creation for Generic Alerts Docs: Add .com to SM migration section Update GitLab Runner Helm Chart to 0.17.1 Follow-up from "Add "Type" field to asset links on "Edit Release" page Add docs for "Remember me" login changes This documents the automatic refreshing of the `remember_me_token` introduced by https://gitlab.com/gitlab-org/gitlab/-/merge_requests/32730. Adds front matter for Gitaly to some docs Fix flaky spec in repo_editor_spec.js Refactor Gitaly introductory text Rename CONSTRAINT on resource_state_events Changes whitelist to allowlist Add catchall to Service Desk configuration docs Split constants file in folder - new folder - split file - new imports Docs: Guide update to avoid newlines in products Implement resolving design comments - resolve discussion on click - resolve discussion on comment with checkbox - toggle resolved discussions - toggle comments for resolved discussions - change resolved discussions styles Use internal issue url unless external tracker RSpec zero monkey patching mode The plan for RSpec 4.0 is to disable monkey patching: https://rspec.info/blog/2013/07/the-plan-for-rspec-3/#zero-monkey-patching-mode This commit stops using RSpec monkey patching: https://relishapp.com/rspec/rspec-core/docs/configuration/zero-monkey-patching-mode Add security nav tabs in a dedicated method This slightly refactors the EE::ProjectsHelper#get_project_nav_tabs method by moving the security nav tabs to a dedicated method to reduce cyclometic and perceived complexity of the main method. Add tooltip to unknown-status on severity badge This commit adds a tooltip, which explains the "unknown" status, to the severity-badge Vue component. Remove profanity rule Remove the profanity rule in favor of relying on good faith. Revamp the incidents page Restructure and clean the incident management page for GitLab tone and style. Docs on adding/removing args from Sidekiq workers/mailers Adding or removing arguments from existing Sidekiq workers or mailers can lead to `wrong number of arguments` errors in production during deployments prior to all nodes having the updated code. These docs provide guidance on how to add or remove arguments safely. Clean up project milestone resources and specs Moves project milestone resource files to foss, removes unused selector, and updates specs Use GlBadge in Dependency List Part of [Migrate GlDeprecatedBadge usage to GlBadge][1]. [1]: https://gitlab.com/groups/gitlab-org/-/epics/3280. Remove wording about AWS/Azure being untested This commit removes footnotes about AWS and Azure being untested across each of the reference architecture pages. Does not try to unlink file when it not possible When cleaning up registries, there are some cases where it's impossible to unlink the file: 1. The replicable record does not exist anymore; 2. The replicable file is stored on Object Storage, but the node is not configured to use Object Store; 3. Unrecognized replicable type; RSpec zero monkey patching mode The plan for RSpec 4.0 is to disable monkey patching: https://rspec.info/blog/2013/07/the-plan-for-rspec-3/#zero-monkey-patching-mode This commit stops using RSpec monkey patching: https://relishapp.com/rspec/rspec-core/docs/configuration/zero-monkey-patching-mode Specify asset types in Releases API documentation Part of https://gitlab.com/gitlab-org/gitlab/-/issues/207257 See merge request https://gitlab.com/gitlab-org/gitlab/-/merge_requests/33158 Bumping up the maxSize to 600k A series of experiements showed this as the optimal spot for the most benefit for the bundle Fix sidebar spacing for alert details Prevent fetching repository code with unauthorized ci token Users have ability to fetch other projects' code via gitlab-ci-token. This permission is controlled by "build_download_code". However, this permission is not prevented when "repository_disabled" for the users. This commit fixes this. Update CHANGELOG-EE.md for 13.0.4-ee [ci skip] Update CHANGELOG.md for 13.0.4 [ci skip] fix: vertically center action (retry) icon docs: add changelog entry Update app/assets/javascripts/pages/projects/labels/components/promote_label_modal.vue Make convertToSnakeCase handle edge cases This commit updates the convertToSnakeCase utility function to handle edge cases, in particular cases where the input only contains numbers. Add aqualls as codeowner for some directories Test out adding myself as a codeowner for the larger directories owned by the Monitor and Configure stages. Suggest to use RSpec.describe instead of describe Use vue-test-utils for Kubernetes apps tests Use gl-link on Kubernetes apps page Consolidate admin u2f authenticate with normal u2f authenticate Use more generic ids in U2F authenticate RSpec zero monkey patching mode The plan for RSpec 4.0 is to disable monkey patching: https://rspec.info/blog/2013/07/the-plan-for-rspec-3/#zero-monkey-patching-mode This commit stops using RSpec monkey patching: https://relishapp.com/rspec/rspec-core/docs/configuration/zero-monkey-patching-mode Fix the default sha for bin/secpick Why: * The shell command to read the current sha has an ending newline that should be stripped. This change addresses the need by: * strip whitespace from sha when reading the current sha * refactor original_branch to strip whitespace at the point it could be introduced Fix broken link Missing character in a hyperlink caused a bad link. Make all ProjectSelector props required This addresses https://gitlab.com/gitlab-org/gitlab/-/issues/217987, which is part of the larger [effort][1] to reduce duplication and increase consistency in dashboards that use the ProjectSelector. [1]: https://gitlab.com/groups/gitlab-org/-/epics/3330 Add GraphQL update mutation for container expiration policies Add the corresponding service Add stage/group ownership to Geo docs Add metadata indicating ownership to the Geo documentation in the administration directory. Use different API call example to not mention whitelist RSpec zero monkey patching mode The plan for RSpec 4.0 is to disable monkey patching: https://rspec.info/blog/2013/07/the-plan-for-rspec-3/#zero-monkey-patching-mode This commit stops using RSpec monkey patching: https://relishapp.com/rspec/rspec-core/docs/configuration/zero-monkey-patching-mode Fix ambiguous string concat on CleanupProjectsWithMissingNamespace Updated Pages docs Tested example and re-wrote accordingly. Related to: https://gitlab.com/gitlab-org/gitlab/-/issues/216063 Docs: Added note about additional Pages config Related to: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/25169 Add missing ExclusiveLeaseGuard spec This tests the #try_obtain_lease method of the ExclusiveLeaseGuard class Add snippet DB visibility check in spec RSpec zero monkey patching mode The plan for RSpec 4.0 is to disable monkey patching: https://rspec.info/blog/2013/07/the-plan-for-rspec-3/#zero-monkey-patching-mode This commit stops using RSpec monkey patching: https://relishapp.com/rspec/rspec-core/docs/configuration/zero-monkey-patching-mode Upgrade @gitlab/svgs to v1.137.0 Skip configure rake task if container registry is misconfigured Generate metrics on commit Should resolve https://gitlab.com/gitlab-org/gitlab/-/issues/215166 Add changelog entry Don't run metrics creation on delete Fix for transactional seed issue Seeds run in a transaction so their dependence on merge_request.metrics was failing due to that now being generated in an `after_commit` hook. Decouple wiki controller from projects This is in preparation for group wikis. - Extract wiki controller actions into a concern - Use `container` instead of `@project`. - Replace `@wiki` / `load_project_wiki` and `@page` / `load_page` with `wiki` and `page` getters. - Add `load_sidebar`, and don't call it in the `pages` action. - Add `wiki_page_path` routing helper. - Use `wiki_page` factory in specs and remove manual page setup. fix has to have and captol NOT to lowercase not typos Add issueLinks field to Vulnerability type issueLinks field returns all the related issue links along with issues for vulnerabilities. Add changelog entry Add link_type filter argument to issue_links resolver This will allow client applications to filter the issue_links of vulnerabilities by link_type. Use ext. tracker to cross reference ext. issues This change doesn't change the logic. it is just to point out clearly that for external issues only external_issue_tracker can be used Add project audit event API Add changelog and lint code Update documentation section 'retrieve a specific project audit event' and update authentication rights policy Add specs for new project apis Fix specs Add optional expires_at param to Users API endpoint Add SSH key RSpec zero monkey patching mode The plan for RSpec 4.0 is to disable monkey patching: https://rspec.info/blog/2013/07/the-plan-for-rspec-3/#zero-monkey-patching-mode This commit stops using RSpec monkey patching: https://relishapp.com/rspec/rspec-core/docs/configuration/zero-monkey-patching-mode Update user model specs for delegated methods RSpec zero monkey patching mode The plan for RSpec 4.0 is to disable monkey patching: https://rspec.info/blog/2013/07/the-plan-for-rspec-3/#zero-monkey-patching-mode This commit stops using RSpec monkey patching: https://relishapp.com/rspec/rspec-core/docs/configuration/zero-monkey-patching-mode Grammar fix (missing word) RSpec zero monkey patching mode The plan for RSpec 4.0 is to disable monkey patching: https://rspec.info/blog/2013/07/the-plan-for-rspec-3/#zero-monkey-patching-mode This commit stops using RSpec monkey patching: https://relishapp.com/rspec/rspec-core/docs/configuration/zero-monkey-patching-mode Change approved to merged in Contribution Analytics Previously Contribution Analytics listed "approved" merge requests, which meant merged. That use of non-standard terminology was confusing to users, so this changes it to "merged" for clarity. Add Monitor stage as owner of these docs These docs are likely owned by the Monitor team. Add more allowed exceptions to the spelling file More words that should not trip up the spell checker. Restructure contributing information Remove leftover from DuplicateSpecLocation Add built in variable called __range - This variable can be used in a Prometheus query, when you want a value equalling the range of the dashboard/chart. - If the range of the dashboard is 8 hours, '28800s' will be substituted in place of __range. Add documentation for __range variable Geo Package Files - Initialize This splits off from: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/32872 This is an attempt at MVC to avoid a massive MR. This commit implements the files required to hook up the Route, View, and Controller. There will be future commits/MRs to implement the rest of the above listed MR. The navigational elements to get here are hidden behind the FF :geo_self_service_framework RSpec zero monkey patching mode The plan for RSpec 4.0 is to disable monkey patching: https://rspec.info/blog/2013/07/the-plan-for-rspec-3/#zero-monkey-patching-mode This commit stops using RSpec monkey patching: https://relishapp.com/rspec/rspec-core/docs/configuration/zero-monkey-patching-mode Pass hard delete option to snippets bulk destroy Harden flipper feature.get access For ab_feature_enabled makes sure we don't get a runtime error if flipper implementation for `get` changes Rewrite repo size reduction docs Purging data from a Git repo can be useful for different reasons, including making cloning faster, or reducing repo size on the GitLab server. The first is easy, the second is hard. Documentation has been rewritten to use `git filter-repo` which is the leading repo rewriting tool for this application, and is recommended by the Git project. Documentation now also provides workflow for pruning all kinds of refs, including refs/keep-around/* which was not documented. This meant purging files was incomplete from disk use perspective on the GitLab server. References to BFG have been removed. Allow uploading commit-map file Git filter-repo produces a commit-map file that does not have a file extension. This prevents it from being uploaded without renaming the file. Removes file type validation to permit upload. Update application link to filter-repo The documentation now recommends git filter-repo. In-application help links should be consistent. Fix broken contribution_analytics_spec test Adjust text expectations due to UI changes See https://gitlab.com/gitlab-org/gitlab/-/issues/220255 And https://gitlab.com/gitlab-org/gitlab/-/merge_requests/33535 Composer package creation support - Creates package object for composer with proper version from branch/tag - Creates unique package name on instance level - Specs for version handling - Adds composer metadata migration Clarify a condition for on_stop Refactor mr_widget_terraform_plan to use GitLab UI Uses GlLink and removed a tag Only uses GlIcon Metrics dashboard fetches UTC configuration from HTML to display it When the dashboard is configured to use UTC, the dashboard time picker and the panels will use the dashboard timezone. Track error status update as separate actions Add date format for columns Refactor the X axis to keep the options in a same place and add a dates formatter for the column chart Prevent redirecting to snippet view on error When getting seemingly successful response from the create/update snippet mutation, we still should not redirect to the snippet view in case 'errors' array is not empty Refactor ExtractsPath module into two So that common path extraction functionality can be used without being coupled to Projects Fetch epics swimlanes action - VueX action call on switch Epics Swimlanes - GraphQL query Fetch epics swimlanes action - Feedback Decouple ide_router from components - Instead we can simply use `this.$router` Create IDE router module - This is to help decouple the store from the router instance - Instead of making direct calls, we'll update state and the router will react to the state change Add sync router and store utility in IDE **Why?** - This will be used to help break the cyclical dependency of the IDE router and store. Update Workhorse to v8.35.0 RSpec zero monkey patching mode The plan for RSpec 4.0 is to disable monkey patching: https://rspec.info/blog/2013/07/the-plan-for-rspec-3/#zero-monkey-patching-mode This commit stops using RSpec monkey patching: https://relishapp.com/rspec/rspec-core/docs/configuration/zero-monkey-patching-mode RSpec zero monkey patching mode The plan for RSpec 4.0 is to disable monkey patching: https://rspec.info/blog/2013/07/the-plan-for-rspec-3/#zero-monkey-patching-mode This commit stops using RSpec monkey patching: https://relishapp.com/rspec/rspec-core/docs/configuration/zero-monkey-patching-mode RSpec zero monkey patching mode The plan for RSpec 4.0 is to disable monkey patching: https://rspec.info/blog/2013/07/the-plan-for-rspec-3/#zero-monkey-patching-mode This commit stops using RSpec monkey patching: https://relishapp.com/rspec/rspec-core/docs/configuration/zero-monkey-patching-mode Add authentication information to usage ping This adds authentication info In the manage stage section of usage ping. Additions include LDAP stats, which omniauth providers are enabled, and whether group SAML is in use. Note feature level in spec [skip-ci] Rename internal file used to deny pushes for certain files Rename internal method to denylist Improve feature_flags_controller_spec performance Use let_it_be in initial setup Separate Redis instrumentation per client This is the groundwork required for a series of improvements on Redis usage visualization. It separates the instrumentation storages for each Redis client being used. These being, Cache, Shared State, Queues and Action Cable. That means that these changes will make the following achievable: - Separate Redis logs per Redis instance - Categorize the Redis instance in Prometheus metrics - Separate Redis performance bar data per Redis instance Support changing type of feature flag strategy from gitlabUserList Automatically dissociate the user list Update old and informative links Rubinius' homepage is rather bare-bone as of https://github.com/rubinius/rubinius.com/blame/b1b605a7f9834bc85e638064530bb057a7e74520/source/index.html Modify styles to support short titles Added rules to better support responsiveness Ensured short titles are well supported Update architecture diagram and network section Show more context in unresolved jump button Instead of scrolling to the discussion, when the user click on the "Jump to next unresolved" button, it will a fixed amount of extra top line thread. Update Geo caching bug workaround Return artifacts, not builds 1. It was weird that a key named `artifacts` returned builds 2. We need BuildArtifactEntity to represent each artifact of a job in order for a job to have more than one downloadable artifact 3. We need BuildArtifactEntity to have access to an artifact's file type in order to properly create the download path Re-introduce Rails 6.0.3.1 Previously approved in https://gitlab.com/gitlab-org/gitlab/-/merge_requests/32486 Patch to use generate old CSRF tokens This enables us to have a mix of old and new Rails while production deploy is happening Update Issue Weights Upgrade CTAs This is a second iteration on the issue weight upgrade CTA It tests also dismissable alerts Reintroduce the missing router Revert "Test to get the custom integration projects" This reverts commit 16b471de628ad23ae846a8770fb207cd1fdeedb3. Move list page components under own folder - move source - move tests - adjust paths Style ToastUI contextual menu's Styled the menus to match design mockups Fix typos in comments of relative_positioning.rb Signed-off-by: Takuya Noguchi Add Jekyll logo to project templates Add Hexo logo to project templates Add GoMicro logo to project templates Fix design comment checkbox regression Remove feature flag for usage ping batch counter - Was default on (true) on all environments - Was well tested past 3 months not to cause any problems RSpec zero monkey patching mode The plan for RSpec 4.0 is to disable monkey patching: https://rspec.info/blog/2013/07/the-plan-for-rspec-3/#zero-monkey-patching-mode This commit stops using RSpec monkey patching: https://relishapp.com/rspec/rspec-core/docs/configuration/zero-monkey-patching-mode Add members to project graphQL endpoint - add ProjectMembersResolver calling the respective finder - add members to project type Pass int when getting I18n VSA stage summary title Fix force_remove_source_branch not working in API When an MR is merged via the API without `should_remove_source_branch` set, the branch is always retained, even if `force_remove_source_branch` is set to true in the MR merge params. This was happening because the API always passed a `should_remove_source_branch` with a `nil` value, and `MergeService` interpreted this as `false`. To fix this, we strip `nil` values from the `merge_params`. Relates to https://gitlab.com/gitlab-org/gitlab/-/issues/219991 Code nav: Accept tokens instead of raw HTML on FE It's a safer and more natural approach Add policy for auto_fix Only Maintainer can modify it. Expose it with Configuration json Add alternative SQL EXPLAIN tool to doc Take user minimum and maximum one time * Use strong_memoize * Move User.minimum and User.maximum on private methods * Adjust counters :start, :end to use new methods Use parentheses for strong_memoize Rename methods using _id meaningful changelog trashed rename to removed Group authorization refresh to consider shared groups When a shared group creates a new project, that should be visible to members of the shared with group too. We need to include those members in Group#user_ids_for_project_authorizations. Add charts showing CPU and memory usage Add charts showing the CPU and memory usage of each instance to the self monitoring default dashboard. Update self monitoring docs with the new charts fix(api): include standard Link header in keyset pagination Closes https://gitlab.com/gitlab-org/gitlab/-/issues/218504 Fix N+1 queries for Elastic Search milestones scope Change the linkType argument for issueLinks query to enum Add crosslink to variables examples Create confidential issues on confidential epics Sets issue to confidential when created as child of confidential epic. Increase alert's events for Prometheus alert Increase an alert's events count when existing Prometheus alert has been fired Removing non migrated snippets from failed import RSpec zero monkey patching mode The plan for RSpec 4.0 is to disable monkey patching: https://rspec.info/blog/2013/07/the-plan-for-rspec-3/#zero-monkey-patching-mode This commit stops using RSpec monkey patching: https://relishapp.com/rspec/rspec-core/docs/configuration/zero-monkey-patching-mode Fix relative URL root in wiki_base_path This was a bug introduced in fe5533a7b10. Previously we were building the path manually and had to also include `Gitlab.config.gitlab.relative_url_root`, but since we're using route helpers now it's already included via `default_url_options`, which resulted in a duplicated root in the URL. Replace --all with --workspace on cargo test. According to the official cargo documentation at https://doc.rust-lang.org/cargo/commands/cargo-build.html `--all` is deprecated. """ --all Deprecated alias for --workspace. """ Transform issues analytics labels filters The filters used for the filters do not conform to the same pattern as used for the API. In this MR we transform the labels filters to match that of the API. Add a class method to delete registries Delete unused registries This is one step forward to use the tracking database as the single source of truth. Fix edge cases while iterating over model and registry table There are some edge cases to take into acocunt: 1. When there are unused registries, but there no replicable records next_range! returns nil; 2. When the unused registry foreign key ids are greater than the last replicable record id; 3. When the unused registry foreign key ids are lower than the first replicable record id; Rename Gitlab::LoopingBatcher to Gitlab::Geo::RegistryBatcher It became specific to Geo to iterate over a replicable and its registry tables, and it probably won't be useful for anyone else. Add CHANGELOG entry Fix edge cases while iterating over model and registry table There are some edge cases to take into acocunt: 1. When there are unused registries, but there no replicable records next_range! returns nil; 2. When the unused registry foreign key ids are greater than the last replicable record id; 3. When the unused registry foreign key ids are lower than the first replicable record id; Document configuring Conan projects Geo: Track PackageFile sync counts in Geo node statuses Hooks up package file sync counters to Geo Node Status Added group and project share permissions Tone and style updates Update two of the exporter pages for tone and style. Remove mentions of outdated versions of GitLab. Shift the comments on a code block to separate lines, rather than the end of each line, for legibility. Add a seedable UUIDv4 generator Most UUID generators assume that you want fully random UUIDs. In most cases, this is true. The `uuid` package allows a consumer to pass in `random` values (an array of 16 numbers 0-255), or a generator that outputs 16 random bytes. This is our hook into being able to provide "random" values. We just need a way to get "random" values that are actually random in most cases, but that we can control if we want to. Enter: the Mersenne Twister. Mersenne Twisters can be seeded with a number to start. They will derive all of their future twisted states from that initial seed. So: we still get "randomness," but we can also seed it to make the output deterministic. This `random.js` file outputs a single function (for now) called `uuids` that will generate a random UUIDv4 string or - if provided seeds - will generate the correct resulting UUIDv4 given those seeds. Consumers can request multiple values to avoid having to constantly call the function and/or constantly reconstruct the internal Twister. Node exporter: tone and style updates Tone, style, and word choice updates. Remove outdated info. Style updates for pgbouncer page Light updates for tone and style. Support first_name and last_name attributes in LDAP user sync Translate legend in ProjectSelector component The "legend" text in the ProjectSelector component was previously only defined in the GlInfiniteScroll component from GitLab UI. There are two problems with that: strings defined in GitLab UI aren't translatable, and also the string is generic and referred to "items" rather than "projects". This also updates the existing `items` slot to use the Vue 2.6+ sytax. Addresses https://gitlab.com/gitlab-org/gitlab/-/issues/217985. Add RSS and UNIX as acronym exceptions RSS is well known, and UNIX is ubiquitous. They don't need parenthetical explanations. Add project_id, user_id, status, ref index to ci_pipelines After adding username filter to pipelines, we realized this missing index. We exclude source=12 because we don't display child pipelines in index Add links section in metrics dashboard User-defined links can be specific in dashboard yml file. This MR renders links in the metrics dashboard Add GitBook logo to project templates Add Hugo logo to project templates Stop recording connection pool metrics for load balancing hosts The cardinality of these is simply too high: for a single (Rails) host on GitLab.com, we have 384 elements due to a combination of: 1. Puma threads. 2. Load balancing hosts. 3. Load balancing ports. Realistically, the saturation for a load balancing connection pool should never be higher than for ActiveRecord::Base anyway. Add support for event creation on designs Add methods for adding design events to the EventCreateService, and uses these methods in the design management services. A new spec support class is added (MultiChangeValue) to help testing several change values at once, without having to perform the action multiple times. Deletion in particular is made efficient by ensuring that we perform just a single insert when creating events. Add design events to import_export config Fix broken links Update external links to point to the correct place. Add new start_time display value Add start_time to the alert presenter Fix broken external links (round 2) Correct many external links to their new homes. Support IAP protected prometheus installations Add support for IAP Add delete action for annotations in graphql Update graphql schema Update docs for Multiple LDAP config Replace ide_router export with factory function - Creates factory function for router that takes in a store reference. - Updates store to use router module instead of reference to router singleton - Use sync_router_and_store utility This allows ide_router not to be coupled to a singleton store instance, but accept this as a parameter. This helps greatly with some test set up and breaking the cyclical dependency. RSpec zero monkey patching mode The plan for RSpec 4.0 is to disable monkey patching: https://rspec.info/blog/2013/07/the-plan-for-rspec-3/#zero-monkey-patching-mode This commit stops using RSpec monkey patching: https://relishapp.com/rspec/rspec-core/docs/configuration/zero-monkey-patching-mode Enable notification email to work for namespaces - link needs to provide route via group path Upgrade Bootstrap to v4.4.1 Update packages list snapshots Update confirm modal specs Additional external link fixes Fix property conversion for Arrays with Strings This commit fixes an issue with our property conversion utility that caused it to fail when processing Arrays that contained only strings (i.e. ['a', 'b', 'c']). Change vulnerability details haml to Vue Change the vulnerability details from haml to a Vue component Add documentation for links key Add related links preview Fix linting errors Use compressed image Fix templating custom variable typo RSpec zero monkey patching mode The plan for RSpec 4.0 is to disable monkey patching: https://rspec.info/blog/2013/07/the-plan-for-rspec-3/#zero-monkey-patching-mode This commit stops using RSpec monkey patching: https://relishapp.com/rspec/rspec-core/docs/configuration/zero-monkey-patching-mode Display expiring subscription banner on more pages The subscription banner should be shown for all group pages/subpages as well as all project pages/subpages. Finishes https://gitlab.com/gitlab-org/growth/product/-/issues/1557 Default FDW to false on Geo::LfsObjectRegistryFinder Refactor spec for Geo::LfsObjectRegistryFinder Remove method to find LFS objects migrated to object storage The find_registry_differences method returns as unused registries entries for LFS objects that are in object storage when the object storage sync is disabled. The Geo::Secondary::RegistryConsistencyWorker will perform the cleanup of these unused registries. Add CHANGELOG entry Split bulk edit doc pages into sections Updated epic tree row styling https://gitlab.com/gitlab-org/gitlab/-/merge_requests/32873 Remove Geo::Fdw::GeoNode#lfs_object_registries method Remove Geo::Fdw::GeoNode#lfs_objects method Remove FDW LFS objects models FDW queries to replicate LFS objects has been removed. These models are not necessary anymore. Add secret detection for graphql Refactor code refactor code Refactor code Add docs for DAST_ZAP_LOG_EXTRA_PROPERTIES env var Update on_stop usage with rules or only/except fix has to have. Update fork namespace selector Remove 3 dead properties on files - permalink - commitsPath - blamePath Remove closeAllFiles action from Web IDE The only usage of this action was in the tests. Remove haml duplicates from Snippet/Show Also elements renamed to follow the convention Snapshots updated Track pod logs refresh action This MR adds a snowplow event for pod logs refresh action Add JSON schema validation for DailyBuildGroupReportResult Used parent fullPath instead of group fullPath for roadmap children Remove redundant divs on Kubernetes apps page Show secret detection on security tab of pipeline Add secret_detection in the filter Refactor code refactor code Edit the licence scanning report to match the new format Change gl-license-management-report.json to gl-license-scanning-report.json Ensure that it matches the schema Validate filename for json schema validator Remove explicit create for pgpsql extension This is now unneeded since we're on >=PG11 now. Enhance Rake tasks to dump custom structure.sql Add additional logic to buitlin Rails tasks that dump and load the structure.sql file, to also dump and load custom data needed track partitioned foreign keys. Move file manipulation into CustomStructure class Move logic for manipulating the gitlab_structure.sql file into the CustomStructure class rather than directly in the rake task, to prevent multiple versions of the file being written inadvertently. Handle failure of rake call to psql command In the rake task to load a custom database structure.sql, check for the result of the call to the psql command which loads the file, and display a message to the user on error. Enable storing mentioned users to respective DB tables Adds tests to Prometheus data processing Make markdown textarea links tab-accessible Some of the links in the markdown textarea were not tab-accessible before, which this commit fixes Add internationalization to markdown textarea Some sentences did not have internalization, which this commit fixes Add invite members link on issues - to entice more user expansion into collaboration Add guides for NOT NULL constraints - Add database style guide on NOT NULL constraints - Add section on NOT NULL constraints on the Migration Style Guide - Add the new guide to doc/development/database/inbdex.md Add support for updating labels with quick actions Fixes the case when the update service is passed label_ids together with add_label_ids and remove_label_ids from quick actions This allows support for updating the labels via the dropdown and the description quick actions in one request Document new defaults for Praefect failover Defaults for Praefect will change this release after: 1. https://gitlab.com/gitlab-org/gitaly/-/merge_requests/2218 1. https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/4271 This change updates the document to reflect this. Create template files in the folder from which new file request was made Add usage data of whether instance has Auto DevOps enabled Removed legacy date check from groups_with_templates_finder Remove explicit check for schema version This removes now unneeded explicit checks for the database schema version. Relates to https://gitlab.com/gitlab-org/gitlab/-/issues/28249 Refactor final package components to use gl-sprintf Refactors package details app Refactos packages_list and packages_list_app Updated tests Updated pot file Changed to use nullish coalescing Avoid parsing global-ids multiple times Add a specific policy for reading build group report results Also some refactoring based on previous MR review. Add link text to collapsed left sidebar links Remove ambiguous l10n namespace documentation Create Learn GitLab project And redirect to experience_level page Add cop to deprecate Database.bulk_insert See https://gitlab.com/gitlab-org/gitlab/-/issues/207989 Ignore existing Database.bulk_insert usages Database.bulk_insert has been deprecated. Update local IP address and domain name allow list input label - Also updates accompanying help text to refer to "whitelist" as "allowlist". Hide "Import from Jira" option from non-entitled users The "Import from Jira" option was visible to all users which was incorrect as only entitled users are able to import from Jira. Add rspec for _button.html.haml Added tests to test new logic in _button.html.haml Update _button.html.haml_spec.rb test Update test as a result of reviewer comment. Add new delete_alert component - new component - unit tests Support Workhorse directly uploading files to S3 This supports the AWS S3 client that will be used by Workhorse in https://gitlab.com/gitlab-org/gitlab-workhorse/-/merge_requests/466. This makes it possible to use S3 buckets with default KMS encryption and proper MD5 checksums. The Workhorse S3 client is only enabled for instance profiles and V4 signatures. Since instance profiles are an AWS-specific feature, we should be reasonably confident that object storage will work with the Workhorse AWS S3 client. Use ProxyVariableSubstitutionService in alerts Use the ProxyVariableSubstitutionService to substitute variables in alert queries. This puts alerts on par with metrics. It also ensures that any change in variable substitution logic is caught by alert specs. Refactor ci minutes email notification - to incorporate already existing logic in recently refactored ci minutes area. Add filtered search support in Requirements page Adds filtered search and sort support on Requirements page. Documentation: Programatically creating a personal access token Move package fixtures to core Moving dependencies to packages to core as a step to move all package feature to core Bump deploy CI templates to 0.16.1 - Show debug logs if AUTO_DEVOPS_DEPLOY_DEBUG - Clarify min POSTGRES_VERSION in warning message Fix feature flag name for service desk email Speed up boot time in production In production mode, eager loading is enabled, and Devise is configured by default to reload routes before eager loading. However, in `config/application.rb` we also attempted to reload routes, which added another 5-10 seconds of delay. In development mode, eager loading is disabled, so we don't see this extra overhead. To speed boot times, we only reload the routes if eager loading is disabled. Relates to https://gitlab.com/gitlab-org/gitlab/-/issues/213992 Add constant selectors Allows selectors to be constant across files Add templating and links keys to json schema Add templating and links keys to dashboard fixture Refactor Jira Importer Vue app code Code was a bit messy so this commit improves it without changing any logic Introduce BlamePresenter to reduce view complexity Precalculate links and other per-commit data beforehand, as huge blame which may consist of >9000 groups, may have only 1000 unique commits (as seen on locales/gitlab.pot). Fixed typo in backup_restore.md Add table to issues analytics docs Add troubleshooting notes for EKS clusters Harden operations dashboard default dashboard Optimize Usage data query with start and finish params Update ActiveToggle and JiraTriggerFields - When feature flag is enabled, change the components' layout from column (label on the left of input) to linear (following GitLab UI - label above input). - Refactor Jira radio options to DRY up code. - Use more GitLab UI elements Fix feature specs to work with feature flag - All specs should have JS enabled since it's what renders most of the form now. - Some name / id changes to to new markup - Add event hub events to allow passing state from JS to Vue to enable proper form validations on submit. Update translations with new label And refactor frontend code. Use isEmpty to avoid prop validation errors because value is a string and not a boolean. Adjust spacing between ActiveToggle and next section The toggle is a