From db667b943780446c068d9147731695bb17d97645 Mon Sep 17 00:00:00 2001 From: proddy Date: Sat, 10 Jan 2026 18:08:06 +0100 Subject: [PATCH 01/10] package update --- interface/package.json | 8 +- interface/pnpm-lock.yaml | 174 +++++++++++++++++++-------------------- mock-api/package.json | 2 +- 3 files changed, 92 insertions(+), 92 deletions(-) diff --git a/interface/package.json b/interface/package.json index 9849e10ab..8df97f910 100644 --- a/interface/package.json +++ b/interface/package.json @@ -52,8 +52,8 @@ "@preact/compat": "^18.3.1", "@preact/preset-vite": "^2.10.2", "@trivago/prettier-plugin-sort-imports": "^6.0.2", - "@types/node": "^25.0.3", - "@types/react": "^19.2.7", + "@types/node": "^25.0.5", + "@types/react": "^19.2.8", "@types/react-dom": "^19.2.3", "axe-core": "^4.11.1", "concurrently": "^9.2.1", @@ -65,7 +65,7 @@ "typescript-eslint": "^8.52.0", "vite": "^7.3.1", "vite-plugin-imagemin": "^0.6.1", - "vite-tsconfig-paths": "^6.0.3" + "vite-tsconfig-paths": "^6.0.4" }, - "packageManager": "pnpm@10.27.0+sha512.72d699da16b1179c14ba9e64dc71c9a40988cbdc65c264cb0e489db7de917f20dcf4d64d8723625f2969ba52d4b7e2a1170682d9ac2a5dcaeaab732b7e16f04a" + "packageManager": "pnpm@10.28.0+sha512.05df71d1421f21399e053fde567cea34d446fa02c76571441bfc1c7956e98e363088982d940465fd34480d4d90a0668bc12362f8aa88000a64e83d0b0e47be48" } diff --git a/interface/pnpm-lock.yaml b/interface/pnpm-lock.yaml index 8cf9c497f..9c4cb29f3 100644 --- a/interface/pnpm-lock.yaml +++ b/interface/pnpm-lock.yaml @@ -13,22 +13,22 @@ importers: version: 2.3.1(alova@3.4.1) '@emotion/react': specifier: ^11.14.0 - version: 11.14.0(@types/react@19.2.7)(react@19.2.3) + version: 11.14.0(@types/react@19.2.8)(react@19.2.3) '@emotion/styled': specifier: ^11.14.1 - version: 11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.3))(@types/react@19.2.7)(react@19.2.3) + version: 11.14.1(@emotion/react@11.14.0(@types/react@19.2.8)(react@19.2.3))(@types/react@19.2.8)(react@19.2.3) '@mui/icons-material': specifier: ^7.3.7 - version: 7.3.7(@mui/material@7.3.7(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.3))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.3))(@types/react@19.2.7)(react@19.2.3))(@types/react@19.2.7)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.7)(react@19.2.3) + version: 7.3.7(@mui/material@7.3.7(@emotion/react@11.14.0(@types/react@19.2.8)(react@19.2.3))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.8)(react@19.2.3))(@types/react@19.2.8)(react@19.2.3))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.8)(react@19.2.3) '@mui/material': specifier: ^7.3.7 - version: 7.3.7(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.3))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.3))(@types/react@19.2.7)(react@19.2.3))(@types/react@19.2.7)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + version: 7.3.7(@emotion/react@11.14.0(@types/react@19.2.8)(react@19.2.3))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.8)(react@19.2.3))(@types/react@19.2.8)(react@19.2.3))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@preact/compat': specifier: ^18.3.1 version: 18.3.1(preact@10.28.2) '@table-library/react-table-library': specifier: 4.1.15 - version: 4.1.15(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + version: 4.1.15(@emotion/react@11.14.0(@types/react@19.2.8)(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3) alova: specifier: 3.4.1 version: 3.4.1 @@ -83,19 +83,19 @@ importers: version: 9.39.2 '@preact/preset-vite': specifier: ^2.10.2 - version: 2.10.2(@babel/core@7.28.5)(preact@10.28.2)(vite@7.3.1(@types/node@25.0.3)(terser@5.44.1)) + version: 2.10.2(@babel/core@7.28.5)(preact@10.28.2)(vite@7.3.1(@types/node@25.0.5)(terser@5.44.1)) '@trivago/prettier-plugin-sort-imports': specifier: ^6.0.2 version: 6.0.2(prettier@3.7.4) '@types/node': - specifier: ^25.0.3 - version: 25.0.3 + specifier: ^25.0.5 + version: 25.0.5 '@types/react': - specifier: ^19.2.7 - version: 19.2.7 + specifier: ^19.2.8 + version: 19.2.8 '@types/react-dom': specifier: ^19.2.3 - version: 19.2.3(@types/react@19.2.7) + version: 19.2.3(@types/react@19.2.8) axe-core: specifier: ^4.11.1 version: 4.11.1 @@ -122,13 +122,13 @@ importers: version: 8.52.0(eslint@9.39.2)(typescript@5.9.3) vite: specifier: ^7.3.1 - version: 7.3.1(@types/node@25.0.3)(terser@5.44.1) + version: 7.3.1(@types/node@25.0.5)(terser@5.44.1) vite-plugin-imagemin: specifier: ^0.6.1 - version: 0.6.1(vite@7.3.1(@types/node@25.0.3)(terser@5.44.1)) + version: 0.6.1(vite@7.3.1(@types/node@25.0.5)(terser@5.44.1)) vite-tsconfig-paths: - specifier: ^6.0.3 - version: 6.0.3(typescript@5.9.3)(vite@7.3.1(@types/node@25.0.3)(terser@5.44.1)) + specifier: ^6.0.4 + version: 6.0.4(typescript@5.9.3)(vite@7.3.1(@types/node@25.0.5)(terser@5.44.1)) packages: @@ -875,8 +875,8 @@ packages: resolution: {integrity: sha512-zmPitbQ8+6zNutpwgcQuLcsEpn/Cj54Kbn7L5pX0Os5kdWplB7xPgEh/g+SWOB/qmows2gpuCaPyduq8ZZRnxA==} deprecated: This is a stub types definition. minimatch provides its own type definitions, so you do not need this installed. - '@types/node@25.0.3': - resolution: {integrity: sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA==} + '@types/node@25.0.5': + resolution: {integrity: sha512-FuLxeLuSVOqHPxSN1fkcD8DLU21gAP7nCKqGRJ/FglbCUBs0NYN6TpHcdmyLeh8C0KwGIaZQJSv+OYG+KZz+Gw==} '@types/parse-json@4.0.2': resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} @@ -894,8 +894,8 @@ packages: peerDependencies: '@types/react': '*' - '@types/react@19.2.7': - resolution: {integrity: sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==} + '@types/react@19.2.8': + resolution: {integrity: sha512-3MbSL37jEchWZz2p2mjntRZtPt837ij10ApxKfgmXCTuHWagYg7iA5bqPw6C8BMPfwidlvfPI/fxOc42HLhcyg==} '@types/responselike@1.0.3': resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} @@ -1042,8 +1042,8 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - baseline-browser-mapping@2.9.12: - resolution: {integrity: sha512-Mij6Lij93pTAIsSYy5cyBQ975Qh9uLEc5rwGTpomiZeXZL9yIS6uORJakb3ScHgfs0serMMfIbXzokPMuEiRyw==} + baseline-browser-mapping@2.9.14: + resolution: {integrity: sha512-B0xUquLkiGLgHhpPBqvl7GWegWBUNuujQ6kXd/r1U38ElPT6Ok8KZ8e+FpUGEc2ZoRQUzq/aUnaKFc/svWUGSg==} hasBin: true bin-build@3.0.0: @@ -3003,8 +3003,8 @@ packages: peerDependencies: vite: 5.x || 6.x || 7.x - vite-tsconfig-paths@6.0.3: - resolution: {integrity: sha512-7bL7FPX/DSviaZGYUKowWF1AiDVWjMjxNbE8lyaVGDezkedWqfGhlnQ4BZXre0ZN5P4kAgIJfAlgFDVyjrCIyg==} + vite-tsconfig-paths@6.0.4: + resolution: {integrity: sha512-iIsEJ+ek5KqRTK17pmxtgIxXtqr3qDdE6OxrP9mVeGhVDNXRJTKN/l9oMbujTQNzMLe6XZ8qmpztfbkPu2TiFQ==} peerDependencies: vite: '*' peerDependenciesMeta: @@ -3280,7 +3280,7 @@ snapshots: '@emotion/memoize@0.9.0': {} - '@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.3)': + '@emotion/react@11.14.0(@types/react@19.2.8)(react@19.2.3)': dependencies: '@babel/runtime': 7.28.4 '@emotion/babel-plugin': 11.13.5 @@ -3292,7 +3292,7 @@ snapshots: hoist-non-react-statics: 3.3.2 react: 19.2.3 optionalDependencies: - '@types/react': 19.2.7 + '@types/react': 19.2.8 transitivePeerDependencies: - supports-color @@ -3306,18 +3306,18 @@ snapshots: '@emotion/sheet@1.4.0': {} - '@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.3))(@types/react@19.2.7)(react@19.2.3)': + '@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.8)(react@19.2.3))(@types/react@19.2.8)(react@19.2.3)': dependencies: '@babel/runtime': 7.28.4 '@emotion/babel-plugin': 11.13.5 '@emotion/is-prop-valid': 1.4.0 - '@emotion/react': 11.14.0(@types/react@19.2.7)(react@19.2.3) + '@emotion/react': 11.14.0(@types/react@19.2.8)(react@19.2.3) '@emotion/serialize': 1.3.3 '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.2.3) '@emotion/utils': 1.4.2 react: 19.2.3 optionalDependencies: - '@types/react': 19.2.7 + '@types/react': 19.2.8 transitivePeerDependencies: - supports-color @@ -3501,23 +3501,23 @@ snapshots: '@mui/core-downloads-tracker@7.3.7': {} - '@mui/icons-material@7.3.7(@mui/material@7.3.7(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.3))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.3))(@types/react@19.2.7)(react@19.2.3))(@types/react@19.2.7)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.7)(react@19.2.3)': + '@mui/icons-material@7.3.7(@mui/material@7.3.7(@emotion/react@11.14.0(@types/react@19.2.8)(react@19.2.3))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.8)(react@19.2.3))(@types/react@19.2.8)(react@19.2.3))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/react@19.2.8)(react@19.2.3)': dependencies: '@babel/runtime': 7.28.4 - '@mui/material': 7.3.7(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.3))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.3))(@types/react@19.2.7)(react@19.2.3))(@types/react@19.2.7)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@mui/material': 7.3.7(@emotion/react@11.14.0(@types/react@19.2.8)(react@19.2.3))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.8)(react@19.2.3))(@types/react@19.2.8)(react@19.2.3))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) react: 19.2.3 optionalDependencies: - '@types/react': 19.2.7 + '@types/react': 19.2.8 - '@mui/material@7.3.7(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.3))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.3))(@types/react@19.2.7)(react@19.2.3))(@types/react@19.2.7)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@mui/material@7.3.7(@emotion/react@11.14.0(@types/react@19.2.8)(react@19.2.3))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.8)(react@19.2.3))(@types/react@19.2.8)(react@19.2.3))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: '@babel/runtime': 7.28.4 '@mui/core-downloads-tracker': 7.3.7 - '@mui/system': 7.3.7(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.3))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.3))(@types/react@19.2.7)(react@19.2.3))(@types/react@19.2.7)(react@19.2.3) - '@mui/types': 7.4.10(@types/react@19.2.7) - '@mui/utils': 7.3.7(@types/react@19.2.7)(react@19.2.3) + '@mui/system': 7.3.7(@emotion/react@11.14.0(@types/react@19.2.8)(react@19.2.3))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.8)(react@19.2.3))(@types/react@19.2.8)(react@19.2.3))(@types/react@19.2.8)(react@19.2.3) + '@mui/types': 7.4.10(@types/react@19.2.8) + '@mui/utils': 7.3.7(@types/react@19.2.8)(react@19.2.3) '@popperjs/core': 2.11.8 - '@types/react-transition-group': 4.4.12(@types/react@19.2.7) + '@types/react-transition-group': 4.4.12(@types/react@19.2.8) clsx: 2.1.1 csstype: 3.2.3 prop-types: 15.8.1 @@ -3526,20 +3526,20 @@ snapshots: react-is: 19.2.3 react-transition-group: 4.4.5(react-dom@19.2.3(react@19.2.3))(react@19.2.3) optionalDependencies: - '@emotion/react': 11.14.0(@types/react@19.2.7)(react@19.2.3) - '@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.3))(@types/react@19.2.7)(react@19.2.3) - '@types/react': 19.2.7 + '@emotion/react': 11.14.0(@types/react@19.2.8)(react@19.2.3) + '@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.2.8)(react@19.2.3))(@types/react@19.2.8)(react@19.2.3) + '@types/react': 19.2.8 - '@mui/private-theming@7.3.7(@types/react@19.2.7)(react@19.2.3)': + '@mui/private-theming@7.3.7(@types/react@19.2.8)(react@19.2.3)': dependencies: '@babel/runtime': 7.28.4 - '@mui/utils': 7.3.7(@types/react@19.2.7)(react@19.2.3) + '@mui/utils': 7.3.7(@types/react@19.2.8)(react@19.2.3) prop-types: 15.8.1 react: 19.2.3 optionalDependencies: - '@types/react': 19.2.7 + '@types/react': 19.2.8 - '@mui/styled-engine@7.3.7(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.3))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.3))(@types/react@19.2.7)(react@19.2.3))(react@19.2.3)': + '@mui/styled-engine@7.3.7(@emotion/react@11.14.0(@types/react@19.2.8)(react@19.2.3))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.8)(react@19.2.3))(@types/react@19.2.8)(react@19.2.3))(react@19.2.3)': dependencies: '@babel/runtime': 7.28.4 '@emotion/cache': 11.14.0 @@ -3549,42 +3549,42 @@ snapshots: prop-types: 15.8.1 react: 19.2.3 optionalDependencies: - '@emotion/react': 11.14.0(@types/react@19.2.7)(react@19.2.3) - '@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.3))(@types/react@19.2.7)(react@19.2.3) + '@emotion/react': 11.14.0(@types/react@19.2.8)(react@19.2.3) + '@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.2.8)(react@19.2.3))(@types/react@19.2.8)(react@19.2.3) - '@mui/system@7.3.7(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.3))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.3))(@types/react@19.2.7)(react@19.2.3))(@types/react@19.2.7)(react@19.2.3)': + '@mui/system@7.3.7(@emotion/react@11.14.0(@types/react@19.2.8)(react@19.2.3))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.8)(react@19.2.3))(@types/react@19.2.8)(react@19.2.3))(@types/react@19.2.8)(react@19.2.3)': dependencies: '@babel/runtime': 7.28.4 - '@mui/private-theming': 7.3.7(@types/react@19.2.7)(react@19.2.3) - '@mui/styled-engine': 7.3.7(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.3))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.3))(@types/react@19.2.7)(react@19.2.3))(react@19.2.3) - '@mui/types': 7.4.10(@types/react@19.2.7) - '@mui/utils': 7.3.7(@types/react@19.2.7)(react@19.2.3) + '@mui/private-theming': 7.3.7(@types/react@19.2.8)(react@19.2.3) + '@mui/styled-engine': 7.3.7(@emotion/react@11.14.0(@types/react@19.2.8)(react@19.2.3))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.8)(react@19.2.3))(@types/react@19.2.8)(react@19.2.3))(react@19.2.3) + '@mui/types': 7.4.10(@types/react@19.2.8) + '@mui/utils': 7.3.7(@types/react@19.2.8)(react@19.2.3) clsx: 2.1.1 csstype: 3.2.3 prop-types: 15.8.1 react: 19.2.3 optionalDependencies: - '@emotion/react': 11.14.0(@types/react@19.2.7)(react@19.2.3) - '@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.3))(@types/react@19.2.7)(react@19.2.3) - '@types/react': 19.2.7 + '@emotion/react': 11.14.0(@types/react@19.2.8)(react@19.2.3) + '@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.2.8)(react@19.2.3))(@types/react@19.2.8)(react@19.2.3) + '@types/react': 19.2.8 - '@mui/types@7.4.10(@types/react@19.2.7)': + '@mui/types@7.4.10(@types/react@19.2.8)': dependencies: '@babel/runtime': 7.28.4 optionalDependencies: - '@types/react': 19.2.7 + '@types/react': 19.2.8 - '@mui/utils@7.3.7(@types/react@19.2.7)(react@19.2.3)': + '@mui/utils@7.3.7(@types/react@19.2.8)(react@19.2.3)': dependencies: '@babel/runtime': 7.28.4 - '@mui/types': 7.4.10(@types/react@19.2.7) + '@mui/types': 7.4.10(@types/react@19.2.8) '@types/prop-types': 15.7.15 clsx: 2.1.1 prop-types: 15.8.1 react: 19.2.3 react-is: 19.2.3 optionalDependencies: - '@types/react': 19.2.7 + '@types/react': 19.2.8 '@noble/hashes@1.8.0': {} @@ -3610,18 +3610,18 @@ snapshots: dependencies: preact: 10.28.2 - '@preact/preset-vite@2.10.2(@babel/core@7.28.5)(preact@10.28.2)(vite@7.3.1(@types/node@25.0.3)(terser@5.44.1))': + '@preact/preset-vite@2.10.2(@babel/core@7.28.5)(preact@10.28.2)(vite@7.3.1(@types/node@25.0.5)(terser@5.44.1))': dependencies: '@babel/core': 7.28.5 '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.5) '@babel/plugin-transform-react-jsx-development': 7.27.1(@babel/core@7.28.5) - '@prefresh/vite': 2.4.11(preact@10.28.2)(vite@7.3.1(@types/node@25.0.3)(terser@5.44.1)) + '@prefresh/vite': 2.4.11(preact@10.28.2)(vite@7.3.1(@types/node@25.0.5)(terser@5.44.1)) '@rollup/pluginutils': 4.2.1 babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.28.5) debug: 4.4.3 picocolors: 1.1.1 - vite: 7.3.1(@types/node@25.0.3)(terser@5.44.1) - vite-prerender-plugin: 0.5.12(vite@7.3.1(@types/node@25.0.3)(terser@5.44.1)) + vite: 7.3.1(@types/node@25.0.5)(terser@5.44.1) + vite-prerender-plugin: 0.5.12(vite@7.3.1(@types/node@25.0.5)(terser@5.44.1)) transitivePeerDependencies: - preact - supports-color @@ -3634,7 +3634,7 @@ snapshots: '@prefresh/utils@1.2.1': {} - '@prefresh/vite@2.4.11(preact@10.28.2)(vite@7.3.1(@types/node@25.0.3)(terser@5.44.1))': + '@prefresh/vite@2.4.11(preact@10.28.2)(vite@7.3.1(@types/node@25.0.5)(terser@5.44.1))': dependencies: '@babel/core': 7.28.5 '@prefresh/babel-plugin': 0.5.2 @@ -3642,7 +3642,7 @@ snapshots: '@prefresh/utils': 1.2.1 '@rollup/pluginutils': 4.2.1 preact: 10.28.2 - vite: 7.3.1(@types/node@25.0.3)(terser@5.44.1) + vite: 7.3.1(@types/node@25.0.5)(terser@5.44.1) transitivePeerDependencies: - supports-color @@ -3728,9 +3728,9 @@ snapshots: '@sindresorhus/is@0.7.0': {} - '@table-library/react-table-library@4.1.15(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@table-library/react-table-library@4.1.15(@emotion/react@11.14.0(@types/react@19.2.8)(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: - '@emotion/react': 11.14.0(@types/react@19.2.7)(react@19.2.3) + '@emotion/react': 11.14.0(@types/react@19.2.8)(react@19.2.3) clsx: 1.1.1 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) @@ -3758,7 +3758,7 @@ snapshots: '@types/glob@7.2.0': dependencies: '@types/minimatch': 6.0.0 - '@types/node': 25.0.3 + '@types/node': 25.0.5 '@types/imagemin-gifsicle@7.0.4': dependencies: @@ -3787,19 +3787,19 @@ snapshots: '@types/imagemin@7.0.1': dependencies: - '@types/node': 25.0.3 + '@types/node': 25.0.5 '@types/json-schema@7.0.15': {} '@types/keyv@3.1.4': dependencies: - '@types/node': 25.0.3 + '@types/node': 25.0.5 '@types/minimatch@6.0.0': dependencies: minimatch: 10.1.1 - '@types/node@25.0.3': + '@types/node@25.0.5': dependencies: undici-types: 7.16.0 @@ -3807,25 +3807,25 @@ snapshots: '@types/prop-types@15.7.15': {} - '@types/react-dom@19.2.3(@types/react@19.2.7)': + '@types/react-dom@19.2.3(@types/react@19.2.8)': dependencies: - '@types/react': 19.2.7 + '@types/react': 19.2.8 - '@types/react-transition-group@4.4.12(@types/react@19.2.7)': + '@types/react-transition-group@4.4.12(@types/react@19.2.8)': dependencies: - '@types/react': 19.2.7 + '@types/react': 19.2.8 - '@types/react@19.2.7': + '@types/react@19.2.8': dependencies: csstype: 3.2.3 '@types/responselike@1.0.3': dependencies: - '@types/node': 25.0.3 + '@types/node': 25.0.5 '@types/svgo@2.6.4': dependencies: - '@types/node': 25.0.3 + '@types/node': 25.0.5 '@typescript-eslint/eslint-plugin@8.52.0(@typescript-eslint/parser@8.52.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2)(typescript@5.9.3)': dependencies: @@ -3982,7 +3982,7 @@ snapshots: base64-js@1.5.1: {} - baseline-browser-mapping@2.9.12: {} + baseline-browser-mapping@2.9.14: {} bin-build@3.0.0: dependencies: @@ -4039,7 +4039,7 @@ snapshots: browserslist@4.28.1: dependencies: - baseline-browser-mapping: 2.9.12 + baseline-browser-mapping: 2.9.14 caniuse-lite: 1.0.30001763 electron-to-chromium: 1.5.267 node-releases: 2.0.27 @@ -5990,7 +5990,7 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - vite-plugin-imagemin@0.6.1(vite@7.3.1(@types/node@25.0.3)(terser@5.44.1)): + vite-plugin-imagemin@0.6.1(vite@7.3.1(@types/node@25.0.5)(terser@5.44.1)): dependencies: '@types/imagemin': 7.0.1 '@types/imagemin-gifsicle': 7.0.4 @@ -6015,11 +6015,11 @@ snapshots: imagemin-webp: 6.1.0 jpegtran-bin: 6.0.1 pathe: 0.2.0 - vite: 7.3.1(@types/node@25.0.3)(terser@5.44.1) + vite: 7.3.1(@types/node@25.0.5)(terser@5.44.1) transitivePeerDependencies: - supports-color - vite-prerender-plugin@0.5.12(vite@7.3.1(@types/node@25.0.3)(terser@5.44.1)): + vite-prerender-plugin@0.5.12(vite@7.3.1(@types/node@25.0.5)(terser@5.44.1)): dependencies: kolorist: 1.8.0 magic-string: 0.30.21 @@ -6027,20 +6027,20 @@ snapshots: simple-code-frame: 1.3.0 source-map: 0.7.6 stack-trace: 1.0.0-pre2 - vite: 7.3.1(@types/node@25.0.3)(terser@5.44.1) + vite: 7.3.1(@types/node@25.0.5)(terser@5.44.1) - vite-tsconfig-paths@6.0.3(typescript@5.9.3)(vite@7.3.1(@types/node@25.0.3)(terser@5.44.1)): + vite-tsconfig-paths@6.0.4(typescript@5.9.3)(vite@7.3.1(@types/node@25.0.5)(terser@5.44.1)): dependencies: debug: 4.4.3 globrex: 0.1.2 tsconfck: 3.1.6(typescript@5.9.3) optionalDependencies: - vite: 7.3.1(@types/node@25.0.3)(terser@5.44.1) + vite: 7.3.1(@types/node@25.0.5)(terser@5.44.1) transitivePeerDependencies: - supports-color - typescript - vite@7.3.1(@types/node@25.0.3)(terser@5.44.1): + vite@7.3.1(@types/node@25.0.5)(terser@5.44.1): dependencies: esbuild: 0.27.2 fdir: 6.5.0(picomatch@4.0.3) @@ -6049,7 +6049,7 @@ snapshots: rollup: 4.55.1 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 25.0.3 + '@types/node': 25.0.5 fsevents: 2.3.3 terser: 5.44.1 diff --git a/mock-api/package.json b/mock-api/package.json index 18711319b..d05239e7b 100644 --- a/mock-api/package.json +++ b/mock-api/package.json @@ -15,5 +15,5 @@ "itty-router": "^5.0.22", "prettier": "^3.7.4" }, - "packageManager": "pnpm@10.27.0+sha512.72d699da16b1179c14ba9e64dc71c9a40988cbdc65c264cb0e489db7de917f20dcf4d64d8723625f2969ba52d4b7e2a1170682d9ac2a5dcaeaab732b7e16f04a" + "packageManager": "pnpm@10.28.0+sha512.05df71d1421f21399e053fde567cea34d446fa02c76571441bfc1c7956e98e363088982d940465fd34480d4d90a0668bc12362f8aa88000a64e83d0b0e47be48" } From 66c74f85a4a314704effa0a77e689b81131b3957 Mon Sep 17 00:00:00 2001 From: proddy Date: Sat, 10 Jan 2026 18:08:17 +0100 Subject: [PATCH 02/10] formatting --- interface/src/app/main/SchedulerDialog.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/interface/src/app/main/SchedulerDialog.tsx b/interface/src/app/main/SchedulerDialog.tsx index a5cd6deec..881aa14d0 100644 --- a/interface/src/app/main/SchedulerDialog.tsx +++ b/interface/src/app/main/SchedulerDialog.tsx @@ -191,7 +191,8 @@ const SchedulerDialog = ({ const handleDOWChange = useCallback( (_event: React.SyntheticEvent, flags: string[]) => { - const newFlags = getFlagDOWnumber(flags) === 0 ? FLAG_ALL_DAYS : getFlagDOWnumber(flags); + const newFlags = + getFlagDOWnumber(flags) === 0 ? FLAG_ALL_DAYS : getFlagDOWnumber(flags); setEditItem((prev) => ({ ...prev, flags: newFlags })); }, [getFlagDOWnumber] From cc1f16596ac54fd34964c35478be3e274113df09 Mon Sep 17 00:00:00 2001 From: proddy Date: Sat, 10 Jan 2026 18:08:44 +0100 Subject: [PATCH 03/10] add ha_number_node --- mock-api/restServer.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/mock-api/restServer.ts b/mock-api/restServer.ts index 4d510bca0..2c9504147 100644 --- a/mock-api/restServer.ts +++ b/mock-api/restServer.ts @@ -586,6 +586,7 @@ let mqtt_settings = { keep_alive: 60, clean_session: true, entity_format: 1, + ha_number_mode: 0, publish_time_boiler: 10, publish_time_thermostat: 10, publish_time_solar: 10, From c732ec301a78657c1bd5d1ce2cefc51ccab0fd9c Mon Sep 17 00:00:00 2001 From: proddy Date: Sat, 10 Jan 2026 18:08:54 +0100 Subject: [PATCH 04/10] update --- CHANGELOG_LATEST.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG_LATEST.md b/CHANGELOG_LATEST.md index ae86a9df1..b8ca89838 100644 --- a/CHANGELOG_LATEST.md +++ b/CHANGELOG_LATEST.md @@ -8,7 +8,7 @@ For more details go to [emsesp.org](https://emsesp.org/). - update time saved in nvs - heatpump entities [#2883](https://github.com/emsesp/EMS-ESP32/issues/2883) -- HA number mode selectable box/slider (slider for max range 100) [#2900](https://github.com/emsesp/EMS-ESP32/discussions/2900) +- HA input number format (mode) selectable box/slider (slider for max range 100) [#2900](https://github.com/emsesp/EMS-ESP32/discussions/2900) ## Fixed From a6905109031c83d5b157198aaaec07bf9c6b15fa Mon Sep 17 00:00:00 2001 From: proddy Date: Sat, 10 Jan 2026 18:09:02 +0100 Subject: [PATCH 05/10] update --- project-words.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/project-words.txt b/project-words.txt index aaf3d1a7e..ea16610ce 100644 --- a/project-words.txt +++ b/project-words.txt @@ -1447,4 +1447,5 @@ SPIIO SPIDQS txpause relais -pinout \ No newline at end of file +pinout +TXEN \ No newline at end of file From 64c9882d8cc1226297c848236dd4c53be37d5a60 Mon Sep 17 00:00:00 2001 From: proddy Date: Sat, 10 Jan 2026 18:09:17 +0100 Subject: [PATCH 06/10] add children to avoid linting errors --- interface/src/components/ButtonRow.tsx | 4 ++-- interface/src/components/MessageBox.tsx | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/interface/src/components/ButtonRow.tsx b/interface/src/components/ButtonRow.tsx index 8fff5e161..562fd4b19 100644 --- a/interface/src/components/ButtonRow.tsx +++ b/interface/src/components/ButtonRow.tsx @@ -1,9 +1,9 @@ -import { memo } from 'react'; +import { type FC, type PropsWithChildren, memo } from 'react'; import { Box } from '@mui/material'; import type { BoxProps } from '@mui/material'; -const ButtonRow = memo(({ children, ...rest }) => ( +const ButtonRow: FC> = memo(({ children, ...rest }) => ( > = { @@ -28,7 +29,7 @@ const LEVEL_PALETTE_PATHS: Record = { error: 'error.dark' }; -const MessageBox: FC = ({ +const MessageBox: FC> = ({ level, message, sx, From 43b3e74c084a525869dcf20a3ddfc275777400b4 Mon Sep 17 00:00:00 2001 From: proddy Date: Sat, 10 Jan 2026 18:09:38 +0100 Subject: [PATCH 07/10] input number format --- interface/src/app/settings/MqttSettings.tsx | 144 ++++++++++---------- interface/src/i18n/cz/index.ts | 2 +- interface/src/i18n/de/index.ts | 2 +- interface/src/i18n/en/index.ts | 2 +- interface/src/i18n/fr/index.ts | 2 +- interface/src/i18n/it/index.ts | 2 +- interface/src/i18n/nl/index.ts | 2 +- interface/src/i18n/no/index.ts | 2 +- interface/src/i18n/pl/index.ts | 2 +- interface/src/i18n/sk/index.ts | 2 +- interface/src/i18n/sv/index.ts | 2 +- interface/src/i18n/tr/index.ts | 2 +- 12 files changed, 84 insertions(+), 82 deletions(-) diff --git a/interface/src/app/settings/MqttSettings.tsx b/interface/src/app/settings/MqttSettings.tsx index 662f9a620..f910cadcd 100644 --- a/interface/src/app/settings/MqttSettings.tsx +++ b/interface/src/app/settings/MqttSettings.tsx @@ -345,89 +345,91 @@ const MqttSettings = () => { )} - - - - } - label={LL.MQTT_PUBLISH_TEXT_3()} - /> - - {data.ha_enabled && ( - - - - Home Assistant - Domoticz - Domoticz (latest) - - - - - - - - {LL.MQTT_ENTITY_FORMAT_0()} - - {LL.MQTT_ENTITY_FORMAT_1()} (v3.5) - - - {LL.MQTT_ENTITY_FORMAT_2()} (v3.5) - - - {LL.MQTT_ENTITY_FORMAT_1()} (latest) - - - {LL.MQTT_ENTITY_FORMAT_2()} (latest) - - - - + {/* */} + + + } + label={LL.MQTT_PUBLISH_TEXT_3()} + /> + + {data.ha_enabled && ( + + + + Home Assistant + Domoticz + Domoticz (latest) + + + + + + + + {LL.MQTT_ENTITY_FORMAT_0()} + + {LL.MQTT_ENTITY_FORMAT_1()} (v3.5) + + + {LL.MQTT_ENTITY_FORMAT_2()} (v3.5) + + + {LL.MQTT_ENTITY_FORMAT_1()} (latest) + + + {LL.MQTT_ENTITY_FORMAT_2()} (latest) + + + + + {data.discovery_type === 0 && ( Box Slider - + )} - )} - + + )} {LL.MQTT_PUBLISH_INTERVALS()} (0=auto) diff --git a/interface/src/i18n/cz/index.ts b/interface/src/i18n/cz/index.ts index cc8173df0..27cef9a70 100644 --- a/interface/src/i18n/cz/index.ts +++ b/interface/src/i18n/cz/index.ts @@ -219,7 +219,7 @@ const cz: Translation = { MQTT_PUBLISH_TEXT_3: 'Povolit MQTT Discovery', MQTT_PUBLISH_TEXT_4: 'Prefix pro Discovery témata', MQTT_PUBLISH_TEXT_5: 'Typ Discovery', - MQTT_PUBLISH_TEXT_6: 'Number mode', + MQTT_INPUT_NUMBER_FORMAT: 'Formát čísla', MQTT_PUBLISH_INTERVALS: 'Intervaly publikování', MQTT_INT_BOILER: 'Kotle a tepelná čerpadla', MQTT_INT_THERMOSTATS: 'Termostaty', diff --git a/interface/src/i18n/de/index.ts b/interface/src/i18n/de/index.ts index 969708d2d..53634bde9 100644 --- a/interface/src/i18n/de/index.ts +++ b/interface/src/i18n/de/index.ts @@ -219,7 +219,7 @@ const de: Translation = { MQTT_PUBLISH_TEXT_3: 'Aktiviere `MQTT Discovery`', MQTT_PUBLISH_TEXT_4: 'Prefix für die `Discovery`-Topics', MQTT_PUBLISH_TEXT_5: 'Discovery Typ', - MQTT_PUBLISH_TEXT_6: 'Number mode', + MQTT_INPUT_NUMBER_FORMAT: 'Zahlenformat', MQTT_PUBLISH_INTERVALS: 'Veröffentlichungs-Intervalle', MQTT_INT_BOILER: 'Boiler und Wärmepumpen', MQTT_INT_THERMOSTATS: 'Thermostate', diff --git a/interface/src/i18n/en/index.ts b/interface/src/i18n/en/index.ts index c561cd0ba..7196fcd6e 100644 --- a/interface/src/i18n/en/index.ts +++ b/interface/src/i18n/en/index.ts @@ -219,7 +219,7 @@ const en: Translation = { MQTT_PUBLISH_TEXT_3: 'Enable MQTT Discovery', MQTT_PUBLISH_TEXT_4: 'Prefix for the Discovery topics', MQTT_PUBLISH_TEXT_5: 'Discovery type', - MQTT_PUBLISH_TEXT_6: 'Number mode', + MQTT_INPUT_NUMBER_FORMAT: 'Input Number Fomat', MQTT_PUBLISH_INTERVALS: 'Publish Intervals', MQTT_INT_BOILER: 'Boilers and Heat Pumps', MQTT_INT_THERMOSTATS: 'Thermostats', diff --git a/interface/src/i18n/fr/index.ts b/interface/src/i18n/fr/index.ts index 80499a5df..13a18327a 100644 --- a/interface/src/i18n/fr/index.ts +++ b/interface/src/i18n/fr/index.ts @@ -219,7 +219,7 @@ const fr: Translation = { MQTT_PUBLISH_TEXT_3: 'Activer la découverte MQTT', MQTT_PUBLISH_TEXT_4: 'Préfixe pour les topics découverte', MQTT_PUBLISH_TEXT_5: 'Type de découverte', - MQTT_PUBLISH_TEXT_6: 'Number mode', + MQTT_INPUT_NUMBER_FORMAT: 'Format des nombres', MQTT_PUBLISH_INTERVALS: 'Intervalles de publication', MQTT_INT_BOILER: 'Chaudières et pompes à chaleur', MQTT_INT_THERMOSTATS: 'Thermostats', diff --git a/interface/src/i18n/it/index.ts b/interface/src/i18n/it/index.ts index f8d557d94..51f29f9fe 100644 --- a/interface/src/i18n/it/index.ts +++ b/interface/src/i18n/it/index.ts @@ -219,7 +219,7 @@ const it: Translation = { MQTT_PUBLISH_TEXT_3: 'Abilita rilevamento MQTT (Home Assistant, Domoticz)', MQTT_PUBLISH_TEXT_4: 'Prefisso per gli argomenti di scoperta', MQTT_PUBLISH_TEXT_5: 'Discovery type', - MQTT_PUBLISH_TEXT_6: 'Number mode', + MQTT_INPUT_NUMBER_FORMAT: 'Formato numero di input', MQTT_PUBLISH_INTERVALS: 'Pubblica intervalli', MQTT_INT_BOILER: 'Caldaie e Pompe di Calore', MQTT_INT_THERMOSTATS: 'Termostati', diff --git a/interface/src/i18n/nl/index.ts b/interface/src/i18n/nl/index.ts index 57d026140..9463088a8 100644 --- a/interface/src/i18n/nl/index.ts +++ b/interface/src/i18n/nl/index.ts @@ -219,7 +219,7 @@ const nl: Translation = { MQTT_PUBLISH_TEXT_3: 'Activeer MQTT Discovery', MQTT_PUBLISH_TEXT_4: 'Prefix voor de Discovery topics', MQTT_PUBLISH_TEXT_5: 'Discovery type', - MQTT_PUBLISH_TEXT_6: 'Number mode', + MQTT_INPUT_NUMBER_FORMAT: 'Getalformaat', MQTT_PUBLISH_INTERVALS: 'Publicatie intervallen', MQTT_INT_BOILER: 'CV ketels en warmtepompen', MQTT_INT_THERMOSTATS: 'Thermostaten', diff --git a/interface/src/i18n/no/index.ts b/interface/src/i18n/no/index.ts index 60d0a485d..63365268d 100644 --- a/interface/src/i18n/no/index.ts +++ b/interface/src/i18n/no/index.ts @@ -219,7 +219,7 @@ const no: Translation = { MQTT_PUBLISH_TEXT_3: 'Aktiver MQTT Discovery', MQTT_PUBLISH_TEXT_4: 'Prefiks for Discovery topics', MQTT_PUBLISH_TEXT_5: 'Discovery type', - MQTT_PUBLISH_TEXT_6: 'Number mode', + MQTT_INPUT_NUMBER_FORMAT: 'Nummerformat', MQTT_PUBLISH_INTERVALS: 'Publiseringsintervall', MQTT_INT_BOILER: 'Fyr/Varmepumpe', MQTT_INT_THERMOSTATS: 'Termostat', diff --git a/interface/src/i18n/pl/index.ts b/interface/src/i18n/pl/index.ts index 2135d8e97..60ee8b58f 100644 --- a/interface/src/i18n/pl/index.ts +++ b/interface/src/i18n/pl/index.ts @@ -219,7 +219,7 @@ const pl: BaseTranslation = { MQTT_PUBLISH_TEXT_3: 'Włącz opcję "MQTT discovery"', MQTT_PUBLISH_TEXT_4: 'Prefiks dla "MQTT discovery"', MQTT_PUBLISH_TEXT_5: 'Typ "MQTT discovery"', - MQTT_PUBLISH_TEXT_6: 'Number mode', + MQTT_INPUT_NUMBER_FORMAT: 'Format liczby', MQTT_PUBLISH_INTERVALS: 'Interwały publikowania', MQTT_INT_BOILER: 'Kotły i pompy ciepła', MQTT_INT_THERMOSTATS: 'Termostaty', diff --git a/interface/src/i18n/sk/index.ts b/interface/src/i18n/sk/index.ts index 635d1eb4c..e74175241 100644 --- a/interface/src/i18n/sk/index.ts +++ b/interface/src/i18n/sk/index.ts @@ -219,7 +219,7 @@ const sk: Translation = { MQTT_PUBLISH_TEXT_3: 'Povolenie zisťovania MQTT', MQTT_PUBLISH_TEXT_4: 'Predpona tém Discovery', MQTT_PUBLISH_TEXT_5: 'Typ zistenia', - MQTT_PUBLISH_TEXT_6: 'Number mode', + MQTT_INPUT_NUMBER_FORMAT: 'Formát čísla', MQTT_PUBLISH_INTERVALS: 'Intervaly zverejňovania', MQTT_INT_BOILER: 'Kotly a tepelné čerpadlá', MQTT_INT_THERMOSTATS: 'Termostaty', diff --git a/interface/src/i18n/sv/index.ts b/interface/src/i18n/sv/index.ts index 79bee288f..7ff150a83 100644 --- a/interface/src/i18n/sv/index.ts +++ b/interface/src/i18n/sv/index.ts @@ -219,7 +219,7 @@ const sv: Translation = { MQTT_PUBLISH_TEXT_3: 'Aktivera MQTT Discovery', MQTT_PUBLISH_TEXT_4: 'Prefix för Discovery topics', MQTT_PUBLISH_TEXT_5: 'Discoverytyp', - MQTT_PUBLISH_TEXT_6: 'Number mode', + MQTT_INPUT_NUMBER_FORMAT: 'Nummerformat', MQTT_PUBLISH_INTERVALS: 'Publiceringsintervall', MQTT_INT_BOILER: 'Värmepump/panna', MQTT_INT_THERMOSTATS: 'Termostater', diff --git a/interface/src/i18n/tr/index.ts b/interface/src/i18n/tr/index.ts index f27982ca8..f280a7183 100644 --- a/interface/src/i18n/tr/index.ts +++ b/interface/src/i18n/tr/index.ts @@ -219,7 +219,7 @@ const tr: Translation = { MQTT_PUBLISH_TEXT_3: 'MQTT keşfi etkinleştir (Home Assistant, Domoticz)', MQTT_PUBLISH_TEXT_4: 'Keşif konuları için ön ek', MQTT_PUBLISH_TEXT_5: 'Domoticz Format', - MQTT_PUBLISH_TEXT_6: 'Number mode', + MQTT_INPUT_NUMBER_FORMAT: 'Sayı Biçimi', MQTT_PUBLISH_INTERVALS: 'Yayınlama aralıkları', MQTT_INT_BOILER: 'Kazanlar ve Isı Pompaları', MQTT_INT_THERMOSTATS: 'Termostatlar', From 8a7a1383a75c540a84ee9e9569045ccbd979f5d2 Mon Sep 17 00:00:00 2001 From: proddy Date: Sat, 10 Jan 2026 18:59:42 +0100 Subject: [PATCH 08/10] added comment reference to HA --- src/core/locale_common.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/core/locale_common.h b/src/core/locale_common.h index cf1220252..b840ad511 100644 --- a/src/core/locale_common.h +++ b/src/core/locale_common.h @@ -245,6 +245,7 @@ MAKE_NOTRANSLATION(tag_device_data, "") // Unit Of Measurement mapping - maps to DeviceValueUOM_s in emsdevice.cpp // Translating hours/minute/seconds are done in emsdevice.cpp (uom_to_string()) +// to keep to some form of consistency, all UOMs follow Home Assistant naming conventions - https://developers.home-assistant.io/docs/core/entity/sensor/#available-device-classes MAKE_WORD_CUSTOM(uom_blank, " ") MAKE_WORD_CUSTOM(uom_percent, "%") MAKE_WORD_CUSTOM(uom_degrees, "°C") From b78d47cbd0ddbae6b64db57a4433bc1138b21246 Mon Sep 17 00:00:00 2001 From: proddy Date: Sat, 10 Jan 2026 19:00:05 +0100 Subject: [PATCH 09/10] minor ui change to how board profile is shown --- .../src/app/settings/ApplicationSettings.tsx | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/interface/src/app/settings/ApplicationSettings.tsx b/interface/src/app/settings/ApplicationSettings.tsx index 84455c077..c62ed179e 100644 --- a/interface/src/app/settings/ApplicationSettings.tsx +++ b/interface/src/app/settings/ApplicationSettings.tsx @@ -40,12 +40,23 @@ import { BOARD_PROFILES } from '../main/types'; import type { APIcall, BoardProfileKey, Settings } from '../main/types'; import { createSettingsValidator } from '../main/validators'; -export function boardProfileSelectItems() { - return Object.keys(BOARD_PROFILES).map((code) => ( +export function boardProfileSelectItems(boardProfile?: string, developerMode?: boolean, LL?: any) { + const items = Object.keys(BOARD_PROFILES).map((code) => ( {BOARD_PROFILES[code as BoardProfileKey]} )); + + if (boardProfile === 'CUSTOM' || developerMode) { + items.push(); + items.push( + + {LL?.CUSTOM()} + + ); + } + + return items; } const ApplicationSettings = () => { @@ -181,7 +192,10 @@ const ApplicationSettings = () => { }, [validateAndSubmit, doRestart]); // Memoize board profile select items to prevent recreation - const boardProfileItems = useMemo(() => boardProfileSelectItems(), []); + const boardProfileItems = useMemo( + () => boardProfileSelectItems(data?.board_profile, data?.developer_mode, LL), + [data?.board_profile, data?.developer_mode, LL] + ); const content = () => { if (!data || !hardwareData) { @@ -502,12 +516,6 @@ const ApplicationSettings = () => { ) : ( boardProfileItems )} - - {(data.board_profile === 'CUSTOM' || data.developer_mode) && ( - - {LL.CUSTOM()}… - - )} {data.board_profile === 'CUSTOM' && ( <> From 28a5d4ef1aceef19f8f83dc28ce37a031c6bc063 Mon Sep 17 00:00:00 2001 From: proddy Date: Sat, 10 Jan 2026 19:00:14 +0100 Subject: [PATCH 10/10] fix comment --- src/core/emsdevicevalue.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/emsdevicevalue.cpp b/src/core/emsdevicevalue.cpp index e568faa44..d66b7ec9d 100644 --- a/src/core/emsdevicevalue.cpp +++ b/src/core/emsdevicevalue.cpp @@ -103,7 +103,7 @@ DeviceValue::DeviceValue(uint8_t device_type, } // mapping of UOM, to match order in DeviceValueUOM enum emsdevicevalue.h -// also maps to DeviceValueUOM in interface/src/project/types.ts for the Web UI +// also maps to DeviceValueUOM in interface/src/app/main/types.ts for the Web UI // must be an int of 4 bytes, 32bit aligned const char * DeviceValue::DeviceValueUOM_s[] = {