diff options
| author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2023-05-29 23:37:58 +0300 | 
|---|---|---|
| committer | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2023-05-29 23:37:58 +0300 | 
| commit | b9fad316a356fd223dcf29ed000de1b86e6a93d3 (patch) | |
| tree | 6cf8a12dd8eb386d110bc68b7aa741f1a7e3abc7 | |
| parent | 352ca2f881b02bd455d0f191d93737d3dc3dd52d (diff) | |
SL-17429 Message user when their inventory hits AIS2 limits
| -rw-r--r-- | indra/newview/llinventorymodelbackgroundfetch.cpp | 22 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/notifications.xml | 8 | 
2 files changed, 28 insertions, 2 deletions
| diff --git a/indra/newview/llinventorymodelbackgroundfetch.cpp b/indra/newview/llinventorymodelbackgroundfetch.cpp index b0ebe83f57..0eb07523ae 100644 --- a/indra/newview/llinventorymodelbackgroundfetch.cpp +++ b/indra/newview/llinventorymodelbackgroundfetch.cpp @@ -34,6 +34,7 @@  #include "llinventorymodel.h"  #include "llinventoryobserver.h"  #include "llinventorypanel.h" +#include "llnotificationsutil.h"  #include "llstartup.h"  #include "llviewercontrol.h"  #include "llviewerinventory.h" @@ -1357,12 +1358,24 @@ void BGFolderHttpHandler::processFailure(LLCore::HttpStatus status, LLCore::Http      if(status == LLCore::HttpStatus(HTTP_FORBIDDEN))      { -        // too large, split into two, assume that this isn't the library +        // Too large, split into two if possible +        if (gDisconnected || LLApp::isExiting()) +        { +            return; +        } +          const std::string url(gAgent.getRegionCapability("FetchInventoryDescendents2")); +        if (url.empty()) +        { +            LL_WARNS(LOG_INV) << "Failed to get AIS2 cap" << LL_ENDL; +            return; +        } +          S32 size = mRequestSD["folders"].size(); -        if (!gDisconnected && !LLApp::isExiting() && !url.empty() && size > 1) +        if (size > 1)          { +            // Can split, assume that this isn't the library              LLSD folders;              uuid_vec_t recursive_cats;              LLSD::array_iterator iter = mRequestSD["folders"].beginArray(); @@ -1393,6 +1406,11 @@ void BGFolderHttpHandler::processFailure(LLCore::HttpStatus status, LLCore::Http              gInventory.requestPost(false, url, request_body, handler, "Inventory Folder");              return;          } +        else +        { +            // Can't split +            LLNotificationsUtil::add("InventoryLimitReachedAIS"); +        }      }  	// This was originally the request retry logic for the inventory diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index e8fdc84fae..4c8d7fbd83 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -6441,6 +6441,14 @@ Your trash is overflowing. This may cause problems logging in.    </notification>    <notification +   icon="notifytip.tga" +   name="InventoryLimitReachedAIS" +   type="notifytip"> +Your inventory is experiencing issues. Please, contact support. +  <tag>fail</tag> +  </notification> + +  <notification     icon="alertmodal.tga"     name="ConfirmClearBrowserCache"     type="alertmodal"> | 
