From ec99c8d397b1cdfa4d8dd3b0dafc9fa92776f5e5 Mon Sep 17 00:00:00 2001 From: philon- Date: Sat, 14 Jun 2025 21:32:51 +0200 Subject: [PATCH] Fix tests, tsc, linting --- src/core/stores/deviceStore.mock.ts | 6 ++++++ src/core/stores/deviceStore.ts | 20 +++++++++++++------- src/core/utils/deepCompareConfig.test.ts | 2 +- src/validation/config/security.test.ts | 4 ++-- 4 files changed, 22 insertions(+), 10 deletions(-) diff --git a/src/core/stores/deviceStore.mock.ts b/src/core/stores/deviceStore.mock.ts index fb97c9d3..2b463e6b 100644 --- a/src/core/stores/deviceStore.mock.ts +++ b/src/core/stores/deviceStore.mock.ts @@ -50,6 +50,12 @@ export const mockDeviceStore: Device = { setModuleConfig: vi.fn(), setWorkingConfig: vi.fn(), setWorkingModuleConfig: vi.fn(), + getWorkingConfig: vi.fn(), + getWorkingModuleConfig: vi.fn(), + removeWorkingConfig: vi.fn(), + removeWorkingModuleConfig: vi.fn(), + getEffectiveConfig: vi.fn(), + getEffectiveModuleConfig: vi.fn(), setHardware: vi.fn(), setActiveNode: vi.fn(), setPendingSettingsChanges: vi.fn(), diff --git a/src/core/stores/deviceStore.ts b/src/core/stores/deviceStore.ts index b163aa5c..40905066 100644 --- a/src/core/stores/deviceStore.ts +++ b/src/core/stores/deviceStore.ts @@ -1,6 +1,6 @@ import { create, toBinary } from "@bufbuild/protobuf"; import { MeshDevice, Protobuf, Types } from "@meshtastic/core"; -import { current, produce } from "immer"; +import { produce } from "immer"; import { createContext, useContext } from "react"; import { create as createStore } from "zustand"; @@ -69,7 +69,6 @@ export interface Device { setModuleConfig: (config: Protobuf.ModuleConfig.ModuleConfig) => void; setWorkingConfig: (config: Protobuf.Config.Config) => void; setWorkingModuleConfig: (config: Protobuf.ModuleConfig.ModuleConfig) => void; - getWorkingConfig: ( payloadVariant: ValidConfigType, ) => @@ -90,7 +89,6 @@ export interface Device { getEffectiveModuleConfig( payloadVariant: K, ): Protobuf.LocalOnly.LocalModuleConfig[K] | undefined; - setHardware: (hardware: Protobuf.Mesh.MyNodeInfo) => void; setActiveNode: (node: number) => void; setPendingSettingsChanges: (state: boolean) => void; @@ -194,6 +192,7 @@ export const useDeviceStore = createStore((set, get) => ({ produce((draft) => { const device = draft.devices.get(id); if (device) { + console.debug("Setting config for device", id, config); switch (config.payloadVariant.case) { case "device": { device.config.device = config.payloadVariant.value; @@ -342,9 +341,16 @@ export const useDeviceStore = createStore((set, get) => ({ const device = get().devices.get(id); if (!device) return; - return device.workingConfig.find( + const workingConfig = device.workingConfig.find( (c) => c.payloadVariant.case === payloadVariant, - )?.payloadVariant.value; + ); + + if ( + workingConfig?.payloadVariant.case === "deviceUi" || + workingConfig?.payloadVariant.case === "sessionkey" + ) return; + + return workingConfig?.payloadVariant.value; }, getWorkingModuleConfig: (payloadVariant: ValidModuleConfigType) => { const device = get().devices.get(id); @@ -357,7 +363,7 @@ export const useDeviceStore = createStore((set, get) => ({ removeWorkingConfig: (payloadVariant?: ValidConfigType) => { set( - produce((draft) => { + produce((draft) => { const device = draft.devices.get(id); if (!device) return; @@ -381,7 +387,7 @@ export const useDeviceStore = createStore((set, get) => ({ payloadVariant?: ValidModuleConfigType, ) => { set( - produce((draft) => { + produce((draft) => { const device = draft.devices.get(id); if (!device) return; diff --git a/src/core/utils/deepCompareConfig.test.ts b/src/core/utils/deepCompareConfig.test.ts index 8dd94713..b504d2b7 100644 --- a/src/core/utils/deepCompareConfig.test.ts +++ b/src/core/utils/deepCompareConfig.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from "vitest"; -import { deepCompareConfig } from "./deepCompareConfig"; +import { deepCompareConfig } from "./deepCompareConfig.ts"; describe("deepCompareConfig", () => { it("returns true for identical primitives", () => { diff --git a/src/validation/config/security.test.ts b/src/validation/config/security.test.ts index 08e74cce..428711c3 100644 --- a/src/validation/config/security.test.ts +++ b/src/validation/config/security.test.ts @@ -53,7 +53,7 @@ describe("RawSecuritySchema", () => { if (!result.success) { expect( result.error.issues.some((i) => - i.message === "formValidation.adminKeyRequiredWhenManaged" + i.message === "formValidation.required.managed" ), ).toBe(true); } @@ -103,7 +103,7 @@ describe("ParsedSecuritySchema", () => { if (!result.success) { expect( result.error.issues.some((i) => - i.message === "formValidation.adminKeyRequiredWhenManaged" + i.message === "formValidation.required.managed" ), ).toBe(true); }