Fix sandbox check failure when compiling with latest .NET SDK. (#28077)

Roslyn now compiles char + string with string.Concat(ROS<char>). This means doing ref char -> ROS<char> which is not sandbox safe. Actually fixing this in the sandboxer is difficult so I'm gonna just pass on that for now.
This commit is contained in:
Pieter-Jan Briers
2024-05-16 19:55:32 +02:00
committed by GitHub
parent 6c5b84a346
commit b35dc427e1
2 changed files with 14 additions and 2 deletions

View File

@@ -152,10 +152,16 @@ public abstract class SharedChatSystem : EntitySystem
if (string.IsNullOrEmpty(message))
return message;
// Capitalize first letter
message = char.ToUpper(message[0]) + message.Remove(0, 1);
message = OopsConcat(char.ToUpper(message[0]).ToString(), message.Remove(0, 1));
return message;
}
private static string OopsConcat(string a, string b)
{
// This exists to prevent Roslyn being clever and compiling something that fails sandbox checks.
return a + b;
}
public string SanitizeMessageCapitalizeTheWordI(string message, string theWordI = "i")
{
if (string.IsNullOrEmpty(message))