fix return value when no email
handle no canvas avatar