vuejs / devtools-v6

⚙️ Browser devtools extension for debugging Vue.js applications.
https://devtools-v6.vuejs.org/
MIT License
24.66k stars 4.15k forks source link

Dev Tools BETA crashing due to Portal-Vue/Popper #808

Open shaydoc opened 6 years ago

shaydoc commented 6 years ago

Version

5.0.0-beta.3

Browser and OS info

Chrome 69.0.3497.100 on MacOS 10.13.4

Steps to reproduce

Just added Vue Devtools BETA to my app and started using it. When I clicked to change routes I got an error:

vue-analytics.js?08cb:1 TypeError: Cannot read property '_isVue' of undefined
    at getCustomRefDetails (VM15783 backend.js:405)
    at Object.keys.map.key (VM15783 backend.js:11150)
    at Array.map (<anonymous>)
    at processRefs (VM15783 backend.js:11150)
    at getInstanceState (VM15783 backend.js:10992)
    at getCustomInstanceDetails (VM15783 backend.js:11003)
    at encodeCache.cache (VM15783 backend.js:275)
    at EncodeCache.cache (VM15783 backend.js:228)
    at VNode.replacer (VM15783 backend.js:275)
    at encode (VM15783 backend.js:800)
    at encode (VM15783 backend.js:810)
    at encode (VM15783 backend.js:801)
    at encode (VM15783 backend.js:801)
    at encode (VM15783 backend.js:810)
    at encode (VM15783 backend.js:801)
    at encode (VM15783 backend.js:810)
    at encode (VM15783 backend.js:801)
    at encode (VM15783 backend.js:810)
    at encode (VM15783 backend.js:801)
    at encode (VM15783 backend.js:810)
    at encode (VM15783 backend.js:801)
    at encode (VM15783 backend.js:810)
    at encode (VM15783 backend.js:801)
    at encode (VM15783 backend.js:810)
    at encode (VM15783 backend.js:801)
    at encode (VM15783 backend.js:801)
    at encode (VM15783 backend.js:801)
    at encode (VM15783 backend.js:801)
    at encode (VM15783 backend.js:801)
    at encode (VM15783 backend.js:801)
    at encode (VM15783 backend.js:810)
    at encode (VM15783 backend.js:801)
    at stringifyStrict (VM15783 backend.js:867)
    at Object.stringify (VM15783 backend.js:848)
    at stringify (VM15783 backend.js:244)
    at logEvent (VM15783 backend.js:10165)
    at VueComponent.Vue.(anonymous function) [as $emit] (chrome-extension://ljjemllljcmogpfapbkkighbhhppjdbg/build/backend.js:10182:11)
    at VueComponent.errorCaptured (vue-error-boundary.cjs.min.js?983f:1)
    at handleError (vue.esm.js?65d7:1712)
    at Watcher.run (vue.esm.js?65d7:3235)
    at flushSchedulerQueue (vue.esm.js?65d7:2981)
    at Array.eval (vue.esm.js?65d7:1837)
    at flushCallbacks (vue.esm.js?65d7:1758)
    at module.exports (_invoke.js?2b45:5)
    at queue.(anonymous function) (webpack-internal:///183:35:7)
    at Number.run (_task.js?36fc:21)
    at MessagePort.listener (_task.js?36fc:25)
Object
   button: undefined
   content: undefined
    __proto__: Object

coming from backend.js

function processRefs (instance) {
  if (Object.keys(instance.$refs).length === 0) {
    return []
  }
  console.log(instance.$refs)
  let refs = Object.keys(instance.$refs).map(key => Object(util["m" /* getCustomRefDetails */])(instance, key, instance.$refs[key]))
  return refs.length > 0 ? refs : []
}

What is expected?

Expected My Application not to crash

What is actually happening?

the errorCaptured hook is firing

emanuelmutschlechner commented 6 years ago

A link to a reproduction repo would help a lot