diff --git a/src/store/announcements/mutations.ts b/src/store/announcements/mutations.ts index a657d6edf6..ce6bc0c26c 100644 --- a/src/store/announcements/mutations.ts +++ b/src/store/announcements/mutations.ts @@ -1,4 +1,3 @@ -import Vue from 'vue' import type { MutationTree } from 'vuex' import { defaultState } from './state' import type { AnnouncementsState } from './types' @@ -36,6 +35,6 @@ export const mutations = { } } - Vue.set(state, 'entries', entries) + state.entries = entries } } satisfies MutationTree diff --git a/src/store/config/mutations.ts b/src/store/config/mutations.ts index 8826580103..b756a7d44e 100644 --- a/src/store/config/mutations.ts +++ b/src/store/config/mutations.ts @@ -51,7 +51,7 @@ export const mutations = { (dest, src) => Array.isArray(dest) ? src : undefined ) - Vue.set(state, 'uiSettings', mergedSettings) + state.uiSettings = mergedSettings } }, @@ -107,7 +107,7 @@ export const mutations = { }) } localStorage.setItem(Globals.LOCAL_INSTANCES_STORAGE_KEY, JSON.stringify(instances)) - Vue.set(state, 'instances', instances) + state.instances = instances }, setUpdateInstanceName (state, payload) { @@ -120,12 +120,10 @@ export const mutations = { }, setRemoveInstance (state, payload) { - const instances = state.instances - const i = instances.findIndex((instance: InstanceConfig) => instance.apiUrl === payload.apiUrl) - if (i >= 0) { - instances.splice(i, 1) - Vue.set(state, 'instances', instances) - localStorage.setItem(Globals.LOCAL_INSTANCES_STORAGE_KEY, JSON.stringify(instances)) + const index = state.instances.findIndex((instance: InstanceConfig) => instance.apiUrl === payload.apiUrl) + if (index >= 0) { + state.instances.splice(index, 1) + localStorage.setItem(Globals.LOCAL_INSTANCES_STORAGE_KEY, JSON.stringify(state.instances)) } }, diff --git a/src/store/console/mutations.ts b/src/store/console/mutations.ts index 0ec321014d..438cffd680 100644 --- a/src/store/console/mutations.ts +++ b/src/store/console/mutations.ts @@ -36,7 +36,7 @@ export const mutations = { while (state.console.length >= Globals.CONSOLE_HISTORY_RETENTION) { state.console.shift() } - state.console.push(entry) + state.console.push(Object.freeze(entry)) }, /** @@ -45,6 +45,7 @@ export const mutations = { setAllEntries (state, payload: ConsoleEntry[]) { state.consoleEntryCount = payload.length state.console = payload + .map(entry => Object.freeze(entry)) }, setResetPromptDialog (state, payload: string) { @@ -162,6 +163,6 @@ export const mutations = { }, setLastCleared (state) { - Vue.set(state, 'lastCleared', Date.now()) + state.lastCleared = Date.now() } } satisfies MutationTree diff --git a/src/store/database/mutations.ts b/src/store/database/mutations.ts index 225bf4d02c..ae89ebfd77 100644 --- a/src/store/database/mutations.ts +++ b/src/store/database/mutations.ts @@ -1,4 +1,3 @@ -import Vue from 'vue' import type { MutationTree } from 'vuex' import { defaultState } from './state' import type { DatabaseInfo, DatabaseState } from './types' @@ -10,7 +9,7 @@ export const mutations = { }, setServerDatabaseList (state, payload: DatabaseInfo) { - Vue.set(state, 'info', payload) + state.info = payload }, setServerDatabasePostBackup (state, payload: { backup_path: string }) { diff --git a/src/store/files/mutations.ts b/src/store/files/mutations.ts index 6c8c5d6e43..cbe3439b80 100644 --- a/src/store/files/mutations.ts +++ b/src/store/files/mutations.ts @@ -21,7 +21,7 @@ export const mutations = { } if (state.currentPaths[root]) { - Vue.set(state.currentPaths, root, undefined) + Vue.delete(state.currentPaths, root) } }, diff --git a/src/store/macros/mutations.ts b/src/store/macros/mutations.ts index d65235ed16..e1ee375fb3 100644 --- a/src/store/macros/mutations.ts +++ b/src/store/macros/mutations.ts @@ -93,6 +93,6 @@ export const mutations = { }, setExpanded (state, expanded: number[]) { - Vue.set(state, 'expanded', expanded) + state.expanded = expanded } } satisfies MutationTree diff --git a/src/store/notifications/mutations.ts b/src/store/notifications/mutations.ts index 2b3c68ec25..eab243d7aa 100644 --- a/src/store/notifications/mutations.ts +++ b/src/store/notifications/mutations.ts @@ -34,6 +34,7 @@ export const mutations = { }, setClearAllNotifications (state) { - Vue.set(state, 'notifications', [...state.notifications.filter(n => !n.clear)]) + state.notifications = state.notifications + .filter(n => !n.clear) } } satisfies MutationTree diff --git a/src/store/power/mutations.ts b/src/store/power/mutations.ts index 6193a11fed..3b7451e5bf 100644 --- a/src/store/power/mutations.ts +++ b/src/store/power/mutations.ts @@ -1,4 +1,3 @@ -import Vue from 'vue' import type { MutationTree } from 'vuex' import type { DevicePowerState } from './types' import { defaultState } from './state' @@ -19,7 +18,7 @@ export const mutations = { for (const key in payload) { const i = state.devices.findIndex(device => device.device === key) if (i >= 0) { - Vue.set(state.devices[i], 'status', payload[key]) + state.devices[i].status = payload[key] } } } diff --git a/src/store/sensors/actions.ts b/src/store/sensors/actions.ts index 3c7ee6878f..79009cd7e8 100644 --- a/src/store/sensors/actions.ts +++ b/src/store/sensors/actions.ts @@ -12,13 +12,13 @@ export const actions = { SocketActions.serverSensorsList() }, - async onSensorsList ({ commit }, payload: { sensors: Moonraker.Sensor.ListResponse }) { + async onSensorsList ({ commit }, payload: Moonraker.Sensor.ListResponse) { if (payload) { commit('setSensorsList', payload) } }, - async onSensorUpdate ({ commit }, payload: Record) { + async onSensorUpdate ({ commit }, payload: Record) { if (payload) { commit('setSensorUpdate', payload) } diff --git a/src/store/sensors/mutations.ts b/src/store/sensors/mutations.ts index b5a83c6fdf..595ec98bce 100644 --- a/src/store/sensors/mutations.ts +++ b/src/store/sensors/mutations.ts @@ -1,4 +1,3 @@ -import Vue from 'vue' import type { MutationTree } from 'vuex' import type { MoonrakerSensorsState } from './types' import { defaultState } from './state' @@ -12,12 +11,21 @@ export const mutations = { }, setSensorsList (state, payload: Moonraker.Sensor.ListResponse) { - state.sensors = payload.sensors + state.sensors = Object.fromEntries( + Object.entries(payload.sensors) + .map(([key, entry]) => [ + key, + { + ...entry, + values: Object.freeze(entry.values) + } + ]) + ) }, - setSensorUpdate (state, payload: Record) { + setSensorUpdate (state, payload: Record) { for (const sensorKey in payload) { - Vue.set(state.sensors[sensorKey], 'values', payload[sensorKey]) + state.sensors[sensorKey].values = Object.freeze(payload[sensorKey]) } } } satisfies MutationTree