      ###
     updateNotifyConfig: (ship_id) ->
       return unless ship_id > 0
-      server = SERVERS[(ship_id + NONCE) % SERVERS.length]
+      server = SERVERS[(ship_id + SERVER_NONCE) % SERVERS.length]
       filename = @state.shipgraph[ship_id]?.api_filename
       return unless server
       return unless filename

    handleAudition: (type) ->
      switch type
        when 'construction'
          notify "Notification sound audition",
            type: 'construction'
        when 'expedition'
          notify "Notification sound audition",
            type: 'expedition'
        when 'repair'
          notify "Notification sound audition",
            type: 'repair'

    render: ->
      <div>
        <link rel="stylesheet" href={join(relative(ROOT, __dirname), 'assets', 'secretary.css')} />
        <div className="divider">
          <h5>通知秘书</h5>
          <hr />


    handleShipChange: (e) ->
      ship_id = parseInt(e.target.value)
      return if ship_id is NaN
      # Save secretary config
      @setState
        notifySecretary: ship_id
      config.set('plugin.secretary.ship', ship_id)
      # Update notify config
      if ship_id > 0
        @updateNotifyConfig(ship_id)
      else
        @updateNotifyConfig(@state.fleetSecretary)
