Surfacegui changes made in server script not showing up?

I have made a global player leaderboard which worked perfectly fine until about yesterday, when the frames containing the player names/scores suddenly stopped showing up. No clue why this is happening.

local function addPlr(plr, value)
	if value ~= nil and tonumber(plr) > 0 then
		local element = globalLeaderboard:FindFirstChild("PlayerEntry"):Clone()
		print(element.Name)
		local image = element:FindFirstChild("PlayerImage")
		local name = element:FindFirstChild("Name")
		local amount = element:FindFirstChild("Score")
		local plrImage = players:GetUserThumbnailAsync(plr, imageType, imageSize)

		name.Text = players:GetNameFromUserIdAsync(plr)
		amount.Text = tostring(value).. " R$"
		image.Image = plrImage

		element.Parent = globalLeaderboard:FindFirstChild("SurfaceGui"):FindFirstChild("Main")
		print(element.Parent.Name)
	end
end 

local function updateMenu()
	print("Update menu called")
	local page

	local success, err = pcall(function()
		page = leaderboard:GetSortedAsync(smallestFirst, 100, 1)
	end)

	clearList()
	if page ~= nil then
		for i,v in pairs(page:GetCurrentPage()) do
			local userId = v["key"]
			local value = v["value"]

			if userId and value then
				addPlr(userId, value)
			end
		end
	end
end

Some context: UpdateMenu is being called every 15 seconds, “print(element.Parent.Name)” is not nil, and the players are being retrieved successfully from the datastore. No errors are being thrown in the script, it’s successfully creating and parenting the player list elements, they’re just not visible for some reason.