From a37ae453b04c9e2889e87b0649d3d1c6769ec0a0 Mon Sep 17 00:00:00 2001 From: wrexbe Date: Fri, 22 Mar 2024 21:33:49 -0700 Subject: [PATCH 1/3] Escape markup for in-game chat, and labeler --- Content.Server/Chat/Systems/ChatSystem.cs | 2 ++ Content.Server/Labels/Label/LabelSystem.cs | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Content.Server/Chat/Systems/ChatSystem.cs b/Content.Server/Chat/Systems/ChatSystem.cs index 111e56a2a35a2d..0fc3fb0e1b090b 100644 --- a/Content.Server/Chat/Systems/ChatSystem.cs +++ b/Content.Server/Chat/Systems/ChatSystem.cs @@ -717,6 +717,8 @@ private string SanitizeInGameICMessage(EntityUid source, string message, out str _sanitizer.TrySanitizeOutSmilies(newMessage, source, out newMessage, out emoteStr); + newMessage = FormattedMessage.EscapeText(newMessage); + return newMessage; } diff --git a/Content.Server/Labels/Label/LabelSystem.cs b/Content.Server/Labels/Label/LabelSystem.cs index 59a1a3b213401d..cd742006e6bcc8 100644 --- a/Content.Server/Labels/Label/LabelSystem.cs +++ b/Content.Server/Labels/Label/LabelSystem.cs @@ -7,6 +7,7 @@ using Content.Shared.Labels.EntitySystems; using JetBrains.Annotations; using Robust.Shared.Containers; +using Robust.Shared.Utility; namespace Content.Server.Labels { @@ -74,7 +75,7 @@ public void Label(EntityUid uid, string? text, MetaDataComponent? metadata = nul // Update label label.OriginalName ??= metadata.EntityName; - label.CurrentLabel = text; + label.CurrentLabel = FormattedMessage.EscapeText(text); _metaData.SetEntityName(uid, $"{label.OriginalName} ({text})", metadata); Dirty(uid, label); From 6abf1a9ef7bf1e945c4d489146ae7961c1e39697 Mon Sep 17 00:00:00 2001 From: wrexbe Date: Fri, 29 Mar 2024 21:58:28 -0700 Subject: [PATCH 2/3] different way --- Content.Server/Chat/Systems/ChatSystem.cs | 2 -- Content.Server/Labels/Label/LabelSystem.cs | 2 +- .../SharedHandsSystem.Interactions.cs | 29 ++++++++----------- 3 files changed, 13 insertions(+), 20 deletions(-) diff --git a/Content.Server/Chat/Systems/ChatSystem.cs b/Content.Server/Chat/Systems/ChatSystem.cs index 0fc3fb0e1b090b..111e56a2a35a2d 100644 --- a/Content.Server/Chat/Systems/ChatSystem.cs +++ b/Content.Server/Chat/Systems/ChatSystem.cs @@ -717,8 +717,6 @@ private string SanitizeInGameICMessage(EntityUid source, string message, out str _sanitizer.TrySanitizeOutSmilies(newMessage, source, out newMessage, out emoteStr); - newMessage = FormattedMessage.EscapeText(newMessage); - return newMessage; } diff --git a/Content.Server/Labels/Label/LabelSystem.cs b/Content.Server/Labels/Label/LabelSystem.cs index cd742006e6bcc8..8a42cbb23e2c5c 100644 --- a/Content.Server/Labels/Label/LabelSystem.cs +++ b/Content.Server/Labels/Label/LabelSystem.cs @@ -75,7 +75,7 @@ public void Label(EntityUid uid, string? text, MetaDataComponent? metadata = nul // Update label label.OriginalName ??= metadata.EntityName; - label.CurrentLabel = FormattedMessage.EscapeText(text); + label.CurrentLabel = text; _metaData.SetEntityName(uid, $"{label.OriginalName} ({text})", metadata); Dirty(uid, label); diff --git a/Content.Shared/Hands/EntitySystems/SharedHandsSystem.Interactions.cs b/Content.Shared/Hands/EntitySystems/SharedHandsSystem.Interactions.cs index 32339eb03ac5bf..6d4d332479fdac 100644 --- a/Content.Shared/Hands/EntitySystems/SharedHandsSystem.Interactions.cs +++ b/Content.Shared/Hands/EntitySystems/SharedHandsSystem.Interactions.cs @@ -8,6 +8,7 @@ using Robust.Shared.Input.Binding; using Robust.Shared.Map; using Robust.Shared.Player; +using Robust.Shared.Utility; namespace Content.Shared.Hands.EntitySystems; @@ -181,27 +182,21 @@ public bool TryMoveHeldEntityToActiveHand(EntityUid uid, string handName, bool c } //TODO: Actually shows all items/clothing/etc. - private void HandleExamined(EntityUid uid, HandsComponent handsComp, ExaminedEvent args) + private void HandleExamined(EntityUid examinedUid, HandsComponent handsComp, ExaminedEvent args) { - var held = EnumerateHeld(uid, handsComp) - .Where(x => !HasComp(x)).ToList(); + var heldItemNames = EnumerateHeld(examinedUid, handsComp) + .Where(entity => !HasComp(entity)) + .Select(item => FormattedMessage.EscapeText(Identity.Name(item, EntityManager))) + .Select(itemName => Loc.GetString("comp-hands-examine-wrapper", ("item", itemName))) + .ToList(); + + var locKey = heldItemNames.Count != 0 ? "comp-hands-examine" : "comp-hands-examine-empty"; + var locUser = ("user", Identity.Entity(examinedUid, EntityManager)); + var locItems = ("items", ContentLocalizationManager.FormatList(heldItemNames)); using (args.PushGroup(nameof(HandsComponent))) { - if (!held.Any()) - { - args.PushText(Loc.GetString("comp-hands-examine-empty", - ("user", Identity.Entity(uid, EntityManager)))); - return; - } - - var heldList = ContentLocalizationManager.FormatList(held - .Select(x => Loc.GetString("comp-hands-examine-wrapper", - ("item", Identity.Entity(x, EntityManager)))).ToList()); - - args.PushMarkup(Loc.GetString("comp-hands-examine", - ("user", Identity.Entity(uid, EntityManager)), - ("items", heldList))); + args.PushMarkup(Loc.GetString(locKey, locUser, locItems)); } } } From 4ce0d8a7d64147d8120f863ec984c40d23eb849a Mon Sep 17 00:00:00 2001 From: wrexbe Date: Fri, 29 Mar 2024 21:59:20 -0700 Subject: [PATCH 3/3] remove a using --- Content.Server/Labels/Label/LabelSystem.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/Content.Server/Labels/Label/LabelSystem.cs b/Content.Server/Labels/Label/LabelSystem.cs index 8a42cbb23e2c5c..59a1a3b213401d 100644 --- a/Content.Server/Labels/Label/LabelSystem.cs +++ b/Content.Server/Labels/Label/LabelSystem.cs @@ -7,7 +7,6 @@ using Content.Shared.Labels.EntitySystems; using JetBrains.Annotations; using Robust.Shared.Containers; -using Robust.Shared.Utility; namespace Content.Server.Labels {