VeiwportFrame's Classname Shows up as "Frame"

So, I was trying to make a script that saves some values, and it listens with a .ChildAdded event, yes I’m using player.PlayerGui and there are no errors, so when this event gets activated I check if the child that’s added is a Frame or A Viewport frame, even though I’m watching the vpframe getting added it doesn’t fire, so to check it I made an event which fires after the client makes the vpframe and loop through all children on the server, what I found was shocking! it printed 3 times, which was exactly the same amount of children(yes I’m checking the right frame),
here is an image of the frame that I’m listening for(hope it shows):
image

it shows the vpframe and another frame with a UI list layout

image

even though its class name is “Viewport” frame its prints out “Frame”

I did a fast test:
image
image

I didn’t encounter this issue

Also

The class property is right

I don’t mean to bump this but it seems like the server cant correctly see GUI objects that have been added by a local script, to make what I did clear, I added GUI objects from the local script and triggered an event which on the server-side would loop through the players GUI.

Yes, the server cannot see the changes that a local script makes.