Make version identification clearer for support teams

meow-7.2.2
Beq 2024-07-26 14:31:24 +01:00
parent 4ac9016a3a
commit b33b06e133
3 changed files with 85 additions and 2 deletions

View File

@ -471,13 +471,42 @@ void FSFloaterIM::sendMsgFromInputEditor(EChatType type)
if (FSData::getInstance()->isTestingGroup(mSessionID))
{
if(chat_prefix_testing)
utf8_text.insert(insert_pos, ("(" + str_address_size_tag + str_operating_system_tag + " " + LLVersionInfo::getInstance()->getBuildVersion() + skin_indicator + str_viewer_mode + str_rlv_enabled + str_opensim_tag + ") "));
{
auto viewer_maturity = LLVersionInfo::getInstance()->getFSViewerMaturity();
if( viewer_maturity == LLVersionInfo::FSViewerMaturity::RELEASE_VIEWER )
{
utf8_text.insert(insert_pos, "(Release) ");
}
else if( viewer_maturity == LLVersionInfo::FSViewerMaturity::UNOFFICIAL_VIEWER )
{
utf8_text.insert(insert_pos, "(Unofficial) ");
}
else // In testing groups we'll allow all non-release recognised channels.
{
utf8_text.insert(insert_pos, ("(" + str_address_size_tag + str_operating_system_tag + " " + LLVersionInfo::getInstance()->getBuildVersion() + skin_indicator + str_viewer_mode + str_rlv_enabled + str_opensim_tag + ") "));
}
}
}
//For release support groups, only display the short version(Major.Minor.Patch) since chat can speed by. This makes it easier on Support's eyes.
else if(FSData::getInstance()->isSupportGroup(mSessionID))
{
if(chat_prefix_support)
utf8_text.insert(insert_pos, ("(" + str_address_size_tag + str_operating_system_tag + " " + LLVersionInfo::getInstance()->getShortVersion() + skin_indicator + str_viewer_mode + str_rlv_enabled + str_opensim_tag + ") "));
{
auto viewer_maturity = LLVersionInfo::getInstance()->getFSViewerMaturity();
if( viewer_maturity == LLVersionInfo::FSViewerMaturity::UNOFFICIAL_VIEWER )
{
utf8_text.insert(insert_pos, "(Unofficial) ");
}
else if( viewer_maturity != LLVersionInfo::FSViewerMaturity::RELEASE_VIEWER )
{
utf8_text.insert(insert_pos, "(pre-Release) ");
}
else
{
utf8_text.insert(insert_pos, ("(" + str_address_size_tag + str_operating_system_tag + " " + LLVersionInfo::getInstance()->getShortVersion() + skin_indicator + str_viewer_mode + str_rlv_enabled + str_opensim_tag + ") "));
}
}
}
}

View File

@ -211,7 +211,47 @@ LLVersionInfo::ViewerMaturity LLVersionInfo::getViewerMaturity()
}
return maturity;
}
// <FS:Beq> Add FS specific maturity grading
LLVersionInfo::FSViewerMaturity LLVersionInfo::getFSViewerMaturity()
{
FSViewerMaturity maturity;
std::string channel = getChannel();
static const boost::regex is_manual_channel("\\bManualx64\\b");
static const boost::regex is_beta_channel("\\bBetax64\\b");
static const boost::regex is_alpha_channel("\\bAlphax64\\b");
static const boost::regex is_release_channel("\\bReleasex64\\b");
static const boost::regex is_nightly_channel("\\bNightlyx64\\b");
if (ll_regex_search(channel, is_release_channel))
{
maturity = FSViewerMaturity::RELEASE_VIEWER;
}
else if (ll_regex_search(channel, is_beta_channel))
{
maturity = FSViewerMaturity::BETA_VIEWER;
}
else if (ll_regex_search(channel, is_alpha_channel))
{
maturity = FSViewerMaturity::ALPHA_VIEWER;
}
else if (ll_regex_search(channel, is_manual_channel))
{
maturity = FSViewerMaturity::MANUAL_VIEWER;
}
else if (ll_regex_search(channel, is_nightly_channel))
{
maturity = FSViewerMaturity::NIGHTLY_VIEWER;
}
else
{
maturity = FSViewerMaturity::UNOFFICIAL_VIEWER;
}
return maturity;
}
// </FS:Beq>
std::string LLVersionInfo::getReleaseNotes()
{
return mReleaseNotes;

View File

@ -109,6 +109,20 @@ public:
} ViewerMaturity;
ViewerMaturity getViewerMaturity();
// <FS:Beq> Add an FS specific viewer maturity enum
using FSViewerMaturity =
enum class FSViewerMaturityEnum
{
UNOFFICIAL_VIEWER=0,
ALPHA_VIEWER,
MANUAL_VIEWER,
BETA_VIEWER,
NIGHTLY_VIEWER,
RELEASE_VIEWER,
};
FSViewerMaturity getFSViewerMaturity();
// </FS:Beq>
/// get the release-notes URL, once it becomes available -- until then,
/// return empty string
std::string getReleaseNotes();