     propTypes :
         project_id : rtypes.string
 
-    shouldComponentUpdate : (nextProps) ->
-        return @props.project_map?.get(@props.project_id) != nextProps.project_map?.get(nextProps.project_id)
-
-    render : ->
+    shouldComponentUpdate: (nextProps) ->
+        return true
+        #@props.project_map?.get(@props.project_id) != nextProps.project_map?.get(nextProps.project_id)
+
+    render: ->
         if not require('./customize').commercial
             return null
         if @props.free_warning_closed
             return null
         quotas = @props.get_total_project_quotas(@props.project_id)
-        project_status = @props.project_map.get(@prop.project_id)?.get('status')
-        if not quotas?.disk_quota? or project_status?
+        project_status = @props.project_map?.get(@props.project_id)?.get('status')
+        console.log "Quotas?", quotas, "status?", project_status?.toJS()
+        if not quotas?.disk_quota? or not project_status?
             return null
         else
             rss = project_status.get('memory')?.get('rss')

            free_warning_extra_shown : rtypes.bool
            free_warning_closed      : rtypes.bool

    propTypes :
        project_id : rtypes.string

    shouldComponentUpdate : (nextProps) ->
        return @props.free_warning_extra_shown != nextProps.free_warning_extra_shown or
            @props.free_warning_closed != nextProps.free_warning_closed or
            @props.project_map?.get(@props.project_id)?.get('users') != nextProps.project_map?.get(@props.project_id)?.get('users')

    extra : (host, internet) ->
        {PolicyPricingPageUrl} = require('./customize')
        if not @props.free_warning_extra_shown
            return null

FreeProjectWarning = rclass ({name}) ->
    displayName : 'FreeProjectWarning'

    reduxProps:
        projects :
            # get_total_project_quotas relys on this data
            # Will be removed by #1084
