MAINT-4794 FIXED Present informative dialog if mesh upload fails due to specific reason
parent
00f53244c8
commit
8e081ec5a2
|
|
@ -72,6 +72,7 @@
|
|||
#include "bufferstream.h"
|
||||
#include "llfasttimer.h"
|
||||
#include "llcorehttputil.h"
|
||||
#include "lltrans.h"
|
||||
|
||||
#include "boost/lexical_cast.hpp"
|
||||
|
||||
|
|
@ -693,12 +694,16 @@ void log_upload_error(LLCore::HttpStatus status, const LLSD& content,
|
|||
args["MESSAGE"] = message;
|
||||
args["IDENTIFIER"] = identifier;
|
||||
args["LABEL"] = model_name;
|
||||
gMeshRepo.uploadError(args);
|
||||
|
||||
// Log details.
|
||||
LL_WARNS(LOG_MESH) << "Error in stage: " << stage
|
||||
<< ", Reason: " << status.toString()
|
||||
<< " (" << status.toTerseString() << ")" << LL_ENDL;
|
||||
|
||||
std::ostringstream details;
|
||||
typedef std::set<std::string> mav_errors_set_t;
|
||||
mav_errors_set_t mav_errors;
|
||||
|
||||
if (content.has("error"))
|
||||
{
|
||||
const LLSD& err = content["error"];
|
||||
|
|
@ -708,8 +713,11 @@ void log_upload_error(LLCore::HttpStatus status, const LLSD& content,
|
|||
<< "', message '" << err["message"].asString()
|
||||
<< "', id '" << err["identifier"].asString()
|
||||
<< "'" << LL_ENDL;
|
||||
|
||||
if (err.has("errors"))
|
||||
{
|
||||
details << std::endl << std::endl;
|
||||
|
||||
S32 error_num = 0;
|
||||
const LLSD& err_list = err["errors"];
|
||||
for (LLSD::array_const_iterator it = err_list.beginArray();
|
||||
|
|
@ -717,6 +725,13 @@ void log_upload_error(LLCore::HttpStatus status, const LLSD& content,
|
|||
++it)
|
||||
{
|
||||
const LLSD& err_entry = *it;
|
||||
std::string message = err_entry["message"];
|
||||
|
||||
if (message.length() > 0)
|
||||
{
|
||||
mav_errors.insert(message);
|
||||
}
|
||||
|
||||
LL_WARNS(LOG_MESH) << " error[" << error_num << "]:" << LL_ENDL;
|
||||
for (LLSD::map_const_iterator map_it = err_entry.beginMap();
|
||||
map_it != err_entry.endMap();
|
||||
|
|
@ -733,6 +748,21 @@ void log_upload_error(LLCore::HttpStatus status, const LLSD& content,
|
|||
{
|
||||
LL_WARNS(LOG_MESH) << "Bad response to mesh request, no additional error information available." << LL_ENDL;
|
||||
}
|
||||
|
||||
mav_errors_set_t::iterator mav_errors_it = mav_errors.begin();
|
||||
for (; mav_errors_it != mav_errors.end(); ++mav_errors_it)
|
||||
{
|
||||
std::string mav_details = "Mav_Details_" + *mav_errors_it;
|
||||
details << "Message: '" << *mav_errors_it << "': " << LLTrans::getString(mav_details) << std::endl << std::endl;
|
||||
}
|
||||
|
||||
std::string details_str = details.str();
|
||||
if (details_str.length() > 0)
|
||||
{
|
||||
args["DETAILS"] = details_str;
|
||||
}
|
||||
|
||||
gMeshRepo.uploadError(args);
|
||||
}
|
||||
|
||||
LLMeshRepoThread::LLMeshRepoThread()
|
||||
|
|
|
|||
|
|
@ -7772,9 +7772,8 @@ Select residents to share with.
|
|||
name="MeshUploadError"
|
||||
icon="alert.tga"
|
||||
type="alert">
|
||||
[LABEL] failed to upload: [MESSAGE] [IDENTIFIER]
|
||||
|
||||
See the log file for details.
|
||||
[LABEL] failed to upload: [MESSAGE] [IDENTIFIER]
|
||||
[DETAILS]See SecondLife.log for details
|
||||
</notification>
|
||||
|
||||
<notification
|
||||
|
|
|
|||
|
|
@ -4049,5 +4049,17 @@ Try enclosing path to the editor with double quotes.
|
|||
<string name="loading_chat_logs">
|
||||
Loading...
|
||||
</string>
|
||||
|
||||
</strings>
|
||||
|
||||
<string name="Mav_Details_MAV_FOUND_DEGENERATE_TRIANGLES">
|
||||
The physics shape contains triangles which are too small. Try simplifying the physics model.
|
||||
</string>
|
||||
|
||||
<string name="Mav_Details_MAV_CONFIRMATION_DATA_MISMATCH">
|
||||
The physics shape contains bad confirmation data. Try to correct the physics model.
|
||||
</string>
|
||||
|
||||
<string name="Mav_Details_MAV_UNKNOWN_VERSION">
|
||||
The physics shape does not have correct version. Set the correct version for the physics model.
|
||||
</string>
|
||||
|
||||
</strings>
|
||||
|
|
|
|||
Loading…
Reference in New Issue