   proposalIds = _.uniq(_.compact(_.flatten(items.map((i) -> [i.class1, i.class2, i.class3]))))
   proposals = Proposal.find({_id: $in: proposalIds}, {fields: proposalFields(@userId, true)})
   userIds = _.flatten(proposals.map((p) -> p.speaker_ids))
-  users = User.find({_id: $in: userIds}, {fields: userFields})
+  users = User.find({_id: $in: userIds}, {fields: userFields()})
   [items, proposals, users]
 
 Meteor.publish "sponsors", (query, options) ->

userFields =
  roles: 1
  profile: 1
  'services.google.picture': 1
  'services.google.email': 1
  'services.facebook.id': 1
  'services.facebook.email': 1
  'services.twitter.profile_image_url': 1
  'services.github.picture': 1
  'services.github.email': 1

proposalFields = (userId, minimal)->
  fields =

  query = {} if not query
  proposals = Proposal.find(query, _.extend(options, {fields: proposalFields(@userId)}))
  userIds = _.flatten(proposals.map((p) -> p.speaker_ids))
  users = User.find({_id: $in: userIds}, {fields: userFields()})
  [proposals, users]

Meteor.publish "agenda", ->
