Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/views/ci/status/_badge.html.haml2
-rw-r--r--app/views/projects/buttons/_fork.html.haml2
-rw-r--r--app/views/projects/ci/builds/_build.html.haml2
-rw-r--r--db/post_migrate/20230113003255_remove_atlassian_refresh_token_constraint.rb20
-rw-r--r--db/schema_migrations/202301130032551
-rw-r--r--db/structure.sql2
-rw-r--r--doc/administration/operations/fast_ssh_key_lookup.md3
-rw-r--r--doc/development/architecture.md5
-rw-r--r--doc/development/backend/create_source_code_be/index.md3
-rw-r--r--doc/development/database/index.md66
-rw-r--r--doc/development/database/required_stops.md41
-rw-r--r--doc/development/snowplow/index.md5
-rw-r--r--doc/topics/git/troubleshooting_git.md10
-rw-r--r--doc/update/background_migrations.md34
-rw-r--r--doc/update/zero_downtime.md6
-rw-r--r--doc/user/discussions/index.md16
-rw-r--r--doc/user/packages/package_registry/supported_functionality.md20
-rw-r--r--doc/user/packages/package_registry/supported_hash_types.md28
-rw-r--r--doc/user/project/repository/git_history.md4
-rw-r--r--qa/qa/page/project/show.rb9
-rw-r--r--spec/lib/gitlab/auth/atlassian/identity_linker_spec.rb2
21 files changed, 173 insertions, 108 deletions
diff --git a/app/views/ci/status/_badge.html.haml b/app/views/ci/status/_badge.html.haml
index 5114387984b..e3b409dea76 100644
--- a/app/views/ci/status/_badge.html.haml
+++ b/app/views/ci/status/_badge.html.haml
@@ -1,7 +1,7 @@
- status = local_assigns.fetch(:status)
- link = local_assigns.fetch(:link, true)
- title = local_assigns.fetch(:title, nil)
-- css_classes = "ci-status ci-#{status.group} #{'has-tooltip' if title.present?}"
+- css_classes = "gl-display-inline-flex gl-align-items-center gl-gap-2 gl-line-height-0 gl-px-3 gl-py-2 gl-rounded-base ci-status ci-#{status.group} #{'has-tooltip' if title.present?}"
- if link && status.has_details?
= link_to status.details_path, class: css_classes, title: title, data: { html: title.present? } do
diff --git a/app/views/projects/buttons/_fork.html.haml b/app/views/projects/buttons/_fork.html.haml
index 97186149a9d..6d05f1dc955 100644
--- a/app/views/projects/buttons/_fork.html.haml
+++ b/app/views/projects/buttons/_fork.html.haml
@@ -11,7 +11,7 @@
- button_class = 'disabled' if disabled_tooltip
%span.btn-group{ class: ('has-tooltip' if disabled_tooltip), title: disabled_tooltip }
- = link_to new_project_fork_path(@project), class: "gl-button btn btn-default fork-btn #{button_class}" do
+ = link_to new_project_fork_path(@project), class: "gl-button btn btn-default fork-btn #{button_class}", data: { qa_selector: 'fork_button' } do
= sprite_icon('fork', css_class: 'icon')
%span= s_('ProjectOverview|Fork')
= link_to project_forks_path(@project), title: n_(s_('ProjectOverview|Forks'), s_('ProjectOverview|Forks'), @project.forks_count), class: "gl-button btn btn-default count has-tooltip fork-count #{count_class}" do
diff --git a/app/views/projects/ci/builds/_build.html.haml b/app/views/projects/ci/builds/_build.html.haml
index b48369322e4..ecdd43a54f9 100644
--- a/app/views/projects/ci/builds/_build.html.haml
+++ b/app/views/projects/ci/builds/_build.html.haml
@@ -87,7 +87,7 @@
%td
- if job.duration
%p.duration
- = custom_icon("icon_timer")
+ = sprite_icon("timer")
= duration_in_numbers(job.duration)
- if job.finished_at
diff --git a/db/post_migrate/20230113003255_remove_atlassian_refresh_token_constraint.rb b/db/post_migrate/20230113003255_remove_atlassian_refresh_token_constraint.rb
new file mode 100644
index 00000000000..81c3f10c0f6
--- /dev/null
+++ b/db/post_migrate/20230113003255_remove_atlassian_refresh_token_constraint.rb
@@ -0,0 +1,20 @@
+# frozen_string_literal: true
+
+# See https://docs.gitlab.com/ee/development/migration_style_guide.html
+# for more information on how to write migrations for GitLab.
+
+class RemoveAtlassianRefreshTokenConstraint < Gitlab::Database::Migration[2.1]
+ CONSTRAINT_NAME = 'atlassian_identities_refresh_token_length_constraint'
+
+ disable_ddl_transaction!
+
+ def up
+ remove_check_constraint(:atlassian_identities, CONSTRAINT_NAME)
+ add_check_constraint :atlassian_identities, 'octet_length(encrypted_refresh_token) <= 5000', CONSTRAINT_NAME
+ end
+
+ def down
+ remove_check_constraint(:atlassian_identities, CONSTRAINT_NAME)
+ add_check_constraint :atlassian_identities, 'octet_length(encrypted_refresh_token) <= 512', CONSTRAINT_NAME
+ end
+end
diff --git a/db/schema_migrations/20230113003255 b/db/schema_migrations/20230113003255
new file mode 100644
index 00000000000..21c60171eb8
--- /dev/null
+++ b/db/schema_migrations/20230113003255
@@ -0,0 +1 @@
+b10da671ade6a312cdd41f9800c301642c81da8e04fcaa3ea322ef9923d18933 \ No newline at end of file
diff --git a/db/structure.sql b/db/structure.sql
index 1f3d01f86db..91d995cc073 100644
--- a/db/structure.sql
+++ b/db/structure.sql
@@ -11885,7 +11885,7 @@ CREATE TABLE atlassian_identities (
encrypted_refresh_token bytea,
encrypted_refresh_token_iv bytea,
CONSTRAINT atlassian_identities_refresh_token_iv_length_constraint CHECK ((octet_length(encrypted_refresh_token_iv) <= 12)),
- CONSTRAINT atlassian_identities_refresh_token_length_constraint CHECK ((octet_length(encrypted_refresh_token) <= 512)),
+ CONSTRAINT atlassian_identities_refresh_token_length_constraint CHECK ((octet_length(encrypted_refresh_token) <= 5000)),
CONSTRAINT atlassian_identities_token_iv_length_constraint CHECK ((octet_length(encrypted_token_iv) <= 12)),
CONSTRAINT atlassian_identities_token_length_constraint CHECK ((octet_length(encrypted_token) <= 2048)),
CONSTRAINT check_32f5779763 CHECK ((char_length(extern_uid) <= 255))
diff --git a/doc/administration/operations/fast_ssh_key_lookup.md b/doc/administration/operations/fast_ssh_key_lookup.md
index 7aeb05457c0..a34b21e676a 100644
--- a/doc/administration/operations/fast_ssh_key_lookup.md
+++ b/doc/administration/operations/fast_ssh_key_lookup.md
@@ -188,7 +188,8 @@ file for the environment, as it isn't generated dynamically.
### Additional documentation
-Additional technical documentation for `gitlab-sshd` may be found on the [GitLab Shell](https://gitlab.com/gitlab-org/gitlab-shell/-/blob/main/README.md) documentation page.
+Additional technical documentation for `gitlab-sshd` may be found in the
+[GitLab Shell documentation](../../development/gitlab_shell/index.md).
## Troubleshooting
diff --git a/doc/development/architecture.md b/doc/development/architecture.md
index c7aa3ed09c4..cba868d3fed 100644
--- a/doc/development/architecture.md
+++ b/doc/development/architecture.md
@@ -543,7 +543,8 @@ GitLab CI/CD is the open-source continuous integration service included with Git
#### GitLab Shell
-- [Project page](https://gitlab.com/gitlab-org/gitlab-shell/-/blob/main/README.md)
+- [Project page](https://gitlab.com/gitlab-org/gitlab-shell/)
+- [Documentation](gitlab_shell/index.md)
- Configuration:
- [Omnibus](https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-config-template/gitlab.rb.template)
- [Charts](https://docs.gitlab.com/charts/charts/gitlab/gitlab-shell/)
@@ -552,7 +553,7 @@ GitLab CI/CD is the open-source continuous integration service included with Git
- Layer: Core Service (Processor)
- GitLab.com: [Service Architecture](https://about.gitlab.com/handbook/engineering/infrastructure/production/architecture/#service-architecture)
-[GitLab Shell](https://gitlab.com/gitlab-org/gitlab-shell) is a program designed at GitLab to handle SSH-based `git` sessions, and modifies the list of authorized keys. GitLab Shell is not a Unix shell nor a replacement for Bash or Zsh.
+[GitLab Shell](gitlab_shell/index.md) is a program designed at GitLab to handle SSH-based `git` sessions, and modifies the list of authorized keys. GitLab Shell is not a Unix shell nor a replacement for Bash or Zsh.
#### GitLab Workhorse
diff --git a/doc/development/backend/create_source_code_be/index.md b/doc/development/backend/create_source_code_be/index.md
index 5e087382dbc..77c98982210 100644
--- a/doc/development/backend/create_source_code_be/index.md
+++ b/doc/development/backend/create_source_code_be/index.md
@@ -30,8 +30,7 @@ that would not work efficiently without Workhorse.
## GitLab Shell
GitLab Shell handles Git SSH sessions for GitLab and modifies the list of authorized keys.
-For more information, [refer to the README](https://gitlab.com/gitlab-org/gitlab-shell/-/blob/main/README.md).
-for GitLab Shell.
+For more information, refer to the [GitLab Shell documentation](../../gitlab_shell/index.md).
To learn about the reasoning behind our creation of `gitlab-sshd`, read the blog post
[Why we implemented our own SSHD solution](https://about.gitlab.com/blog/2022/08/17/why-we-have-implemented-our-own-sshd-solution-on-gitlab-sass/).
diff --git a/doc/development/database/index.md b/doc/development/database/index.md
index c244d784422..5abc7cd3ffa 100644
--- a/doc/development/database/index.md
+++ b/doc/development/database/index.md
@@ -23,59 +23,59 @@ info: To determine the technical writer assigned to the Stage/Group associated w
## Migrations
-- [Different types of migrations](../migration_style_guide.md#choose-an-appropriate-migration-type)
-- [Create a regular migration](../migration_style_guide.md#create-a-regular-schema-migration), including creating new models
-- [Post-deployment migrations guidelines](post_deployment_migrations.md) and [how to create one](post_deployment_migrations.md#creating-migrations)
-- [Legacy Background migrations guidelines](background_migrations.md)
+- [Adding required stops](required_stops.md)
+- [Avoiding downtime in migrations](avoiding_downtime_in_migrations.md)
- [Batched background migrations guidelines](batched_background_migrations.md)
+- [Create a regular migration](../migration_style_guide.md#create-a-regular-schema-migration), including creating new models
- [Deleting migrations](deleting_migrations.md)
-- [Running database migrations](database_debugging.md#migration-wrangling)
+- [Different types of migrations](../migration_style_guide.md#choose-an-appropriate-migration-type)
+- [Legacy background migrations guidelines](background_migrations.md)
- [Migrations for multiple databases](migrations_for_multiple_databases.md)
-- [Avoiding downtime in migrations](avoiding_downtime_in_migrations.md)
-- [When and how to write Rails migrations tests](../testing_guide/testing_migrations_guide.md)
- [Migrations style guide](../migration_style_guide.md) for creating safe SQL migrations
-- [Testing Rails migrations](../testing_guide/testing_migrations_guide.md) guide
-- [Post deployment migrations](post_deployment_migrations.md)
-- [Swapping tables](swapping_tables.md)
-- [Deleting migrations](deleting_migrations.md)
-- [SQL guidelines](../sql.md) for working with SQL queries
- [Partitioning tables](table_partitioning.md)
+- [Post-deployment migrations guidelines](post_deployment_migrations.md) and [how to create one](post_deployment_migrations.md#creating-migrations)
+- [Running database migrations](database_debugging.md#migration-wrangling)
+- [SQL guidelines](../sql.md) for working with SQL queries
+- [Swapping tables](swapping_tables.md)
+- [Testing Rails migrations](../testing_guide/testing_migrations_guide.md) guide
+- [When and how to write Rails migrations tests](../testing_guide/testing_migrations_guide.md)
## Debugging
-- [Resetting the database](database_debugging.md#delete-everything-and-start-over)
- [Accessing the database](database_debugging.md#manually-access-the-database)
+- [Resetting the database](database_debugging.md#delete-everything-and-start-over)
- [Troubleshooting and debugging the database](database_debugging.md)
-- Tracing the source of an SQL query using query comments with [Marginalia](database_query_comments.md)
-- Tracing the source of an SQL query in Rails console using [Verbose Query Logs](https://guides.rubyonrails.org/debugging_rails_applications.html#verbose-query-logs)
+- Tracing the source of an SQL query:
+ - In Rails console using [Verbose Query Logs](https://guides.rubyonrails.org/debugging_rails_applications.html#verbose-query-logs)
+ - Using query comments with [Marginalia](database_query_comments.md)
## Best practices
- [Adding database indexes](adding_database_indexes.md)
-- [Foreign keys & associations](foreign_keys.md)
- [Adding a foreign key constraint to an existing column](add_foreign_key_to_existing_column.md)
-- [`NOT NULL` constraints](not_null_constraints.md)
-- [Strings and the Text data type](strings_and_the_text_data_type.md)
-- [Single table inheritance](single_table_inheritance.md)
-- [Polymorphic associations](polymorphic_associations.md)
-- [Serializing data](serializing_data.md)
+- [Check for background migrations before upgrading](../../update/background_migrations.md)
+- [Client-side connection-pool](client_side_connection_pool.md)
+- [Constraints naming conventions](constraint_naming_convention.md)
+- [Creating enums](creating_enums.md)
+- [Data layout and access patterns](layout_and_access_patterns.md)
+- [Efficient `IN` operator queries](efficient_in_operator_queries.md)
+- [Foreign keys & associations](foreign_keys.md)
- [Hash indexes](hash_indexes.md)
-- [Storing SHA1 hashes as binary](sha1_as_binary.md)
-- [Iterating tables in batches](iterating_tables_in_batches.md)
- [Insert into tables in batches](insert_into_tables_in_batches.md)
+- [Iterating tables in batches](iterating_tables_in_batches.md)
+- [`NOT NULL` constraints](not_null_constraints.md)
- [Ordering table columns](ordering_table_columns.md)
-- [Verifying database capabilities](verifying_database_capabilities.md)
-- [Query Count Limits](query_count_limits.md)
-- [Creating enums](creating_enums.md)
-- [Client-side connection-pool](client_side_connection_pool.md)
-- [Updating multiple values](setting_multiple_values.md)
-- [Constraints naming conventions](constraint_naming_convention.md)
-- [Query performance guidelines](query_performance.md)
- [Pagination guidelines](pagination_guidelines.md)
- [Pagination performance guidelines](pagination_performance_guidelines.md)
-- [Efficient `IN` operator queries](efficient_in_operator_queries.md)
-- [Data layout and access patterns](layout_and_access_patterns.md)
-- [Check for background migrations before upgrading](../../update/background_migrations.md)
+- [Polymorphic associations](polymorphic_associations.md)
+- [Query count limits](query_count_limits.md)
+- [Query performance guidelines](query_performance.md)
+- [Serializing data](serializing_data.md)
+- [Single table inheritance](single_table_inheritance.md)
+- [Storing SHA1 hashes as binary](sha1_as_binary.md)
+- [Strings and the Text data type](strings_and_the_text_data_type.md)
+- [Updating multiple values](setting_multiple_values.md)
+- [Verifying database capabilities](verifying_database_capabilities.md)
## Case studies
diff --git a/doc/development/database/required_stops.md b/doc/development/database/required_stops.md
new file mode 100644
index 00000000000..46fabb5c1b4
--- /dev/null
+++ b/doc/development/database/required_stops.md
@@ -0,0 +1,41 @@
+---
+stage: Data Stores
+group: Database
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
+---
+
+# Adding required stops
+
+Required stops should only be added when it is deemed absolutely necessary, due to their
+disruptive effect on customers. Before adding a required stop, consider if any
+alternative approaches exist to avoid a required stop. Sometimes a required
+stop is unavoidable. In those cases, follow the instructions below.
+
+## Before the required stop is released
+
+Before releasing a known required stop, complete these steps. If the required stop
+is identified after release, the following steps must still be completed:
+
+1. Update [upgrade paths](../../update/index.md#upgrade-paths) to include the new
+ required stop.
+1. Communicate the changes with the customer Support and Release management teams.
+1. File an issue with the Database group to squash migrations to that version in the
+ next release. Use this template for your issue:
+
+ ```markdown
+ Title: `Squash migrations to <Required stop version>`
+ As a result of the required stop added for <required stop version> we should squash
+ migrations up to that version, and update the minimum schema version.
+
+ Deliverables:
+ - [ ] Migrations are squashed up to <required stop version>
+ - [ ] `Gitlab::Database::MIN_SCHEMA_VERSION` matches init_schema version
+
+ /label ~"group::database" ~"section::enablement" ~"devops::data_stores" ~"Category:Database" ~"type::maintenance"
+ /cc @gitlab-org/database-team/triage
+ ```
+
+## In the release following the required stop
+
+1. Update `Gitlab::Database::MIN_SCHEMA_GITLAB_VERSION` in `lib/gitlab/database.rb` to the
+ new required stop versions. Do not change `Gitlab::Database::MIN_SCHEMA_VERSION`.
diff --git a/doc/development/snowplow/index.md b/doc/development/snowplow/index.md
index 32628744a23..6acbd72175e 100644
--- a/doc/development/snowplow/index.md
+++ b/doc/development/snowplow/index.md
@@ -27,9 +27,10 @@ Tracking can be enabled at:
- The user level. User tracking can be disabled on a per user basis.
GitLab respects the [Do Not Track](https://www.eff.org/issues/do-not-track) standard, so any user who has enabled the Do Not Track option in their browser is not tracked at a user level.
-Snowplow tracking is enabled on GitLab.com, and we use it for most of our tracking strategy.
+Snowplow tracking is configured to send data for GitLab.com to a collector configured by GitLab. By default, self-managed
+instances do not have a collector configured and do not collect data via Snowplow.
-To enable Snowplow tracking on a self-managed instance:
+You can configure your self-managed GitLab instance to use a custom Snowplow collector.
1. On the top bar, select **Main menu > Admin**, then select **Settings > General**.
Alternatively, go to `admin/application_settings/general` in your browser.
diff --git a/doc/topics/git/troubleshooting_git.md b/doc/topics/git/troubleshooting_git.md
index e585b860b16..050d2415b26 100644
--- a/doc/topics/git/troubleshooting_git.md
+++ b/doc/topics/git/troubleshooting_git.md
@@ -40,6 +40,16 @@ git config http.postBuffer 52428800
The value is specified in bytes, so in the above case the buffer size has been
set to 50MB. The default is 1MB.
+### RPC failed; curl 92 HTTP/2 stream 0 was not closed cleanly: INTERNAL_ERROR (err 2)
+
+This problem may be caused by a slow internet connection. If you use Git over HTTP
+instead of SSH, try one of these fixes:
+
+- Increase the POST buffer size in the Git configuration with `git config http.postBuffer 52428800`.
+- Switch to the `HTTP/1.1` protocol with `git config http.version HTTP/1.1`.
+
+If neither approach fixes the error, you may need a different internet service provider.
+
### Check your SSH configuration
**If pushing over SSH**, first check your SSH configuration as 'Broken pipe'
diff --git a/doc/update/background_migrations.md b/doc/update/background_migrations.md
index 2e0bd1bb348..c5ffefdd77f 100644
--- a/doc/update/background_migrations.md
+++ b/doc/update/background_migrations.md
@@ -122,28 +122,6 @@ Expected batched background migration for the given configuration to be marked a
If you get this error, [check the batched background migration options](#database-migrations-failing-because-of-batched-background-migration-not-finished) to complete the upgrade.
-### Enable or disable batched background migrations
-
-WARNING:
-If you disable this feature flag, GitLab upgrades may fail.
-
-Batched background migrations are under development but ready for production use.
-It is deployed behind a feature flag that is **enabled by default**.
-[GitLab administrators with access to the GitLab Rails console](../administration/feature_flags.md)
-can opt to disable it.
-
-To enable it:
-
-```ruby
-Feature.enable(:execute_batched_migrations_on_schedule)
-```
-
-To disable it:
-
-```ruby
-Feature.disable(:execute_batched_migrations_on_schedule)
-```
-
### Pause batched background migrations in GitLab 14.x
To pause an ongoing batched background migration, use the `disable` command above.
@@ -225,6 +203,18 @@ Feature.disable(:optimize_batched_migrations)
## Troubleshooting
+### Enable or disable batched background migrations
+
+In extremely limited circumstances, a GitLab administrator can disable the
+`execute_batched_migrations_on_schedule` [feature flag](../administration/feature_flags.md).
+This flag is enabled by default, and should be disabled only as a last resort
+to limit database operations in special circumstances, like database host maintenance.
+
+WARNING:
+Do not disable this flag unless you fully understand the ramifications. If you disable
+the `execute_batched_migrations_on_schedule` feature flag, GitLab upgrades may fail
+and data loss may occur.
+
### Database migrations failing because of batched background migration not finished
When updating to GitLab 14.2 or later there might be a database migration failing with a message like:
diff --git a/doc/update/zero_downtime.md b/doc/update/zero_downtime.md
index d6d7c037cd9..a849033c3e5 100644
--- a/doc/update/zero_downtime.md
+++ b/doc/update/zero_downtime.md
@@ -495,12 +495,6 @@ On each **secondary** node, executing the following:
sudo gitlab-ctl reconfigure
```
-1. After the node is updated and reconfigure finished successfully, complete the migrations:
-
- ```shell
- sudo SKIP_POST_DEPLOYMENT_MIGRATIONS=true gitlab-rake db:migrate
- ```
-
1. Run post-deployment database migrations, specific to the Geo database:
```shell
diff --git a/doc/user/discussions/index.md b/doc/user/discussions/index.md
index be352e796f3..44e13f70f2e 100644
--- a/doc/user/discussions/index.md
+++ b/doc/user/discussions/index.md
@@ -7,6 +7,11 @@ type: reference, howto
# Comments and threads **(FREE)**
+> - Paginated merge request discussions [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/340172) in GitLab 15.1 [with a flag](../../administration/feature_flags.md) named `paginated_mr_discussions`. Disabled by default.
+> - Paginated merge request discussions [enabled on GitLab.com](https://gitlab.com/gitlab-org/gitlab/-/issues/364497) in GitLab 15.2.
+> - Paginated merge request discussions [enabled on self-managed](https://gitlab.com/gitlab-org/gitlab/-/issues/364497) in GitLab 15.3.
+> - Paginated merge request discussions [generally available](https://gitlab.com/gitlab-org/gitlab/-/issues/370075) in GitLab 15.8. Feature flag `paginated_mr_discussions` removed.
+
GitLab encourages communication through comments, threads, and
[code suggestions](../project/merge_requests/reviews/suggestions.md).
@@ -357,14 +362,3 @@ with a new push.
Threads are now resolved if a push makes a diff section outdated.
Threads on lines that don't change and top-level resolvable threads are not resolved.
-
-## Display paginated merge request discussions
-
-> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/340172) in GitLab 15.1 [with a flag](../../administration/feature_flags.md) named `paginated_mr_discussions`. Disabled by default.
-> - [Enabled on GitLab.com](https://gitlab.com/gitlab-org/gitlab/-/issues/364497) in GitLab 15.2.
-> - [Enabled on self-managed](https://gitlab.com/gitlab-org/gitlab/-/issues/364497) in GitLab 15.3.
-> - [Generally available](https://gitlab.com/gitlab-org/gitlab/-/issues/370075) in GitLab 15.8. Feature flag `paginated_mr_discussions` removed.
-
-A merge request can have many discussions. Loading them all in a single request
-can be slow. To improve the performance of loading discussions, they are split into multiple
-pages, loading sequentially.
diff --git a/doc/user/packages/package_registry/supported_functionality.md b/doc/user/packages/package_registry/supported_functionality.md
index 3d92836ed82..e56ae88872a 100644
--- a/doc/user/packages/package_registry/supported_functionality.md
+++ b/doc/user/packages/package_registry/supported_functionality.md
@@ -124,3 +124,23 @@ The following authentication protocols are supported:
| [Debian](../debian_repository/index.md) | Basic auth |
| [Go](../go_proxy/index.md) | Basic auth |
| [Ruby gems](../rubygems_registry/index.md) | Token |
+
+## Supported hash types **(FREE)**
+
+Hash values are used to ensure you are using the correct package. You can view these values in the user interface or with the [API](../../../api/packages.md).
+
+The Package Registry supports the following hash types:
+
+| Package type | Supported hashes |
+|--------------------------------------------------|----------------------------------|
+| [Maven](../maven_repository/index.md) | MD5, SHA1 |
+| [npm](../npm_registry/index.md) | SHA1 |
+| [NuGet](../nuget_repository/index.md) | not applicable |
+| [PyPI](../pypi_repository/index.md) | MD5, SHA256 |
+| [Generic packages](../generic_packages/index.md) | SHA256 |
+| [Composer](../composer_repository/index.md) | not applicable |
+| [Conan](../conan_repository/index.md) | MD5, SHA1 |
+| [Helm](../helm_repository/index.md) | not applicable |
+| [Debian](../debian_repository/index.md) | MD5, SHA1, SHA256 |
+| [Go](../go_proxy/index.md) | MD5, SHA1, SHA256 |
+| [Ruby gems](../rubygems_registry/index.md) | MD5, SHA1, SHA256 (gemspec only) |
diff --git a/doc/user/packages/package_registry/supported_hash_types.md b/doc/user/packages/package_registry/supported_hash_types.md
index 6d7dbf87468..d39b8d60c93 100644
--- a/doc/user/packages/package_registry/supported_hash_types.md
+++ b/doc/user/packages/package_registry/supported_hash_types.md
@@ -1,25 +1,11 @@
---
-stage: Package
-group: Package Registry
-info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
+redirect_to: 'supported_functionality.md'
+remove_date: '2023-04-22'
---
-# Supported hash types **(FREE)**
+This document was moved to [another location](supported_functionality.md).
-Hash values are used to ensure you are using the correct package. You can view these values in the user interface or with the [API](../../../api/packages.md).
-
-The Package Registry supports the following hash types:
-
-| Package type | Supported hashes |
-|--------------------------------------------------|----------------------------------|
-| [Maven](../maven_repository/index.md) | MD5, SHA1 |
-| [npm](../npm_registry/index.md) | SHA1 |
-| [NuGet](../nuget_repository/index.md) | not applicable |
-| [PyPI](../pypi_repository/index.md) | MD5, SHA256 |
-| [Generic packages](../generic_packages/index.md) | SHA256 |
-| [Composer](../composer_repository/index.md) | not applicable |
-| [Conan](../conan_repository/index.md) | MD5, SHA1 |
-| [Helm](../helm_repository/index.md) | not applicable |
-| [Debian](../debian_repository/index.md) | MD5, SHA1, SHA256 |
-| [Go](../go_proxy/index.md) | MD5, SHA1, SHA256 |
-| [Ruby gems](../rubygems_registry/index.md) | MD5, SHA1, SHA256 (gemspec only) |
+<!-- This redirect file can be deleted after <2023-04-22>. -->
+<!-- Redirects that point to other docs in the same project expire in three months. -->
+<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
+<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/user/project/repository/git_history.md b/doc/user/project/repository/git_history.md
index 08fe767f9c9..321b9a5eb53 100644
--- a/doc/user/project/repository/git_history.md
+++ b/doc/user/project/repository/git_history.md
@@ -21,6 +21,10 @@ When you select **History**, this information is displayed:
If you hover over a commit in the UI, the precise date and time of the commit modification
are shown.
+The name and email information provided are retrieved from the
+[Git configuration](https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration)
+of the contributor when a commit is made.
+
## Associated `git` command
If you're running `git` from the command line, the equivalent command
diff --git a/qa/qa/page/project/show.rb b/qa/qa/page/project/show.rb
index e00458bfc3b..3c2b8d56f1d 100644
--- a/qa/qa/page/project/show.rb
+++ b/qa/qa/page/project/show.rb
@@ -52,8 +52,7 @@ module QA
end
view 'app/views/projects/buttons/_fork.html.haml' do
- element :fork_label, "%span= s_('ProjectOverview|Fork')" # rubocop:disable QA/ElementWithPattern
- element :fork_link, "link_to new_project_fork_path(@project)" # rubocop:disable QA/ElementWithPattern
+ element :fork_button
end
view 'app/views/projects/empty.html.haml' do
@@ -97,8 +96,12 @@ module QA
click_element :new_file_menu_item
end
+ # Click by JS is needed to bypass the VSCode Web IDE popover
+ # Change back to regular click_element when vscode_web_ide FF is removed
+ # Rollout issue: https://gitlab.com/gitlab-org/gitlab/-/issues/371084
def fork_project
- click_on 'Fork'
+ fork_button = find_element(:fork_button)
+ click_by_javascript(fork_button)
end
def forked_from?(parent_project_name)
diff --git a/spec/lib/gitlab/auth/atlassian/identity_linker_spec.rb b/spec/lib/gitlab/auth/atlassian/identity_linker_spec.rb
index ca6b91ac6f1..a303634d463 100644
--- a/spec/lib/gitlab/auth/atlassian/identity_linker_spec.rb
+++ b/spec/lib/gitlab/auth/atlassian/identity_linker_spec.rb
@@ -17,7 +17,7 @@ RSpec.describe Gitlab::Auth::Atlassian::IdentityLinker do
let(:credentials) do
{
token: SecureRandom.alphanumeric(1254),
- refresh_token: SecureRandom.alphanumeric(45),
+ refresh_token: SecureRandom.alphanumeric(1500),
expires_at: 2.weeks.from_now.to_i,
expires: true
}