Merge branch 'DRTVWR-552-cache-360' of https://bitbucket.org/lindenlab/viewer

master
Ansariel 2021-12-15 21:05:24 +01:00
commit a3c1080295
8 changed files with 126 additions and 65 deletions

View File

@ -3466,9 +3466,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>archive</key>
<map>
<key>hash</key>
<string>97fac6d88480445c856083ed20d78093</string>
<string>a3c8357a2f5a62cd7de43181b02553bc</string>
<key>url</key>
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/85206/790666/viewer_manager-2.0.562101-darwin64-562101.tar.bz2</string>
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/91396/829032/viewer_manager-2.0.566227-darwin64-566227.tar.bz2</string>
</map>
<key>name</key>
<string>darwin64</string>
@ -3502,9 +3502,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>archive</key>
<map>
<key>hash</key>
<string>3f6271ec0e2e2f0cc1067d4c4102bb4c</string>
<string>0654b449d9bdf3507664cf5caa67336f</string>
<key>url</key>
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/85208/790681/viewer_manager-2.0.562101-windows-562101.tar.bz2</string>
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/91397/829041/viewer_manager-2.0.566227-windows-566227.tar.bz2</string>
</map>
<key>name</key>
<string>windows</string>
@ -3515,7 +3515,7 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>source_type</key>
<string>hg</string>
<key>version</key>
<string>2.0.562101</string>
<string>2.0.566227</string>
</map>
<key>vlc-bin</key>
<map>

View File

@ -5675,27 +5675,31 @@ void LLAgent::requestAgentUserInfoCoro(std::string capurl)
return;
}
bool im_via_email;
bool is_verified_email;
std::string email;
std::string dir_visibility;
im_via_email = result["im_via_email"].asBoolean();
is_verified_email = result["is_verified"].asBoolean();
// <FS:Ansariel> Keep this for OpenSim
bool im_via_email = false;
if (!LLGridManager::instance().isInSecondLife())
{
im_via_email = result["im_via_email"].asBoolean();
}
// </FS:Ansariel>
email = result["email"].asString();
dir_visibility = result["directory_visibility"].asString();
// TODO: This should probably be changed. I'm not entirely comfortable
// having LLAgent interact directly with the UI in this way.
// <FS:Ansariel> Show email address in preferences (FIRE-1071)
//LLFloaterPreference::updateUserInfo(dir_visibility, im_via_email, is_verified_email);
LLFloaterPreference::updateUserInfo(dir_visibility, im_via_email, is_verified_email, email);
// <FS:Ansariel> Show email address in preferences (FIRE-1071) and keep IM to email setting for OpenSim
//LLFloaterPreference::updateUserInfo(dir_visibility);
LLFloaterPreference::updateUserInfo(dir_visibility, im_via_email, email);
// </FS:Ansariel>
LLFloaterSnapshot::setAgentEmail(email);
}
void LLAgent::sendAgentUpdateUserInfo(bool im_via_email, const std::string& directory_visibility)
{
// <FS:Ansariel> Keep this for OpenSim
//void LLAgent::sendAgentUpdateUserInfo(const std::string& directory_visibility)
void LLAgent::sendAgentUpdateUserInfo(bool im_via_email, const std::string& directory_visibility){
std::string cap;
if (getID().isNull())
@ -5707,15 +5711,21 @@ void LLAgent::sendAgentUpdateUserInfo(bool im_via_email, const std::string& dire
if (!cap.empty())
{
LLCoros::instance().launch("updateAgentUserInfoCoro",
// <FS:Ansariel> Keep this for OpenSim
//boost::bind(&LLAgent::updateAgentUserInfoCoro, this, cap, directory_visibility));
boost::bind(&LLAgent::updateAgentUserInfoCoro, this, cap, im_via_email, directory_visibility));
}
else
{
// <FS:Ansariel> Keep this for OpenSim
//sendAgentUpdateUserInfoMessage(directory_visibility);
sendAgentUpdateUserInfoMessage(im_via_email, directory_visibility);
}
}
// <FS:Ansariel> Keep this for OpenSim
//void LLAgent::updateAgentUserInfoCoro(std::string capurl, std::string directory_visibility)
void LLAgent::updateAgentUserInfoCoro(std::string capurl, bool im_via_email, std::string directory_visibility)
{
LLCore::HttpRequest::policy_t httpPolicy(LLCore::HttpRequest::DEFAULT_POLICY_ID);
@ -5727,8 +5737,11 @@ void LLAgent::updateAgentUserInfoCoro(std::string capurl, bool im_via_email, std
httpOpts->setFollowRedirects(true);
LLSD body(LLSDMap
("dir_visibility", LLSD::String(directory_visibility))
("im_via_email", LLSD::Boolean(im_via_email)));
("dir_visibility", LLSD::String(directory_visibility)));
// <FS:Ansariel> Keep this for OpenSim
if (!LLGridManager::instance().isInSecondLife())
body.insert("im_via_email", LLSD::Boolean(im_via_email));
LLSD result = httpAdapter->postAndSuspend(httpRequest, capurl, body, httpOpts, httpHeaders);
@ -5756,6 +5769,8 @@ void LLAgent::sendAgentUserInfoRequestMessage()
sendReliableMessage();
}
// <FS:Ansariel> Keep this for OpenSim
//void LLAgent::sendAgentUpdateUserInfoMessage(const std::string& directory_visibility)
void LLAgent::sendAgentUpdateUserInfoMessage(bool im_via_email, const std::string& directory_visibility)
{
gMessageSystem->newMessageFast(_PREHASH_UpdateUserInfo);
@ -5763,7 +5778,10 @@ void LLAgent::sendAgentUpdateUserInfoMessage(bool im_via_email, const std::strin
gMessageSystem->addUUIDFast(_PREHASH_AgentID, getID());
gMessageSystem->addUUIDFast(_PREHASH_SessionID, getSessionID());
gMessageSystem->nextBlockFast(_PREHASH_UserData);
gMessageSystem->addBOOLFast(_PREHASH_IMViaEMail, im_via_email);
// <FS:Ansariel> Keep this for OpenSim
if (!LLGridManager::instance().isInSecondLife())
gMessageSystem->addBOOLFast(_PREHASH_IMViaEMail, im_via_email);
// </FS:Ansariel>
gMessageSystem->addString("DirectoryVisibility", directory_visibility);
gAgent.sendReliableMessage();

View File

@ -1036,6 +1036,8 @@ public:
void sendAgentUserInfoRequest();
// IM to Email and Online visibility
// <FS:Ansariel> Keep this for OpenSim
//void sendAgentUpdateUserInfo(const std::string& directory_visibility);
void sendAgentUpdateUserInfo(bool im_to_email, const std::string& directory_visibility);
// <FS:Ansariel> [Legacy Bake]
void dumpSentAppearance(const std::string& dump_prefix);
@ -1044,9 +1046,13 @@ public:
private:
void requestAgentUserInfoCoro(std::string capurl);
// <FS:Ansariel> Keep this for OpenSim
//void updateAgentUserInfoCoro(std::string capurl, std::string directory_visibility);
void updateAgentUserInfoCoro(std::string capurl, bool im_via_email, std::string directory_visibility);
// DEPRECATED: may be removed when User Info cap propagates
void sendAgentUserInfoRequestMessage();
// <FS:Ansariel> Keep this for OpenSim
//void sendAgentUpdateUserInfoMessage(const std::string& directory_visibility);
void sendAgentUpdateUserInfoMessage(bool im_via_email, const std::string& directory_visibility);
//--------------------------------------------------------------------

View File

@ -426,6 +426,7 @@ std::string LLFloaterPreference::sSkin = "";
LLFloaterPreference::LLFloaterPreference(const LLSD& key)
: LLFloater(key),
mGotPersonalInfo(false),
// <FS:Ansariel> Keep this for OpenSim
mOriginalIMViaEmail(false),
mLanguageChanged(false),
mAvatarDataInitialized(false),
@ -748,7 +749,11 @@ BOOL LLFloaterPreference::postBuild()
// </FS:Zi> Group Notices and chiclets location setting conversion BOOL => S32
// <FS:Ansariel> Show email address in preferences (FIRE-1071)
getChild<LLCheckBoxCtrl>("send_im_to_email")->setLabelArg("[EMAIL]", getString("LoginToChange"));
getChild<LLCheckBoxCtrl>("send_im_to_email")->setEnabled(FALSE);
getChild<LLCheckBoxCtrl>("send_im_to_email")->setVisible(FALSE);
childSetVisible("email_settings", false);
childSetEnabled("email_settings", false);
childSetVisible("email_settings_login_to_change", true);
// <FS:Kadah> Load the list of font settings
populateFontSelectionCombo();
@ -969,9 +974,12 @@ void LLFloaterPreference::apply()
if (mGotPersonalInfo)
{
// <FS:Ansariel> Keep this for OpenSim
bool new_im_via_email = getChild<LLUICtrl>("send_im_to_email")->getValue().asBoolean();
bool new_hide_online = getChild<LLUICtrl>("online_visibility")->getValue().asBoolean();
// <FS:Ansariel> Keep this for OpenSim
//if (new_hide_online != mOriginalHideOnlineStatus)
if ((new_im_via_email != mOriginalIMViaEmail)
||(new_hide_online != mOriginalHideOnlineStatus))
{
@ -987,6 +995,8 @@ void LLFloaterPreference::apply()
//Update showonline value, otherwise multiple applys won't work
mOriginalHideOnlineStatus = new_hide_online;
}
// <FS:Ansariel> Keep this for OpenSim
//gAgent.sendAgentUpdateUserInfo(mDirectoryVisibility);
gAgent.sendAgentUpdateUserInfo(new_im_via_email,mDirectoryVisibility);
}
}
@ -1553,16 +1563,16 @@ void LLFloaterPreference::onBtnCancel(const LLSD& userdata)
}
// static
// <FS:Ansariel> Show email address in preferences (FIRE-1071)
//void LLFloaterPreference::updateUserInfo(const std::string& visibility, bool im_via_email, bool is_verified_email)
void LLFloaterPreference::updateUserInfo(const std::string& visibility, bool im_via_email, bool is_verified_email, const std::string& email)
// <FS:Ansariel> Show email address in preferences (FIRE-1071) and keep it for OpenSim
//void LLFloaterPreference::updateUserInfo(const std::string& visibility)
void LLFloaterPreference::updateUserInfo(const std::string& visibility, bool im_via_email, const std::string& email)
{
LLFloaterPreference* instance = LLFloaterReg::findTypedInstance<LLFloaterPreference>("preferences");
if (instance)
{
// <FS:Ansariel> Show email address in preferences (FIRE-1071)
//instance->setPersonalInfo(visibility, im_via_email, is_verified_email);
instance->setPersonalInfo(visibility, im_via_email, is_verified_email, email);
// <FS:Ansariel> Show email address in preferences (FIRE-1071) and keep it for OpenSim
//instance->setPersonalInfo(visibility);
instance->setPersonalInfo(visibility, im_via_email, email);
}
}
@ -2668,12 +2678,13 @@ bool LLFloaterPreference::moveTranscriptsAndLog()
return true;
}
// <FS:Ansariel> Show email address in preferences (FIRE-1071)
//void LLFloaterPreference::setPersonalInfo(const std::string& visibility, bool im_via_email, bool is_verified_email)
void LLFloaterPreference::setPersonalInfo(const std::string& visibility, bool im_via_email, bool is_verified_email, const std::string& email)
// <FS:Ansariel> Show email address in preferences (FIRE-1071) and keep it for OpenSim
//void LLFloaterPreference::setPersonalInfo(const std::string& visibility)
void LLFloaterPreference::setPersonalInfo(const std::string& visibility, bool im_via_email, const std::string& email)
// </FS:Ansariel> Show email address in preferences (FIRE-1071)
{
mGotPersonalInfo = true;
// <FS:Ansariel> Keep this for OpenSim
mOriginalIMViaEmail = im_via_email;
mDirectoryVisibility = visibility;
@ -2696,16 +2707,6 @@ void LLFloaterPreference::setPersonalInfo(const std::string& visibility, bool im
getChildView("friends_online_notify_checkbox")->setEnabled(TRUE);
getChild<LLUICtrl>("online_visibility")->setValue(mOriginalHideOnlineStatus);
getChild<LLUICtrl>("online_visibility")->setLabelArg("[DIR_VIS]", mDirectoryVisibility);
getChildView("send_im_to_email")->setEnabled(is_verified_email);
std::string tooltip;
if (!is_verified_email)
tooltip = getString("email_unverified_tooltip");
getChildView("send_im_to_email")->setToolTip(tooltip);
// *TODO: Show or hide verify email text here based on is_verified_email
getChild<LLUICtrl>("send_im_to_email")->setValue(im_via_email);
getChildView("favorites_on_login_check")->setEnabled(TRUE);
//getChildView("log_path_button")->setEnabled(TRUE); // <FS:Ansariel> Does not exist as of 12-09-2014
getChildView("chat_font_size")->setEnabled(TRUE);
@ -2722,15 +2723,29 @@ void LLFloaterPreference::setPersonalInfo(const std::string& visibility, bool im
{
getChildView("reset_logpath")->setEnabled(TRUE);
}
// <FS:Ansariel> Show email address in preferences (FIRE-1071)
std::string display_email(email);
if(display_email.size() > 30)
// <FS:Ansariel> Keep this for OpenSim
if (LLGridManager::instance().isInSecondLife())
{
display_email.resize(30);
display_email += "...";
childSetEnabled("email_settings", true);
childSetVisible("email_settings", true);
}
getChild<LLCheckBoxCtrl>("send_im_to_email")->setLabelArg("[EMAIL]", display_email);
// </FS:Ansariel> Show email address in preferences (FIRE-1071)
else
{
std::string display_email(email);
if (display_email.size() > 30)
{
display_email.resize(30);
display_email += "...";
}
LLCheckBoxCtrl* send_im_to_email = getChild<LLCheckBoxCtrl>("send_im_to_email");
send_im_to_email->setVisible(TRUE);
send_im_to_email->setEnabled(TRUE);
send_im_to_email->setValue(im_via_email);
send_im_to_email->setLabelArg("[EMAIL]", display_email);
}
childSetVisible("email_settings_login_to_change", false);
// </FS:Ansariel>
// <FS:Ansariel> FIRE-420: Show end of last conversation in history
getChildView("LogShowHistory")->setEnabled(TRUE);

View File

@ -97,9 +97,9 @@ public:
/*virtual*/ void changed(const LLUUID& session_id, U32 mask) {};
// static data update, called from message handler
// <FS:Ansariel> Show email address in preferences (FIRE-1071)
//static void updateUserInfo(const std::string& visibility, bool im_via_email, bool is_verified_email);
static void updateUserInfo(const std::string& visibility, bool im_via_email, bool is_verified_email, const std::string& email);
// <FS:Ansariel> Show email address in preferences (FIRE-1071) and keep for OpenSim
//static void updateUserInfo(const std::string& visibility);
static void updateUserInfo(const std::string& visibility, bool im_via_email, const std::string& email);
// refresh all the graphics preferences menus
static void refreshEnabledGraphics();
@ -228,9 +228,9 @@ public:
//[FIX FIRE-2765 : SJ] Making sure Reset button resets works
void onClickResetLogPath();
void enableHistory();
// <FS:Ansariel> Show email address in preferences (FIRE-1071)
//void setPersonalInfo(const std::string& visibility, bool im_via_email, bool is_verified_email);
void setPersonalInfo(const std::string& visibility, bool im_via_email, bool is_verified_email, const std::string& email);
// <FS:Ansariel> Show email address in preferences (FIRE-1071) and keep for OpenSim
//void setPersonalInfo(const std::string& visibility);
void setPersonalInfo(const std::string& visibility, bool im_via_email, const std::string& email);
// </FS:Ansariel> Show email address in preferences (FIRE-1071)
void refreshEnabledState();
// <FS:Ansariel> Improved graphics preferences
@ -306,6 +306,7 @@ private:
static std::string sSkin;
notifications_map mNotificationOptions;
bool mGotPersonalInfo;
// <FS:Ansariel> Keep it for OpenSim
bool mOriginalIMViaEmail;
bool mLanguageChanged;
bool mAvatarDataInitialized;

View File

@ -8139,17 +8139,20 @@ void process_user_info_reply(LLMessageSystem* msg, void**)
<< "wrong agent id." << LL_ENDL;
}
BOOL im_via_email;
msg->getBOOLFast(_PREHASH_UserData, _PREHASH_IMViaEMail, im_via_email);
// <FS:Ansariel> Keep this for OpenSim
BOOL im_via_email = FALSE;
if (!LLGridManager::instance().isInSecondLife())
msg->getBOOLFast(_PREHASH_UserData, _PREHASH_IMViaEMail, im_via_email);
// </FS:Ansariel>
std::string email;
msg->getStringFast(_PREHASH_UserData, _PREHASH_EMail, email);
std::string dir_visibility;
msg->getString( "UserData", "DirectoryVisibility", dir_visibility);
// For Message based user info information the is_verified is assumed to be false.
// <FS:Ansariel> Show email address in preferences (FIRE-1071)
//LLFloaterPreference::updateUserInfo(dir_visibility, im_via_email, false);
LLFloaterPreference::updateUserInfo(dir_visibility, im_via_email, !LLGridManager::instance().isInSecondLife(), email); // Assume verified in OpenSim
// <FS:Ansariel> Show email address in preferences (FIRE-1071) and keep it for OpenSim
//LLFloaterPreference::updateUserInfo(dir_visibility);
LLFloaterPreference::updateUserInfo(dir_visibility, im_via_email, email); // Assume verified in OpenSim
// </FS:Ansariel> Show email address in preferences (FIRE-1071)
LLFloaterSnapshot::setAgentEmail(email);
}

View File

@ -11,16 +11,6 @@
single_instance="true"
title="Preferences"
width="662">
<floater.string
name="email_unverified_tooltip">
Please verify your email to enable IM to Email by visiting
https://accounts.secondlife.com/change_email/
</floater.string>
<floater.string name="LoginToChange">
Login to change
</floater.string>
<button
follows="right|bottom"
height="23"

View File

@ -1126,10 +1126,38 @@
height="18"
label="Email me IMs when I'm offline ([EMAIL])"
name="send_im_to_email" />
<text
font="SansSerifSmall"
follows="left|top"
height="18"
layout="topleft"
left_delta="5"
length="1"
name="email_settings"
skip_link_underline="true"
top_delta="5"
type="string"
width="400">
[https://accounts.secondlife.com/change_email Open email notification settings for offline IMs]
</text>
<text
font="SansSerifSmall"
follows="left|top"
height="18"
layout="topleft"
length="1"
name="email_settings_login_to_change"
skip_link_underline="true"
top_delta="0"
type="string"
width="400">
Login to change offline IMs to Email settings
</text>
<check_box
layout="topleft"
follows="left|top"
top_pad="-1"
left_delta="-5"
width="400"
height="18"
name="FSShowIMInChatHistory"