I am using the following expression to auto populate users names in Field Maps. This works fine online but fails in offline maps, why is this?
GetUser($layer).fullname
I don't think .fullname is supported offline. Try using GetUser($layer).username instead.
This is correct. Only username offline. Other properties like bio, name, makes a live request against the online profile.
When you're online, what does GetUser($layer) actually do? And is it different from calling the function with no parameters, i.e., GetUser()?
According to the docs, that function takes a Portal object and/or username as its parameters. I don't think $layer does anything meaningful here.
Also, GetUser is a portal function, and probably relies on an internet connection.