Fix ETag caching not being used for AJAX requests
What does this MR do?
This fixes two issues:
- For AJAX requests, we shouldn't set the
no-store
response header as this prevents the browser from sending theIf-None-Match
request header (with theEtag
value), leading to poor performance. This was broken since 11.5.0 due to a security fix (see issue). -
Ci::Pipeline#all_merge_requests
was only returning merge requests for its project, but it should include merge requests from forks as well. This was preventingEtag
value from being touched inExpirePipelineCacheWorker
.
What are the relevant issue numbers?
Closes #57905 (closed).
Does this MR meet the acceptance criteria?
-
Changelog entry added, if necessary -
Tests added for this feature/bug -
Tested in all supported browsers -
Conforms to the code review guidelines -
Conforms to the merge request performance guidelines -
Conforms to the style guides -
Conforms to the database guides -
Security reports checked/validated by reviewer
Edited by Rémy Coutable