Skip to content

in some cases, vuex state will not load and the pause button will not work #971

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
halfpastfive opened this issue Apr 12, 2019 · 0 comments

Comments

@halfpastfive
Copy link

Version

5.0.9

Browser and OS info

Firefox66.0.2 / Linux Ubuntu 18.04 64bits

Steps to reproduce

in an action, start a navigator.geolocation watcher. On new positions, commit the position object

In the mutation, try to access the position.coords object
I created a repo that reproduces the issue : https://github.com/halfpastfive/vuedevtoolsstatehangs

The issue can be reproduced by cloning the repos, running npm i && npm run serve, then browsing the the application: the browser will request geolocation on page load.

What is expected?

the state can be paused and inspected in the devtools

What is actually happening?

an error is triggered in the console when i try to load the state :

TypeError: 'get coords' called on an object that does not implement interface Position.[En savoir plus] app.js line 2174 > eval:13:7
    updatePosition store.js:13
    wrappedMutationHandler vuex.esm.js:714
    replayMutations backend.js:14627
    forEach (index):262
    replayMutations backend.js:14627
    onInspectState backend.js:14349
    onInspectState (index):975
    apply (index):4693
    emit backend.js:5472
    _emit backend.js:5172
    Bridge backend.js:5097
    forEach (index):262
    Bridge backend.js:5097
    listener backend.js:2568

the pause button has no effect
the state loads forever


from the stack trace, it seems that the structure of the geolocation object is not preserved when mutations are replayed, making the mutation crash.
The crash seems to make the extension crash. I noticed a similar behavior when a getter crashes.

This issue is also reproduced on chromium 73, vue devtools 5.0.9

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant