Skip to content

Setup Pinia and migrate the notifications store

Erwan Rouchet requested to merge pinia-notification into master

Requires !1373 (merged), closes #1101 (closed), #1151 (closed)

I had started with the image store in !1370 (closed), but I found out that in unit tests, we cannot test that a Pinia store calls a Vuex module. We can test the other way around, where a Vuex module calls a Pinia store, so we won't be completely stuck with the migration. To migrate the image store, I therefore had to migrate the notification store that it depends on.

To avoid having to migrate every call to the notification store right now, I added a Vuex "shim" module that proxies all mutations to Pinia actions. This technique was only possible here because only the App.vue component relies on the state of the notification module; accessing the state cannot be proxied like how I did, because that would mean Vuex would sink its claws Observers into Pinia's state, causing conflicts with Pinia's own reactivity.

Edited by Erwan Rouchet

Merge request reports

Loading