From 302bfb6e81c28254b750392eea2468b434220bb3 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Thu, 30 Mar 2023 16:13:48 +0300 Subject: [PATCH 1/4] SL-19491 Revert SL-19346 This reverts part of commit 0c2b00efaa2b01204618f4950e5d945331a52f0d. --- indra/newview/llviewermessage.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 84495bf78f..e7456f77bb 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -5823,12 +5823,8 @@ void process_script_question(LLMessageSystem *msg, void **user_data) { count++; known_questions |= script_perm.permbit; - - if (!LLMuteList::isLinden(owner_name)) - { - // check whether permission question should cause special caution dialog - caution |= (script_perm.caution); - } + // check whether permission question should cause special caution dialog + caution |= (script_perm.caution); if (("ScriptTakeMoney" == script_perm.question) && has_not_only_debit) continue; From a6daa3a26d2b566df0a0563fc6d6c40fb385a1f0 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Fri, 31 Mar 2023 17:47:07 +0300 Subject: [PATCH 2/4] SL-19432 External group links dont load in SL --- indra/newview/llagentlistener.cpp | 4 ++-- indra/newview/llcommanddispatcherlistener.cpp | 9 +++++++-- indra/newview/llcommandhandler.cpp | 2 ++ indra/newview/llcommandhandler.h | 2 ++ indra/newview/llgroupactions.cpp | 2 +- indra/newview/llstartup.cpp | 2 +- indra/newview/llurldispatcher.cpp | 4 ++-- indra/newview/llviewerregion.cpp | 2 +- indra/newview/llviewerwindow.cpp | 5 +++-- indra/newview/llworldmapview.cpp | 2 +- 10 files changed, 22 insertions(+), 12 deletions(-) diff --git a/indra/newview/llagentlistener.cpp b/indra/newview/llagentlistener.cpp index 7887184a11..b7f5aeb8e0 100644 --- a/indra/newview/llagentlistener.cpp +++ b/indra/newview/llagentlistener.cpp @@ -148,7 +148,7 @@ void LLAgentListener::requestTeleport(LLSD const & event_data) const params.append(event_data["x"]); params.append(event_data["y"]); params.append(event_data["z"]); - LLCommandDispatcher::dispatch("teleport", params, LLSD(), NULL, "clicked", true); + LLCommandDispatcher::dispatch("teleport", params, LLSD(), NULL, LLCommandHandler::NAV_TYPE_CLICKED, true); // *TODO - lookup other LLCommandHandlers for "agent", "classified", "event", "group", "floater", "parcel", "login", login_refresh", "balance", "chat" // should we just compose LLCommandHandler and LLDispatchListener? } @@ -158,7 +158,7 @@ void LLAgentListener::requestTeleport(LLSD const & event_data) const LLVector3(event_data["x"].asReal(), event_data["y"].asReal(), event_data["z"].asReal())).getSLURLString(); - LLURLDispatcher::dispatch(url, "clicked", NULL, false); + LLURLDispatcher::dispatch(url, LLCommandHandler::NAV_TYPE_CLICKED, NULL, false); } } diff --git a/indra/newview/llcommanddispatcherlistener.cpp b/indra/newview/llcommanddispatcherlistener.cpp index 586f45fd8f..518f5bc374 100644 --- a/indra/newview/llcommanddispatcherlistener.cpp +++ b/indra/newview/llcommanddispatcherlistener.cpp @@ -64,8 +64,13 @@ void LLCommandDispatcherListener::dispatch(const LLSD& params) const // But for testing, allow a caller to specify untrusted. trusted_browser = params["trusted"].asBoolean(); } - LLCommandDispatcher::dispatch(params["cmd"], params["params"], params["query"], NULL, - "clicked", trusted_browser); + LLCommandDispatcher::dispatch( + params["cmd"], + params["params"], + params["query"], + NULL, + LLCommandHandler::NAV_TYPE_CLICKED, + trusted_browser); } void LLCommandDispatcherListener::enumerate(const LLSD& params) const diff --git a/indra/newview/llcommandhandler.cpp b/indra/newview/llcommandhandler.cpp index 74f37961c7..9640b05b06 100644 --- a/indra/newview/llcommandhandler.cpp +++ b/indra/newview/llcommandhandler.cpp @@ -40,6 +40,8 @@ static LLCommandDispatcherListener sCommandDispatcherListener; const std::string LLCommandHandler::NAV_TYPE_CLICKED = "clicked"; +const std::string LLCommandHandler::NAV_TYPE_EXTERNAL = "external"; +const std::string LLCommandHandler::NAV_TYPE_NAVIGATED = "navigated"; //--------------------------------------------------------------------------- // Underlying registry for command handlers, not directly accessible. diff --git a/indra/newview/llcommandhandler.h b/indra/newview/llcommandhandler.h index 763e3ee51f..486feecca6 100644 --- a/indra/newview/llcommandhandler.h +++ b/indra/newview/llcommandhandler.h @@ -70,6 +70,8 @@ public: }; static const std::string NAV_TYPE_CLICKED; + static const std::string NAV_TYPE_EXTERNAL; + static const std::string NAV_TYPE_NAVIGATED; LLCommandHandler(const char* command, EUntrustedAccess untrusted_access); // Automatically registers object to get called when diff --git a/indra/newview/llgroupactions.cpp b/indra/newview/llgroupactions.cpp index be52e280e1..aec6c23e34 100644 --- a/indra/newview/llgroupactions.cpp +++ b/indra/newview/llgroupactions.cpp @@ -52,7 +52,7 @@ class LLGroupHandler : public LLCommandHandler { public: // requires trusted browser to trigger - LLGroupHandler() : LLCommandHandler("group", UNTRUSTED_CLICK_ONLY) { } + LLGroupHandler() : LLCommandHandler("group", UNTRUSTED_THROTTLE) { } virtual bool canHandleUntrusted( const LLSD& params, diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 765aca039d..628ee5d97c 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -3018,7 +3018,7 @@ bool LLStartUp::dispatchURL() || (dx*dx > SLOP*SLOP) || (dy*dy > SLOP*SLOP) ) { - LLURLDispatcher::dispatch(getStartSLURL().getSLURLString(), "clicked", + LLURLDispatcher::dispatch(getStartSLURL().getSLURLString(), LLCommandHandler::NAV_TYPE_CLICKED, NULL, false); } return true; diff --git a/indra/newview/llurldispatcher.cpp b/indra/newview/llurldispatcher.cpp index 7c92e7ef98..0da769999b 100644 --- a/indra/newview/llurldispatcher.cpp +++ b/indra/newview/llurldispatcher.cpp @@ -142,7 +142,7 @@ bool LLURLDispatcherImpl::dispatchRightClick(const LLSLURL& slurl) const bool right_click = true; LLMediaCtrl* web = NULL; const bool trusted_browser = false; - return dispatchCore(slurl, "clicked", right_click, web, trusted_browser); + return dispatchCore(slurl, LLCommandHandler::NAV_TYPE_CLICKED, right_click, web, trusted_browser); } // static @@ -397,7 +397,7 @@ bool LLURLDispatcher::dispatchFromTextEditor(const std::string& slurl, bool trus // *TODO: Make this trust model more refined. JC LLMediaCtrl* web = NULL; - return LLURLDispatcherImpl::dispatch(LLSLURL(slurl), "clicked", web, trusted_content); + return LLURLDispatcherImpl::dispatch(LLSLURL(slurl), LLCommandHandler::NAV_TYPE_CLICKED, web, trusted_content); } diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp index ad7321ca4b..b582e38c78 100755 --- a/indra/newview/llviewerregion.cpp +++ b/indra/newview/llviewerregion.cpp @@ -160,7 +160,7 @@ public: } // Process the SLapp as if it was a secondlife://{PLACE} SLurl - LLURLDispatcher::dispatch(url, "clicked", web, true); + LLURLDispatcher::dispatch(url, LLCommandHandler::NAV_TYPE_CLICKED, web, true); return true; } diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index ddc11ac0bd..b9fcc25310 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -39,6 +39,7 @@ #include "llagent.h" #include "llagentcamera.h" +#include "llcommandhandler.h" #include "llcommunicationchannel.h" #include "llfloaterreg.h" #include "llhudicon.h" @@ -1296,7 +1297,7 @@ LLWindowCallbacks::DragNDropResult LLViewerWindow::handleDragNDrop( LLWindow *wi { if (drop) { - LLURLDispatcher::dispatch( dropped_slurl.getSLURLString(), "clicked", NULL, true ); + LLURLDispatcher::dispatch( dropped_slurl.getSLURLString(), LLCommandHandler::NAV_TYPE_CLICKED, NULL, true ); return LLWindowCallbacks::DND_MOVE; } return LLWindowCallbacks::DND_COPY; @@ -1765,7 +1766,7 @@ void LLViewerWindow::handleDataCopy(LLWindow *window, S32 data_type, void *data) LLMediaCtrl* web = NULL; const bool trusted_browser = false; // don't treat slapps coming from external browsers as "clicks" as this would bypass throttling - if (LLURLDispatcher::dispatch(url, "", web, trusted_browser)) + if (LLURLDispatcher::dispatch(url, LLCommandHandler::NAV_TYPE_EXTERNAL, web, trusted_browser)) { // bring window to foreground, as it has just been "launched" from a URL mWindow->bringToFront(); diff --git a/indra/newview/llworldmapview.cpp b/indra/newview/llworldmapview.cpp index 6e994b4e68..8f46e66551 100755 --- a/indra/newview/llworldmapview.cpp +++ b/indra/newview/llworldmapview.cpp @@ -1829,7 +1829,7 @@ BOOL LLWorldMapView::handleDoubleClick( S32 x, S32 y, MASK mask ) // Invoke the event details floater if someone is clicking on an event. LLSD params(LLSD::emptyArray()); params.append(event_id); - LLCommandDispatcher::dispatch("event", params, LLSD(), NULL, "clicked", true); + LLCommandDispatcher::dispatch("event", params, LLSD(), NULL, LLCommandHandler::NAV_TYPE_CLICKED, true); break; } case MAP_ITEM_LAND_FOR_SALE: From 6d2bfe7ea20d143653bddc58e144be65e5c91d18 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Mon, 3 Apr 2023 21:26:17 +0300 Subject: [PATCH 3/4] SL-17659 The display name reset button --- indra/newview/llfloaterdisplayname.cpp | 32 +++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/indra/newview/llfloaterdisplayname.cpp b/indra/newview/llfloaterdisplayname.cpp index 19bc865d8b..ad2533debc 100644 --- a/indra/newview/llfloaterdisplayname.cpp +++ b/indra/newview/llfloaterdisplayname.cpp @@ -165,10 +165,21 @@ void LLFloaterDisplayName::onReset() { return; } - getChild("display_name_editor")->setValue(av_name.getCompleteName()); + getChild("display_name_editor")->setValue(av_name.getUserName()); - getChild("display_name_confirm")->clear(); - getChild("display_name_confirm")->setFocus(TRUE); + if (getChild("display_name_editor")->getEnabled()) + { + // UI is enabled, fill the first field + getChild("display_name_confirm")->clear(); + getChild("display_name_confirm")->setFocus(TRUE); + } + else + { + // UI is disabled, looks like we should allow resetting + // even if user already set a display name, enable save button + getChild("display_name_confirm")->setValue(av_name.getUserName()); + getChild("save_btn")->setEnabled(true); + } } @@ -183,6 +194,21 @@ void LLFloaterDisplayName::onSave() return; } + LLAvatarName av_name; + if (!LLAvatarNameCache::get(gAgent.getID(), &av_name)) + { + return; + } + + std::string user_name = av_name.getUserName(); + if (display_name_utf8.compare(user_name) == 0 + && LLAvatarNameCache::getInstance()->hasNameLookupURL()) + { + // A reset + LLViewerDisplayName::set("", boost::bind(&LLFloaterDisplayName::onCacheSetName, this, _1, _2, _3)); + return; + } + const U32 DISPLAY_NAME_MAX_LENGTH = 31; // characters, not bytes LLWString display_name_wstr = utf8string_to_wstring(display_name_utf8); if (display_name_wstr.size() > DISPLAY_NAME_MAX_LENGTH) From 86846ffb8d104d50def3de582f485336cd8bb888 Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Wed, 19 Apr 2023 15:35:47 -0400 Subject: [PATCH 4/4] SL-19594: Update to bugsplat build 579696 --- autobuild.xml | 204 +++++++++++++++++++++++++------------------------- 1 file changed, 101 insertions(+), 103 deletions(-) diff --git a/autobuild.xml b/autobuild.xml index d09d862f1b..fe5d10c613 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -1,6 +1,5 @@ - - + installables SDL @@ -184,9 +183,9 @@ archive hash - 7b4aceaed511d44c4d1354b2162b59c7 + 02b569ac2bd71f201e3dd86ade7b3eeb url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/107398/936936/bugsplat-1.0.7.576560-darwin64-576560.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/113876/983684/bugsplat-1.0.7.579696-darwin64-579696.tar.bz2 name darwin64 @@ -196,9 +195,9 @@ archive hash - 53918c7c74b943cdc0bb90caf9657a84 + 5b32c47ae8e8cf0d4106f08e8db18044 url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/107400/936949/bugsplat-4.0.3.0.576560-windows-576560.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/113878/983697/bugsplat-4.0.3.0.579696-windows-579696.tar.bz2 name windows @@ -208,16 +207,16 @@ archive hash - 19d6a55db101f02e7eb531daf3e8cfd1 + 79c005fd8a660f8551b3c9ede64fa4ef url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/107401/936948/bugsplat-.576560-windows64-576560.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/113879/983696/bugsplat-4.0.3.0.579696-windows64-579696.tar.bz2 name windows64 version - 4.0.3.0.576560 + 4.0.3.0.579696 colladadom @@ -307,6 +306,16 @@ name darwin64 + linux64 + + archive + + hash + ac54672e0b38f52726f5c99047c913e4 + url + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/89306/815431/cubemaptoequirectangular-1.1.0-windows64-564841.tar.bz2 + + windows archive @@ -331,16 +340,6 @@ name windows64 - linux64 - - archive - - hash - ac54672e0b38f52726f5c99047c913e4 - url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/89306/815431/cubemaptoequirectangular-1.1.0-windows64-564841.tar.bz2 - - version 1.1.0 @@ -1063,6 +1062,16 @@ name darwin64 + linux64 + + archive + + hash + e70898903475d8ac2e81ff33278fc987 + url + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/89309/815433/jpegencoderbasic-1.0-windows64-564842.tar.bz2 + + windows archive @@ -1087,16 +1096,6 @@ name windows64 - linux64 - - archive - - hash - e70898903475d8ac2e81ff33278fc987 - url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/89309/815433/jpegencoderbasic-1.0-windows64-564842.tar.bz2 - - version 1.0 @@ -2484,6 +2483,16 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors name darwin64 + linux64 + + archive + + hash + 46edf0f55417f8ef0d33a5c007bc3644 + url + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/89310/815451/threejs-0.132.2-windows64-564843.tar.bz2 + + windows archive @@ -2508,16 +2517,6 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors name windows64 - linux64 - - archive - - hash - 46edf0f55417f8ef0d33a5c007bc3644 - url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/89310/815451/threejs-0.132.2-windows64-564843.tar.bz2 - - version 0.132.2 @@ -3021,68 +3020,6 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors name common - linux64 - - build_directory - build-linux-x86_64 - configurations - - Release - - build - - command - ninja - - configure - - arguments - - ../indra - - options - - -G - Ninja - -DLL_TESTS=Off - - - default - True - name - Release - - ReleaseOS - - build - - command - ninja - - configure - - options - - -G - Ninja - -DLL_TESTS=Off - - - name - ReleaseOS - - default - - build - - - name - default - - - name - linux64 - darwin64 build_directory @@ -3203,6 +3140,68 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors name darwin64 + linux64 + + build_directory + build-linux-x86_64 + configurations + + Release + + build + + command + ninja + + configure + + arguments + + ../indra + + options + + -G + Ninja + -DLL_TESTS=Off + + + default + True + name + Release + + ReleaseOS + + build + + command + ninja + + configure + + options + + -G + Ninja + -DLL_TESTS=Off + + + name + ReleaseOS + + default + + build + + + name + default + + + name + linux64 + windows build_directory @@ -3372,5 +3371,4 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors autobuild version 1.3 - - +