   getInitialState: ->
     discussionValidationErrors: []
     loading: false
+    boards: []
+  
+  componentDidMount: ->
+    @updateBoards @props.subject
+  
+  componentWillReceiveProps: (newProps) ->
+    @updateBoards newProps.subject if newProps.subject isnt @props.subject
+
+  updateBoards: (subject) ->
+    subject?.get 'project'
+      .then (project) =>
+        talkClient.type 'boards'
+          .get
+            section: projectSection(project)
+            subject_default: false
+          .then (boards) =>
+            @setState {boards}
 
   discussionValidations: (commentBody) ->
     discussionTitle = ReactDOM.findDOMNode(@).querySelector('.new-discussion-title').value

      <div className="talk-board-new-discussion">
        <h2>Create a discussion +</h2>
        {if not @props.boardId
          <PromiseRenderer promise={@props.subject.get('project')}>{(project) =>
            <PromiseRenderer promise={talkClient.type('boards').get(section: projectSection(project), subject_default: false)}>{(boards) =>
              <div>
                <h2>Board</h2>
                {boards.map @boardRadio}
              </div>
            }</PromiseRenderer>
          }</PromiseRenderer>
          }
        <input
          className="new-discussion-title"

discussionValidations = require './lib/discussion-validations'
talkClient = require 'panoptes-client/lib/talk-client'
Loading = require '../components/loading-indicator'
projectSection = require '../talk/lib/project-section'

module.exports = React.createClass
