Fix error where we were setting username to the displayName
fix formatting
allow geolocation to be a json object with 'latitude', 'longitude', optional 'altitude', optional 'description' [see #69294776]
add error checking [fixes #71419144]