Fix subscriptions in Vuex
fadeev opened this issue · comments
Denis Fadeev commented
subscriptions are added with objects as keys
which means the comparison to see if an action is already subscribed to fails
and it gets readded
(similarly it's impossible to unsuibscribe for)
Change:
SUBSCRIBE(state, subscription) {
state._Subscriptions.add(subscription)
},
UNSUBSCRIBE(state, subscription) {
state._Subscriptions.delete(subscription)
}
To:
SUBSCRIBE(state, subscription) {
state._Subscriptions.add(JSON.stringify(subscription))
},
UNSUBSCRIBE(state, subscription) {
state._Subscriptions.delete(JSON.stringify(subscription))
}
Both in standard Vuex modules as well as in the generated code.