Repository navigation
#6419 Async inventory cache - #6446
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Fetch routing and cache-consistency defects can leave inventory missing, incomplete, or stale.
8 open findings
Validate cached link targets against parent cache versions · New Use inventory capability when selecting agent-folder endpoint · New Restore cached thumbnails and favorite flags for deferred folders · New Update child counts when restoring recovered links · New Resolve folder links through the category map · New Reject folders with unresolved links and preserve observer notifications · New Update deferred folder descendant counts after merging children · New Limit cache-hit work to enforce inventory loading time budgets · New
What changed in this PR
This PR reduces startup inventory work by loading priority folders first and applying the remaining cached contents through background fetching.
Changes:
- Adds shared cache results with priority-folder and child-item indexes.
- Integrates deferred cache loading, link resolution, and invalidation into background fetching.
- Updates the cache format and narrows verbose AIS logging.
| File | Description |
|---|---|
| indra/newview/llinventorymodelbackgroundfetch.h | Declares deferred-cache handling and ownership-aware callbacks. |
| indra/newview/llinventorymodelbackgroundfetch.cpp | Applies deferred contents during background fetching. |
| indra/newview/llinventorymodel.h | Updates cache types and serialization interfaces. |
| indra/newview/llinventorymodel.cpp | Saves priorities and separates startup from deferred loading. |
| indra/newview/llinventorycache.h | Defines shared cache results and bookkeeping. |
| indra/newview/llaisapi.cpp | Restricts response logging to the AIS3 tag. |
| indra/newview/CMakeLists.txt | Registers the new cache header. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
akleshchev
force-pushed
the
andreyk/viewer_6419
branch
2 times, most recently
from
October 14, 2026 22:49
4ca1774 to
c3dba67
Compare
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Link resolution can crash when a target’s parent was deleted and rejects valid cached targets in deferred folders.
2 open findings
8 resolved since last review
Use inventory capability when selecting agent-folder endpoint Validate cached link targets against parent cache versions Limit cache-hit work to enforce inventory loading time budgets Update deferred folder descendant counts after merging children Reject folders with unresolved links and preserve observer notifications Resolve folder links through the category map Update child counts when restoring recovered links Restore cached thumbnails and favorite flags for deferred folders
🧠 Review effort: Balanced
akleshchev
force-pushed
the
andreyk/viewer_6419
branch
from
October 14, 2026 23:10
c3dba67 to
41eb42b
Compare
marchcat
approved these changes
Oct 15, 2026
maxim-productengine
approved these changes
Oct 15, 2026
- Don't load massive inventory in one go on startup, only apply crititcal folders. Make sure to follow links and save the remainder. - Apply remaining cache in a manned similar to AIS, as if folders are being loaded from network. Follow links and invoke callbacks. Notes: - Technically don't need to wait for the library to parse at skeleton stage, but it's comparatively small and uniform handling is easier. - Potentially can split priority cache for early load, with the rest unpacking and parsing after the skeleton, but such improvements can be done later.
akleshchev
force-pushed
the
andreyk/viewer_6419
branch
from
October 15, 2026 18:44
41eb42b to
9387bd4
Compare
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.


Notes: