Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions indra/llinventory/llfoldertype.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,24 @@ bool LLFolderType::lookupIsEnsembleType(EType folder_type)
folder_type <= FT_ENSEMBLE_END);
}

// static
bool LLFolderType::lookupIsEssentialType(EType folder_type)
{
if (folder_type == FT_NONE)
{
return false;
}

if (folder_type == FT_ROOT_INVENTORY)
{
return true;
}

// Essential folders are those needed for basic viewer operation:
// singleton system folders and ensemble (outfit) folders
return lookupIsSingletonType(folder_type) || lookupIsEnsembleType(folder_type);
}

// static
LLAssetType::EType LLFolderType::folderTypeToAssetType(LLFolderType::EType folder_type)
{
Expand Down
2 changes: 2 additions & 0 deletions indra/llinventory/llfoldertype.h
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,8 @@ class LL_COMMON_API LLFolderType
static bool lookupIsAutomaticType(EType folder_type);
static bool lookupIsSingletonType(EType folder_type);
static bool lookupIsEnsembleType(EType folder_type);
// Returns true if this folder type should be fully loaded during async inventory startup
static bool lookupIsEssentialType(EType folder_type);

static LLAssetType::EType folderTypeToAssetType(LLFolderType::EType folder_type);
static LLFolderType::EType assetTypeToFolderType(LLAssetType::EType asset_type);
Expand Down
2 changes: 2 additions & 0 deletions indra/newview/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ set(viewer_SOURCE_FILES
llappearancemgr.cpp
llappviewer.cpp
llappviewerlistener.cpp
llasyncinventoryskeletonloader.cpp
llattachmentsmgr.cpp
llaudiosourcevo.cpp
llautoreplace.cpp
Expand Down Expand Up @@ -785,6 +786,7 @@ set(viewer_HEADER_FILES
llappearancemgr.h
llappviewer.h
llappviewerlistener.h
llasyncinventoryskeletonloader.h
llattachmentsmgr.h
llaudiosourcevo.h
llautoreplace.h
Expand Down
66 changes: 66 additions & 0 deletions indra/newview/app_settings/settings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3291,6 +3291,72 @@
<key>Value</key>
<integer>255</integer>
</map>
<key>ForceAsyncInventorySkeleton</key>
<map>
<key>Comment</key>
<string>Force viewer to skip legacy login inventory skeleton and rely on async AIS fetching.</string>
<key>Persist</key>
<integer>0</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>AsyncInventoryMaxConcurrentFetches</key>
<map>
<key>Comment</key>
<string>Maximum number of concurrent AIS fetches used during async inventory skeleton loading.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>U32</string>
<key>Value</key>
<integer>2</integer>
</map>
<key>AsyncInventoryNotifyMinInterval</key>
<map>
<key>Comment</key>
<string>Minimum seconds between inventory observer notifications while async inventory loading is active.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>F32</string>
<key>Value</key>
<real>0.05</real>
</map>
<key>AsyncInventoryCapsTimeout</key>
<map>
<key>Comment</key>
<string>Maximum seconds to wait for inventory capabilities during async skeleton loading.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>F32</string>
<key>Value</key>
<real>45.0</real>
</map>
<key>AsyncInventoryFetchTimeout</key>
<map>
<key>Comment</key>
<string>Maximum seconds for the entire async inventory skeleton fetch process.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>F32</string>
<key>Value</key>
<real>180.0</real>
</map>
<key>AsyncInventoryEssentialTimeout</key>
<map>
<key>Comment</key>
<string>Maximum seconds to wait for essential inventory folders during async loading.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>F32</string>
<key>Value</key>
<real>90.0</real>
</map>
<key>ForceLoginURL</key>
<map>
<key>Comment</key>
Expand Down
Loading
Loading