Repository: cypress-io/cypress
File: packages/runner/src/app/app.jsx (JavaScript)

Code before:
    this.props.state.updateWindowDimensions({
      headerHeight: $header.outerHeight(),
    })
  }

  _onReporterResize = (reporterWidth) => {
    this.props.state.reporterWidth = reporterWidth - this.props.state.specListWidth
    this.props.state.absoluteReporterWidth = reporterWidth - this.props.state.specListWidth

    const $header = $(findDOMNode(this.refs.header))

    this.props.state.updateWindowDimensions({
      headerHeight: $header.outerHeight(),
    })
  }

  _onReporterResizeEnd = () => {
    this.isReporterResizing = false
    this.props.eventManager.saveState({
      reporterWidth: this.props.state.reporterWidth,
    })
  }

  _onSpecListResizeEnd = () => {
    this.isSpecListResizing = false
    this.props.eventManager.saveState({
      specListWidth: this.props.state.specListWidth,
    })
  }

  _handleScreenshots () {
    const containerNode = findDOMNode(this.refs.container)
    const reporterNode = this.refs.reporterWrap
    const headerNode = findDOMNode(this.refs.header)
    const iframesNode = findDOMNode(this.refs.iframes)
    const iframesSizeNode = findDOMNode(this.refs.iframes.getSizeContainer())
    const screenshotHelperPixels = this.refs.screenshotHelperPixels

    let prevAttrs = {}
    let screenshotting = false

    const { eventManager } = this.props

    eventManager.on('before:screenshot', (config) => {
      if (!config.appOnly) return

      screenshotting = true

      prevAttrs = {
        config,
        top: iframesNode.style.top,

Review comment (suggestion):
Need to add `specListWidth` to the allowed keys in [server/lib/saved_state.js](https://github.com/cypress-io/cypress/blob/f35efca744f5f57f061d9d00f50c3cf76474a57d/packages/server/lib/saved_state.js#L14).

Code after:
    })
  }

  _onReporterResize = (reporterWidth) => {
    this.props.state.reporterWidth = reporterWidth - this.props.state.specListWidth
    this.props.state.absoluteReporterWidth = reporterWidth - this.props.state.specListWidth

    const $header = $(findDOMNode(this.refs.header))

    this.props.state.updateWindowDimensions({
      headerHeight: $header.outerHeight(),
    })
  }

  _onReporterResizeEnd = () => {
    this.isReporterResizing = false
    this.props.eventManager.saveState({
      reporterWidth: this.props.state.reporterWidth,
    })
  }

  _onSpecListResizeEnd = () => {
    this.isSpecListResizing = false
    this.props.eventManager.saveState({
      specListWidth: this.props.state.specListWidth,
    })
  }

  _handleScreenshots () {
    const containerNode = findDOMNode(this.refs.container)
    const reporterNode = this.refs.reporterWrap
    const headerNode = findDOMNode(this.refs.header)
    const iframesNode = findDOMNode(this.refs.iframes)
    const iframesSizeNode = findDOMNode(this.refs.iframes.getSizeContainer())
    const screenshotHelperPixels = this.refs.screenshotHelperPixels

    let prevAttrs = {}
    let screenshotting = false

    const { eventManager } = this.props

    eventManager.on('before:screenshot', (config) => {
      if (!config.appOnly) return

      screenshotting = true

      prevAttrs = {
        config,
        top: iframesNode.style.top,
        marginLeft: iframesSizeNode.style.marginLeft,
        width: iframesSizeNode.style.width,