ROX-32864: Upgrade apollo to fix infinite spinner on VM results#19700
Open
ROX-32864: Upgrade apollo to fix infinite spinner on VM results#19700
Conversation
pedrottimark
approved these changes
Mar 30, 2026
Contributor
pedrottimark
left a comment
There was a problem hiding this comment.
Congratulations for your tenacity to reproduce and investigate.
…nner_related_to_apollo
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #19700 +/- ##
==========================================
- Coverage 49.67% 49.66% -0.01%
==========================================
Files 2748 2748
Lines 207354 207354
==========================================
- Hits 102995 102990 -5
- Misses 96703 96708 +5
Partials 7656 7656
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
…nner_related_to_apollo
Contributor
|
Images are ready for the commit at 9fa38cd. To use with deploy scripts, first |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Upgrades
@apollo/clientfrom3.8.7to3.8.10to fix a console error caused by cache override warnings that resulted in an infinite spinner on the vulnerability management results table.The problem
When viewing the VM results table, filtering in a way that reduces the number of
distroTupleson a cachedImageCVECoreobject triggers Apollo's "Cache data may be lost" warning. For example, a CVE with 3 distro tuples in the unfiltered results would be replaced by the same CVE with only 1 tuple after filtering by namespace — Apollo warns that cached data is being overwritten without a merge function.Steps to reproduce:
How the bug was introduced
In
3.8.0, PR #10887 introduced a "new error extraction mechanism". This changed the cache override warning to use%s(string formatting) for cache objects. Since these objects can't be converted to a primitive value, the warning throws"Cannot convert object to primitive value"instead of logging the intended message. This error bubbles up and causes the infinite spinner.This worked correctly in
3.7.17and earlier because the warning used inline messages that handled object formatting properly.In
3.8.10, PR #11483 fixed this by changing%sto%o, which displays cache objects as expandable/inspectable objects in the browser console instead of attempting string conversion.3.7.17 (working):
3.8.7 (broken — infinite spinner):
3.8.10 (fixed):
Follow-up
This fixes the console error and the infinite spinner but does not address the underlying "Cache data may be lost" warning. A follow-up PR should add
typePoliciesmerge functions to the Apollo cache configuration forImageCVECore.distroTuplesto eliminate the warning entirely.User-facing documentation
Testing and quality
Automated testing