diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index fe97e7915923723ef1468883ef2974d49c8c3945..94abf710abe8db833065d3ab3e946534eec955ac 100644
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -5975,7 +5975,7 @@ bool script_question_cb(const LLSD& notification, const LLSD& response)
 // [RLVa:KB] - Checked: 2012-07-28 (RLVa-1.4.7)
 	if ( (allowed) && (notification["payload"].has("rlv_blocked")) )
 	{
-		RlvUtil::notifyBlocked(notification["payload"]["rlv_blocked"], LLSD().with("OBJECT", notification["payload"]["object_name"]));
+		RlvUtil::notifyBlocked(notification["payload"]["rlv_blocked"].asStringRef(), LLSD().with("OBJECT", notification["payload"]["object_name"]));
 	}
 // [/RLVa:KB]
 
diff --git a/indra/newview/rlvactions.cpp b/indra/newview/rlvactions.cpp
index 130dcc7d71fc4d1d711b5548af87a1ee83167cf1..5365a8c1cd5e931e28d2495a21343dd921701e6d 100644
--- a/indra/newview/rlvactions.cpp
+++ b/indra/newview/rlvactions.cpp
@@ -618,11 +618,7 @@ bool RlvActions::isRlvEnabled()
 	return RlvHandler::isEnabled();
 }
 
-#ifdef CATZNIP_STRINGVIEW
-void RlvActions::notifyBlocked(const boost::string_view& strNotifcation, const LLSD& sdArgs)
-#else
-void RlvActions::notifyBlocked(const std::string& strNotifcation, const LLSD& sdArgs)
-#endif // CATZNIP_STRINGVIEW
+void RlvActions::notifyBlocked(std::string_view strNotifcation, const LLSD& sdArgs)
 {
 	RlvUtil::notifyBlocked(strNotifcation, sdArgs);
 }
diff --git a/indra/newview/rlvactions.h b/indra/newview/rlvactions.h
index fb2e14f7aafabff85044fae8f0e84831ff17055e..4ac4cd23e6b42503fac4f6f315b6b5bf5e1a37fa 100644
--- a/indra/newview/rlvactions.h
+++ b/indra/newview/rlvactions.h
@@ -20,6 +20,8 @@
 #include "llchat.h"
 #include "rlvdefines.h"
 
+#include <absl/strings/string_view.h>
+
 // ============================================================================
 // Forward declarations
 //
@@ -329,11 +331,7 @@ class RlvActions
 	/*
 	 * Shows one of the blocked toast notifications (see rlva_strings.xml)
 	 */
-#ifdef CATZNIP_STRINGVIEW
-	static void notifyBlocked(const boost::string_view& strNotifcation, const LLSD& sdArgs = LLSD());
-#else
-	static void notifyBlocked(const std::string& strNotifcation, const LLSD& sdArgs = LLSD());
-#endif // CATZNIP_STRINGVIEW
+	static void notifyBlocked(std::string_view strNotifcation, const LLSD& sdArgs = LLSD());
 };
 
 // ============================================================================
diff --git a/indra/newview/rlvcommon.cpp b/indra/newview/rlvcommon.cpp
index 5d6c7e7ea70e528b8e6dd01c3cb7146a05dd085c..953a339daee1d427aa95ddad9f986c1e04b05948 100644
--- a/indra/newview/rlvcommon.cpp
+++ b/indra/newview/rlvcommon.cpp
@@ -360,11 +360,7 @@ const std::string& RlvStrings::getAnonym(const std::string& strName)
 }
 
 // Checked: 2011-11-08 (RLVa-1.5.0)
-#ifdef CATZNIP_STRINGVIEW
-const std::string& RlvStrings::getString(const boost::string_view& strStringName)
-#else
-const std::string& RlvStrings::getString(const std::string& strStringName)
-#endif // CATZNIP_STRINGVIEW
+const std::string& RlvStrings::getString(std::string_view strStringName)
 {
 	static const std::string strMissing = "(Missing RLVa string)";
 	string_map_t::const_iterator itString = m_StringMap.find(strStringName);
@@ -534,7 +530,7 @@ void RlvUtil::filterScriptQuestions(S32& nQuestions, LLSD& sdPayload)
 	if ((!gRlvAttachmentLocks.canAttach()) && (SCRIPT_PERMISSIONS[SCRIPT_PERMISSION_ATTACH].permbit & nQuestions))
 	{
 		// Notify the user that we blocked it since they're not allowed to wear any new attachments
-		sdPayload["rlv_blocked"] = RlvStringKeys::Blocked::PermissionAttach;
+		sdPayload["rlv_blocked"] = std::string(RlvStringKeys::Blocked::PermissionAttach);
 		nQuestions &= ~SCRIPT_PERMISSIONS[SCRIPT_PERMISSION_ATTACH].permbit;
 	}
 
@@ -542,7 +538,7 @@ void RlvUtil::filterScriptQuestions(S32& nQuestions, LLSD& sdPayload)
 	if ((gRlvHandler.hasBehaviour(RLV_BHVR_TPLOC)) && (SCRIPT_PERMISSIONS[SCRIPT_PERMISSION_TELEPORT].permbit & nQuestions))
 	{
 		// Notify the user that we blocked it since they're not allowed to teleport
-		sdPayload["rlv_blocked"] = RlvStringKeys::Blocked::PermissionTeleport;
+		sdPayload["rlv_blocked"] = std::string(RlvStringKeys::Blocked::PermissionTeleport);
 		nQuestions &= ~SCRIPT_PERMISSIONS[SCRIPT_PERMISSION_TELEPORT].permbit;
 	}
 
@@ -584,11 +580,7 @@ bool RlvUtil::isNearbyRegion(const std::string& strRegion)
 }
 
 // Checked: 2011-04-11 (RLVa-1.3.0h) | Modified: RLVa-1.3.0h
-#ifdef CATZNIP_STRINGVIEW
-void RlvUtil::notifyBlocked(const boost::string_view& strNotifcation, const LLSD& sdArgs, bool fLogToChat)
-#else
-void RlvUtil::notifyBlocked(const std::string& strNotifcation, const LLSD& sdArgs, bool fLogToChat)
-#endif // CATZNIP_STRINGVIEW
+void RlvUtil::notifyBlocked(std::string_view strNotifcation, const LLSD& sdArgs, bool fLogToChat)
 {
 	std::string strMsg = RlvStrings::getString(strNotifcation);
 	LLStringUtil::format(strMsg, sdArgs);
diff --git a/indra/newview/rlvcommon.h b/indra/newview/rlvcommon.h
index 216b5320d37c57a8534ab061536fc129c9a8931b..6bc9ef831a5b4bde6f480d877e3ca7eb0dac2d20 100644
--- a/indra/newview/rlvcommon.h
+++ b/indra/newview/rlvcommon.h
@@ -63,21 +63,13 @@ class RlvGCTimer;
 // RlvSettings
 //
 
-#ifdef CATZNIP_STRINGVIEW
-template<typename T> inline T rlvGetSetting(const boost::string_view& strSetting, const T& defaultValue)
-#else
-template<typename T> inline T rlvGetSetting(const std::string& strSetting, const T& defaultValue)
-#endif // CATZNIP_STRINGVIEW
+template<typename T> inline T rlvGetSetting(std::string_view strSetting, const T& defaultValue)
 {
 	RLV_ASSERT_DBG(gSavedSettings.controlExists(strSetting));
 	return (gSavedSettings.controlExists(strSetting)) ? gSavedSettings.get<T>(strSetting) : defaultValue;
 }
 
-#ifdef CATZNIP_STRINGVIEW
-template<typename T> inline T rlvGetPerUserSetting(const boost::string_view& strSetting, const T& defaultValue)
-#else
-template<typename T> inline T rlvGetPerUserSetting(const std::string& strSetting, const T& defaultValue)
-#endif // CATZNIP_STRINGVIEW
+template<typename T> inline T rlvGetPerUserSetting(std::string_view strSetting, const T& defaultValue)
 {
 	RLV_ASSERT_DBG(gSavedPerAccountSettings.controlExists(strSetting));
 	return (gSavedPerAccountSettings.controlExists(strSetting)) ? gSavedPerAccountSettings.get<T>(strSetting) : defaultValue;
@@ -153,11 +145,7 @@ class RlvStrings
 
 	static const std::string& getAnonym(const LLAvatarName& avName);		// @shownames
 	static const std::string& getAnonym(const std::string& strName);		// @shownames
-#ifdef CATZNIP_STRINGVIEW
-	static const std::string& getString(const boost::string_view& strStringName);
-#else
-	static const std::string& getString(const std::string& strStringName);
-#endif // CATZNIP_STRINGVIEW
+	static const std::string& getString(std::string_view strStringName);
 	static const char*        getStringFromReturnCode(ERlvCmdRet eRet);
 	static const std::string& getStringMapPath() { return m_StringMapPath; }
 	static std::string        getVersion(const LLUUID& idRlvObject, bool fLegacy = false);
@@ -192,12 +180,7 @@ class RlvUtil
 	static bool isForceTp()	{ return m_fForceTp; }
 	static void forceTp(const LLVector3d& posDest);									// Ignores restrictions that might otherwise prevent tp'ing
 
-#ifdef CATZNIP_STRINGVIEW
-	static void notifyBlocked(const std::string& strNotifcation, const LLSD& sdArgs = LLSD(), bool fLogToChat = false) { notifyBlocked(boost::string_view(strNotifcation), sdArgs, fLogToChat); }
-	static void notifyBlocked(const boost::string_view& strNotifcation, const LLSD& sdArgs = LLSD(), bool fLogToChat = false);
-#else
-	static void notifyBlocked(const std::string& strNotifcation, const LLSD& sdArgs = LLSD(), bool fLogToChat = false);
-#endif // CATZNIP_STRINGVIEW
+	static void notifyBlocked(std::string_view strNotifcation, const LLSD& sdArgs = LLSD(), bool fLogToChat = false);
 	static void notifyBlockedGeneric() { notifyBlocked(RlvStringKeys::Blocked::Generic); }
 	static void notifyBlockedViewXXX(LLAssetType::EType assetType) { notifyBlocked(RlvStringKeys::Blocked::ViewXxx, LLSD().with("[TYPE]", LLAssetType::lookup(assetType))); }
 	static void notifyFailedAssertion(const std::string& strAssert, const std::string& strFile, int nLine);
diff --git a/indra/newview/rlvdefines.h b/indra/newview/rlvdefines.h
index ca3180d5c18ccad603422bcf7ac4e4016a44a27e..6e426e21545db3e77ddaf2a862158f6bf7bd341c 100644
--- a/indra/newview/rlvdefines.h
+++ b/indra/newview/rlvdefines.h
@@ -16,9 +16,7 @@
 
 #pragma once
 
-#ifdef CATZNIP_STRINGVIEW
-#include "llstringview.h"
-#endif // CATZNIP_STRINGVIE
+#include <absl/strings/string_view.h>
 
 // ============================================================================
 // Defines
@@ -369,57 +367,31 @@ enum ERlvAttachGroupType
 
 namespace RlvSettingNames
 {
-#ifdef CATZNIP_STRINGVIEW
-	/*inline*/ constexpr boost::string_view Main = make_string_view("RestrainedLove");
-	/*inline*/ constexpr boost::string_view Debug = make_string_view("RestrainedLoveDebug");
-	/*inline*/ constexpr boost::string_view CanOoc = make_string_view("RestrainedLoveCanOOC");
-	/*inline*/ constexpr boost::string_view ForbidGiveToRlv = make_string_view("RestrainedLoveForbidGiveToRLV");
-	/*inline*/ constexpr boost::string_view NoSetEnv = make_string_view("RestrainedLoveNoSetEnv");
-	/*inline*/ constexpr boost::string_view ShowEllipsis = make_string_view("RestrainedLoveShowEllipsis");
-	/*inline*/ constexpr boost::string_view WearAddPrefix = make_string_view("RestrainedLoveStackWhenFolderBeginsWith");
-	/*inline*/ constexpr boost::string_view WearReplacePrefix = make_string_view("RestrainedLoveReplaceWhenFolderBeginsWith");
-
-	/*inline*/ constexpr boost::string_view DebugHideUnsetDup = make_string_view("RLVaDebugHideUnsetDuplicate");
-	/*inline*/ constexpr boost::string_view EnableIMQuery = make_string_view("RLVaEnableIMQuery");
-	/*inline*/ constexpr boost::string_view EnableLegacyNaming = make_string_view("RLVaEnableLegacyNaming");
-	/*inline*/ constexpr boost::string_view EnableSharedWear = make_string_view("RLVaEnableSharedWear");
-	/*inline*/ constexpr boost::string_view EnableTempAttach = make_string_view("RLVaEnableTemporaryAttachments");
-	/*inline*/ constexpr boost::string_view HideLockedLayer = make_string_view("RLVaHideLockedLayers");
-	/*inline*/ constexpr boost::string_view HideLockedAttach = make_string_view("RLVaHideLockedAttachments");
-	/*inline*/ constexpr boost::string_view HideLockedInventory = make_string_view("RLVaHideLockedInventory");
-	/*inline*/ constexpr boost::string_view LoginLastLocation = make_string_view("RLVaLoginLastLocation");
-	/*inline*/ constexpr boost::string_view SharedInvAutoRename = make_string_view("RLVaSharedInvAutoRename");
-	/*inline*/ constexpr boost::string_view ShowAssertionFail = make_string_view("RLVaShowAssertionFailures");
-	/*inline*/ constexpr boost::string_view ShowRedirectChatTyping = make_string_view("RLVaShowRedirectChatTyping");
-	/*inline*/ constexpr boost::string_view SplitRedirectChat = make_string_view("RLVaSplitRedirectChat");
-	/*inline*/ constexpr boost::string_view TopLevelMenu = make_string_view("RLVaTopLevelMenu");
-	/*inline*/ constexpr boost::string_view WearReplaceUnlocked = make_string_view("RLVaWearReplaceUnlocked");
-#else
-	constexpr const char Main[] = "RestrainedLove";
-	constexpr const char Debug[] = "RestrainedLoveDebug";
-	constexpr const char CanOoc[] = "RestrainedLoveCanOOC";
-	constexpr const char ForbidGiveToRlv[] = "RestrainedLoveForbidGiveToRLV";
-	constexpr const char NoSetEnv[] = "RestrainedLoveNoSetEnv";
-	constexpr const char ShowEllipsis[] = "RestrainedLoveShowEllipsis";
-	constexpr const char WearAddPrefix[] = "RestrainedLoveStackWhenFolderBeginsWith";
-	constexpr const char WearReplacePrefix[] = "RestrainedLoveReplaceWhenFolderBeginsWith";
-
-	constexpr const char DebugHideUnsetDup[] = "RLVaDebugHideUnsetDuplicate";
-	constexpr const char EnableIMQuery[] = "RLVaEnableIMQuery";
-	constexpr const char EnableLegacyNaming[] = "RLVaEnableLegacyNaming";
-	constexpr const char EnableSharedWear[] = "RLVaEnableSharedWear";
-	constexpr const char EnableTempAttach[] = "RLVaEnableTemporaryAttachments";
-	constexpr const char HideLockedLayer[] = "RLVaHideLockedLayers";
-	constexpr const char HideLockedAttach[] = "RLVaHideLockedAttachments";
-	constexpr const char HideLockedInventory[] = "RLVaHideLockedInventory";
-	constexpr const char LoginLastLocation[] = "RLVaLoginLastLocation";
-	constexpr const char SharedInvAutoRename[] = "RLVaSharedInvAutoRename";
-	constexpr const char ShowAssertionFail[] = "RLVaShowAssertionFailures";
-	constexpr const char ShowRedirectChatTyping[] = "RLVaShowRedirectChatTyping";
-	constexpr const char SplitRedirectChat[] = "RLVaSplitRedirectChat";
-	constexpr const char TopLevelMenu[] = "RLVaTopLevelMenu";
-	constexpr const char WearReplaceUnlocked[] = "RLVaWearReplaceUnlocked";
-#endif // CATZNIP_STRINGVIEW
+	using namespace std::string_view_literals;
+	/*inline*/ constexpr std::string_view Main = "RestrainedLove"sv;
+	/*inline*/ constexpr std::string_view Debug = "RestrainedLoveDebug"sv;
+	/*inline*/ constexpr std::string_view CanOoc = "RestrainedLoveCanOOC"sv;
+	/*inline*/ constexpr std::string_view ForbidGiveToRlv = "RestrainedLoveForbidGiveToRLV"sv;
+	/*inline*/ constexpr std::string_view NoSetEnv = "RestrainedLoveNoSetEnv"sv;
+	/*inline*/ constexpr std::string_view ShowEllipsis = "RestrainedLoveShowEllipsis"sv;
+	/*inline*/ constexpr std::string_view WearAddPrefix = "RestrainedLoveStackWhenFolderBeginsWith"sv;
+	/*inline*/ constexpr std::string_view WearReplacePrefix = "RestrainedLoveReplaceWhenFolderBeginsWith"sv;
+
+	/*inline*/ constexpr std::string_view DebugHideUnsetDup = "RLVaDebugHideUnsetDuplicate"sv;
+	/*inline*/ constexpr std::string_view EnableIMQuery = "RLVaEnableIMQuery"sv;
+	/*inline*/ constexpr std::string_view EnableLegacyNaming = "RLVaEnableLegacyNaming"sv;
+	/*inline*/ constexpr std::string_view EnableSharedWear = "RLVaEnableSharedWear"sv;
+	/*inline*/ constexpr std::string_view EnableTempAttach = "RLVaEnableTemporaryAttachments"sv;
+	/*inline*/ constexpr std::string_view HideLockedLayer = "RLVaHideLockedLayers"sv;
+	/*inline*/ constexpr std::string_view HideLockedAttach = "RLVaHideLockedAttachments"sv;
+	/*inline*/ constexpr std::string_view HideLockedInventory = "RLVaHideLockedInventory"sv;
+	/*inline*/ constexpr std::string_view LoginLastLocation = "RLVaLoginLastLocation"sv;
+	/*inline*/ constexpr std::string_view SharedInvAutoRename = "RLVaSharedInvAutoRename"sv;
+	/*inline*/ constexpr std::string_view ShowAssertionFail = "RLVaShowAssertionFailures"sv;
+	/*inline*/ constexpr std::string_view ShowRedirectChatTyping = "RLVaShowRedirectChatTyping"sv;
+	/*inline*/ constexpr std::string_view SplitRedirectChat = "RLVaSplitRedirectChat"sv;
+	/*inline*/ constexpr std::string_view TopLevelMenu = "RLVaTopLevelMenu"sv;
+	/*inline*/ constexpr std::string_view WearReplaceUnlocked = "RLVaWearReplaceUnlocked"sv;
 }
 
 // ============================================================================
@@ -430,67 +402,39 @@ namespace RlvStringKeys
 {
 	namespace Blocked
 	{
-#ifdef CATZNIP_STRINGVIEW
-		/*inline*/ constexpr boost::string_view AutoPilot = make_string_view("blocked_autopilot");
-		/*inline*/ constexpr boost::string_view Generic = make_string_view("blocked_generic");
-		/*inline*/ constexpr boost::string_view GroupChange = make_string_view("blocked_groupchange");
-		/*inline*/ constexpr boost::string_view InvFolder = make_string_view("blocked_invfolder");
-		/*inline*/ constexpr boost::string_view PermissionAttach = make_string_view("blocked_permattach");
-		/*inline*/ constexpr boost::string_view PermissionTeleport = make_string_view("blocked_permteleport");
-		/*inline*/ constexpr boost::string_view RecvIm = make_string_view("blocked_recvim");
-		/*inline*/ constexpr boost::string_view RecvImRemote = make_string_view("blocked_recvim_remote");
-		/*inline*/ constexpr boost::string_view SendIm = make_string_view("blocked_sendim");
-		/*inline*/ constexpr boost::string_view StartConference = make_string_view("blocked_startconf");
-		/*inline*/ constexpr boost::string_view StartIm = make_string_view("blocked_startim");
-		/*inline*/ constexpr boost::string_view Teleport = make_string_view("blocked_teleport");
-		/*inline*/ constexpr boost::string_view TeleportOffer = make_string_view("blocked_teleport_offer");
-		/*inline*/ constexpr boost::string_view TpLureRequestRemote = make_string_view("blocked_tplurerequest_remote");
-		/*inline*/ constexpr boost::string_view ViewXxx = make_string_view("blocked_viewxxx");
-		/*inline*/ constexpr boost::string_view Wireframe = make_string_view("blocked_wireframe");
-#else
-		constexpr const char AutoPilot[] = "blocked_autopilot";
-		constexpr const char Generic[] = "blocked_generic";
-		constexpr const char GroupChange[] = "blocked_groupchange";
-		constexpr const char InvFolder[] = "blocked_invfolder";
-		constexpr const char PermissionAttach[] = "blocked_permattach";
-		constexpr const char PermissionTeleport[] = "blocked_permteleport";
-		constexpr const char RecvIm[] = "blocked_recvim";
-		constexpr const char RecvImRemote[] = "blocked_recvim_remote";
-		constexpr const char SendIm[] = "blocked_sendim";
-		constexpr const char StartConference[] = "blocked_startconf";
-		constexpr const char StartIm[] = "blocked_startim";
-		constexpr const char Teleport[] = "blocked_teleport";
-		constexpr const char TeleportOffer[] = "blocked_teleport_offer";
-		constexpr const char TpLureRequestRemote[] = "blocked_tplurerequest_remote";
-		constexpr const char ViewXxx[] = "blocked_viewxxx";
-		constexpr const char Wireframe[] = "blocked_wireframe";
-#endif // CATZNIP_STRINGVIEW
+		using namespace std::string_view_literals;
+		/*inline*/ constexpr std::string_view AutoPilot = "blocked_autopilot"sv;
+		/*inline*/ constexpr std::string_view Generic = "blocked_generic"sv;
+		/*inline*/ constexpr std::string_view GroupChange = "blocked_groupchange"sv;
+		/*inline*/ constexpr std::string_view InvFolder = "blocked_invfolder"sv;
+		/*inline*/ constexpr std::string_view PermissionAttach = "blocked_permattach"sv;
+		/*inline*/ constexpr std::string_view PermissionTeleport = "blocked_permteleport"sv;
+		/*inline*/ constexpr std::string_view RecvIm = "blocked_recvim"sv;
+		/*inline*/ constexpr std::string_view RecvImRemote = "blocked_recvim_remote"sv;
+		/*inline*/ constexpr std::string_view SendIm = "blocked_sendim"sv;
+		/*inline*/ constexpr std::string_view StartConference = "blocked_startconf"sv;
+		/*inline*/ constexpr std::string_view StartIm = "blocked_startim"sv;
+		/*inline*/ constexpr std::string_view Teleport = "blocked_teleport"sv;
+		/*inline*/ constexpr std::string_view TeleportOffer = "blocked_teleport_offer"sv;
+		/*inline*/ constexpr std::string_view TpLureRequestRemote = "blocked_tplurerequest_remote"sv;
+		/*inline*/ constexpr std::string_view ViewXxx = "blocked_viewxxx"sv;
+		/*inline*/ constexpr std::string_view Wireframe = "blocked_wireframe"sv;
 	}
 
 	namespace Hidden
 	{
-#ifdef CATZNIP_STRINGVIEW
-		/*inline*/ constexpr boost::string_view Generic = make_string_view("hidden_generic");
-		/*inline*/ constexpr boost::string_view Parcel = make_string_view("hidden_parcel");
-		/*inline*/ constexpr boost::string_view Region = make_string_view("hidden_region");
-#else
-		constexpr const char Generic[] = "hidden_generic";
-		constexpr const char Parcel[] = "hidden_parcel";
-		constexpr const char Region[] = "hidden_region";
-#endif // CATZNIP_STRINGVIEW
+		using namespace std::string_view_literals;
+		/*inline*/ constexpr std::string_view Generic = "hidden_generic"sv;
+		/*inline*/ constexpr std::string_view Parcel = "hidden_parcel"sv;
+		/*inline*/ constexpr std::string_view Region = "hidden_region"sv;
 	}
 
 	namespace StopIm
 	{
-#ifdef CATZNIP_STRINGVIEW
-		/*inline*/ constexpr boost::string_view NoSession = make_string_view("stopim_nosession");
-		/*inline*/ constexpr boost::string_view EndSessionRemote = make_string_view("stopim_endsession_remote");
-		/*inline*/ constexpr boost::string_view EndSessionLocal = make_string_view("stopim_endsession_local");
-#else
-		constexpr const char NoSession[] = "stopim_nosession";
-		constexpr const char EndSessionRemote[] = "stopim_endsession_remote";
-		constexpr const char EndSessionLocal[] = "stopim_endsession_local";
-#endif // CATZNIP_STRINGVIEW
+		using namespace std::string_view_literals;
+		/*inline*/ constexpr std::string_view NoSession = "stopim_nosession"sv;
+		/*inline*/ constexpr std::string_view EndSessionRemote = "stopim_endsession_remote"sv;
+		/*inline*/ constexpr std::string_view EndSessionLocal = "stopim_endsession_local"sv;
 	}
 }
 
diff --git a/indra/newview/rlvui.cpp b/indra/newview/rlvui.cpp
index ae6a4e358af11c55fe61be91d39c184ffb1c9cdc..f02bef1510bbfbcfec3d3cb0bce55edd2b6c88cd 100644
--- a/indra/newview/rlvui.cpp
+++ b/indra/newview/rlvui.cpp
@@ -279,11 +279,7 @@ void RlvUIEnabler::onUpdateLoginLastLocation(bool fQuitting)
 
 // ============================================================================
 
-#ifdef CATZNIP_STRINGVIEW
-bool RlvUIEnabler::addGenericFloaterFilter(const std::string& strFloaterName, const boost::string_view& strRlvNotification)
-#else
-bool RlvUIEnabler::addGenericFloaterFilter(const std::string& strFloaterName, const std::string& strRlvNotification)
-#endif // CATZNIP_STRINGVIEW
+bool RlvUIEnabler::addGenericFloaterFilter(const std::string& strFloaterName, std::string_view strRlvNotification)
 {
 	return addGenericFloaterFilter(strFloaterName, [strRlvNotification]() { RlvUtil::notifyBlocked(strRlvNotification); });
 }
diff --git a/indra/newview/rlvui.h b/indra/newview/rlvui.h
index 36478d6442d594cdad0ed7f5404c08c75bf5eb46..1bb2857846357b5c772705517c41aa27f71374b2 100644
--- a/indra/newview/rlvui.h
+++ b/indra/newview/rlvui.h
@@ -55,11 +55,7 @@ class RlvUIEnabler final : public LLSingleton<RlvUIEnabler>
 	 * Floater and sidebar validation callbacks
 	 */
 public:
-#ifdef CATZNIP_STRINGVIEW
-	bool addGenericFloaterFilter(const std::string& strFloaterName, const boost::string_view& strRlvNotification);
-#else
-	bool addGenericFloaterFilter(const std::string& strFloaterName, const std::string& strRlvNotification);
-#endif // CATZNIP_STRINGVIEW
+	bool addGenericFloaterFilter(const std::string& strFloaterName, std::string_view strRlvNotification);
 	bool addGenericFloaterFilter(const std::string& strFloaterName, const std::function<void()>& fn = nullptr);
 	bool removeGenericFloaterFilter(const std::string& strFloaterName);