User Input Not Filtering?

You can write your topic however you want, but you need to answer these questions:
I have a TextBox for a whiteboard, and it is NOT filtering text whatsoever.

There are absolutely no errors or nothing.

Filtering Script
local TextService = game:GetService("TextService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
 
local sign = game.Workspace.WhiteBoardd.Part.SurfaceGui.Middle
local signLabel = sign

local setSignText = ReplicatedStorage.Events.SetSignText
 
local function getTextObject(message, fromPlayerId)
	local textObject
	local success, errorMessage = pcall(function()
		textObject = TextService:FilterStringAsync(message, fromPlayerId)
	end)
	if success then
		return textObject
	elseif errorMessage then
		print("Error generating TextFilterResult:", errorMessage)
	end
	return false
end
 
local function getFilteredMessage(textObject)
	local filteredMessage
	local success, errorMessage = pcall(function()
		filteredMessage = textObject:GetNonChatStringForBroadcastAsync()
	end)
	if success then
		return filteredMessage
	elseif errorMessage then
		print("Error filtering message:", errorMessage)
	end
	return false
end
 
-- Fired when client sends a request to write on the sign
local function onSetSignText(player, text)
	if text ~= "" then
		-- Filter the incoming message and send the filtered message
		local messageObject = getTextObject(text, player.UserId)
		local filteredText = ""
		filteredText = getFilteredMessage(messageObject)
		signLabel.Text = filteredText
	end
end
 
setSignText.OnServerEvent:Connect(onSetSignText)
ServerSideGUI
local gui = script.Parent.SurfaceGui

local RemoteEventMiddle = game.ReplicatedStorage.Events.updateText

local ClientToServer = game.ReplicatedStorage.Events

local setSignText = game.ReplicatedStorage.Events.SetSignText

local updated1 = false

local function updateText(player, middle)
	script.Parent.SurfaceGui.Middle.Text = middle
	if player.Pink.Value == true then
		script.Parent.SurfaceGui.Middle.TextColor3 = Color3.fromRGB(255, 152, 220)
	elseif player.DarkBlue.Value == true then
		script.Parent.SurfaceGui.Middle.TextColor3 = Color3.fromRGB(8, 24, 124)
	elseif player.LightBlue.Value == true then
		script.Parent.SurfaceGui.Middle.TextColor3 = Color3.fromRGB(29, 183, 248)
	elseif player.Yellow.Value == true then
		script.Parent.SurfaceGui.Middle.TextColor3 = Color3.fromRGB(255, 255, 0)
	elseif player.Purple.Value == true then
		script.Parent.SurfaceGui.Middle.TextColor3 = Color3.fromRGB(170, 0, 170)
	elseif player.Green.Value == true then
		script.Parent.SurfaceGui.Middle.TextColor3 = Color3.fromRGB(75, 151, 75)
	elseif player.Black.Value == true then
		script.Parent.SurfaceGui.Middle.TextColor3 = Color3.fromRGB(0,0,0)
	end
	if not updated1 then
		updated1 = true
		wait(2.5)
		ClientToServer.ClientToServer:FireAllClients(script.Parent.SurfaceGui.Middle.Text)
		print(script.Parent.SurfaceGui.Middle.Text)
		updated1 = false
	end
end

RemoteEventMiddle.Parent.updateText.OnServerEvent:Connect(updateText)
ClientSideGUI
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local UserInputService = game:GetService("UserInputService")
 
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local screen = playerGui.SurfaceGui.Middle

 
local setSignText = ReplicatedStorage.Events:WaitForChild("SetSignText")
 
local function onClick()
	local message = screen.Text
	if message ~= "" then
		setSignText:FireServer(message)
		print(message)
	end
end

while true do
	wait()
	onClick()
	print('clicked')
end

Are you testing in studio? Filtering does not work in studio. Test on an actual Roblox client.

OMG thank you bro, i just realized im dumb.