Fix the graphQL type for container repository tags
🔭 Context
In !46560 (merged), we introduced a GraphQL endpoint to get the details of a container repository.
Among those details, we can get the details of each tag.
The tag has several attributes and one of them is the totalSize
which is computed by adding all the sizes of the underlying layers.
This totalSize
has been mapped to GraphQL::INT_TYPE
in its corresponding GraphQL type.
The problem is that this type has a max.
Guess what happens when tags go over totalSize
of ~2GB ?
This GraphQL endpoint is used by the frontend to build its UI and this ends up in an error screen for the user, see #293845 (closed).
🔬 What does this MR do?
- Uses
GraphQL::Types::BigInt
instead ofGraphQL::INT_TYPE
- This will also change the final output of the field to be a string.
- Updates the related specs
- Updates the frontend code
👓 Screenshots (strongly suggested)
🛃 Does this MR meet the acceptance criteria?
📇 Conformity
-
Changelog entry -
Documentation (if required) -
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
⛓ Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. - [-] Tested in all supported browsers
- [-] Informed Infrastructure department of a default or new setting change, if applicable per definition of done
👮 Security
If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:
- [-] Label as security and @ mention
@gitlab-com/gl-security/appsec
- [-] The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
- [-] Security reports checked/validated by a reviewer from the AppSec team