Age | Commit message (Collapse) | Author |
|
Enables frozens string for the following:
* lib/gitlab/conflict/**/*.rb
* lib/gitlab/cross_project_access/**/*.rb
* lib/gitlab/cycle_analytics/**/*.rb
* lib/gitlab/data_builder/**/*.rb
* lib/gitlab/database/**/*.rb
* lib/gitlab/dependency_linker/**/*.rb
* lib/gitlab/diff/**/*.rb
* lib/gitlab/downtime_check/**/*.rb
* lib/gitlab/email/**/*.rb
* lib/gitlab/etag_caching/**/*.rb
Partially addresses gitlab-org/gitlab-ce#47424.
|
|
When a request contains an ETag value in its If-None-Match header, the backend
may send a request ID (from Rack) that does not correspond to a value in Peek's
Redis cache (because we aborted the Rails processing in our ETag middleware).
Because a cached response (304) has to replace the headers with those from the
previous 200 - https://tools.ietf.org/html/rfc7234#section-4.3.4 - we add a
custom header that will only be present in cache hits, that can tell the
frontend to ignore these.
|
|
|
|
This was edited to the request, but this won't work if the data is not
available at the time of setting the key for the first time.
|
|
Fixes gitlab-org/gitlab-ce#33106
|
|
|
|
|
|
|
|
|
|
Added the needed keys and paths to a new entity, BuildDetailsEntity.
Not renaming BuildEntity to BuildBasicEntity on explicit request. Most
code now has test coverage, but not all. This will be added on later
commits on this branch.
Resolves gitlab-org/gitlab-ce#31397
|
|
|
|
|
|
This reverts commit b0498c176fa134761d899c9b369be12f1ca789c5
|
|
Fix ambiguous routing issues by teaching router about reserved words
See merge request !11570
|
|
|
|
|
|
|
|
Due to a typo this was not actually the case. Now that is fixed and
performance should improve because of this.
|
|
For the index view, the environments can now be requested every 15
seconds. Any transition state of a projects environments will trigger a
cache invalidation action.
Fixes gitlab-org/gitlab-ce#31701
|
|
|
|
Use the EnforcedStyleForMultiline: no_comma option.
Signed-off-by: Rémy Coutable <remy@rymai.me>
|
|
|
|
|
|
This reflects better that it validates paths instead of a namespace model
|
|
`Project` uses `ProjectPathValidator` which is now a
`NamespaceValidator` that skips the format validation.
That way we're sure we are using the same collection of reserved
paths.
I updated the path constraints to reflect the changes: We now allow
some values that are only used on a top level namespace as a name for
a nested group/project.
|
|
Extract route matching logic to Gitlab::EtagCaching::Router.
Fix pipeline routes:
1. "project_pipelines" has to come after "commit_pipelines" and
"merge_request_pipelines" because it is more generic
2. "commit_pipelines": "\s" (any whitespace character) => "\S"
(any non-whitespace character).
|
|
Also poll for pipeline changes on:
- Pipeline table on commit page
- Pipeline table on merge request page
- Pipeline table on new merge request page
|
|
|
|
Enable caching in the Etag::Middleware and when a pipeline changes
status, expire the cache for the project pipelines path.
|
|
|
|
|
|
NamespaceValidator::WILDCARD_ROUTES is less restrictive than
ProjectPathValidator::RESERVED and we really have to avoid only
routes that contain wildcard names.
|
|
Implement module for setting "Poll-Interval" response header.
Return 429 in ETag caching middleware when polling is disabled.
|
|
As discussed in #29777.
|
|
See https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/9235
|
|
|