diff --git a/CHANGELOG_LATEST.md b/CHANGELOG_LATEST.md index 8ee694d5f..016532ba7 100644 --- a/CHANGELOG_LATEST.md +++ b/CHANGELOG_LATEST.md @@ -1,11 +1,20 @@ # Changelog -## [3.6.1] +## [3.6.2] ## **IMPORTANT! BREAKING CHANGES** ## Added +- power entities +- optional input of BSSID for AP connection +- return empty json if no entries in scheduler/custom/analogsnesor/temperaturesensor + ## Fixed +- wifi full scan to get strongest AP +- add missing dhw tags + ## Changed + +- mqtt queue max 300 messages, check heap and maxAlloc diff --git a/interface/package.json b/interface/package.json index 017f22884..bcbaab1ac 100644 --- a/interface/package.json +++ b/interface/package.json @@ -28,7 +28,7 @@ "@prefresh/vite": "^2.4.1", "@table-library/react-table-library": "4.1.7", "@types/lodash-es": "^4.17.9", - "@types/node": "^20.6.2", + "@types/node": "^20.6.3", "@types/react": "^18.2.22", "@types/react-dom": "^18.2.7", "@types/react-router-dom": "^5.3.3", @@ -69,9 +69,9 @@ "npm-run-all": "^4.1.5", "prettier": "^3.0.3", "rollup-plugin-visualizer": "^5.9.2", - "terser": "^5.19.4", + "terser": "^5.20.0", "vite": "^4.4.9", - "vite-plugin-svgr": "^3.2.0", + "vite-plugin-svgr": "^4.0.0", "vite-tsconfig-paths": "^4.2.1" }, "packageManager": "yarn@3.4.1" diff --git a/interface/src/SignIn.tsx b/interface/src/SignIn.tsx index 74b77e374..116c1b1eb 100644 --- a/interface/src/SignIn.tsx +++ b/interface/src/SignIn.tsx @@ -15,15 +15,15 @@ import { PROJECT_NAME } from 'api/env'; import { ValidatedPasswordField, ValidatedTextField } from 'components'; import { AuthenticationContext } from 'contexts/authentication'; -import { ReactComponent as DEflag } from 'i18n/DE.svg'; -import { ReactComponent as FRflag } from 'i18n/FR.svg'; -import { ReactComponent as GBflag } from 'i18n/GB.svg'; -import { ReactComponent as ITflag } from 'i18n/IT.svg'; -import { ReactComponent as NLflag } from 'i18n/NL.svg'; -import { ReactComponent as NOflag } from 'i18n/NO.svg'; -import { ReactComponent as PLflag } from 'i18n/PL.svg'; -import { ReactComponent as SVflag } from 'i18n/SV.svg'; -import { ReactComponent as TRflag } from 'i18n/TR.svg'; +import DEflag from 'i18n/DE.svg'; +import FRflag from 'i18n/FR.svg'; +import GBflag from 'i18n/GB.svg'; +import ITflag from 'i18n/IT.svg'; +import NLflag from 'i18n/NL.svg'; +import NOflag from 'i18n/NO.svg'; +import PLflag from 'i18n/PL.svg'; +import SVflag from 'i18n/SV.svg'; +import TRflag from 'i18n/TR.svg'; import { I18nContext } from 'i18n/i18n-react'; import { loadLocaleAsync } from 'i18n/i18n-util.async'; import { onEnterCallback, updateValue } from 'utils'; @@ -115,39 +115,39 @@ const SignIn: FC = () => { - +  DE - +  EN - +  FR - +  IT - +  NL - +  NO - +  PL - +  SV - +  TR diff --git a/interface/src/components/layout/LayoutAuthMenu.tsx b/interface/src/components/layout/LayoutAuthMenu.tsx index b0f2af642..e9bbdaf6f 100644 --- a/interface/src/components/layout/LayoutAuthMenu.tsx +++ b/interface/src/components/layout/LayoutAuthMenu.tsx @@ -19,15 +19,15 @@ import type { Locales } from 'i18n/i18n-types'; import type { FC, ChangeEventHandler } from 'react'; import { AuthenticatedContext } from 'contexts/authentication'; -import { ReactComponent as DEflag } from 'i18n/DE.svg'; -import { ReactComponent as FRflag } from 'i18n/FR.svg'; -import { ReactComponent as GBflag } from 'i18n/GB.svg'; -import { ReactComponent as ITflag } from 'i18n/IT.svg'; -import { ReactComponent as NLflag } from 'i18n/NL.svg'; -import { ReactComponent as NOflag } from 'i18n/NO.svg'; -import { ReactComponent as PLflag } from 'i18n/PL.svg'; -import { ReactComponent as SVflag } from 'i18n/SV.svg'; -import { ReactComponent as TRflag } from 'i18n/TR.svg'; +import DEflag from 'i18n/DE.svg'; +import FRflag from 'i18n/FR.svg'; +import GBflag from 'i18n/GB.svg'; +import ITflag from 'i18n/IT.svg'; +import NLflag from 'i18n/NL.svg'; +import NOflag from 'i18n/NO.svg'; +import PLflag from 'i18n/PL.svg'; +import SVflag from 'i18n/SV.svg'; +import TRflag from 'i18n/TR.svg'; import { I18nContext } from 'i18n/i18n-react'; import { loadLocaleAsync } from 'i18n/i18n-util.async'; @@ -75,39 +75,39 @@ const LayoutAuthMenu: FC = () => { select > - +  DE - +  EN - +  FR - +  IT - +  NL - +  NO - +  PL - +  SV - +  TR diff --git a/interface/src/framework/network/NetworkSettingsForm.tsx b/interface/src/framework/network/NetworkSettingsForm.tsx index a1a0af29e..ffd2fd81e 100644 --- a/interface/src/framework/network/NetworkSettingsForm.tsx +++ b/interface/src/framework/network/NetworkSettingsForm.tsx @@ -82,7 +82,8 @@ const WiFiSettingsForm: FC = () => { if (selectedNetwork) { updateState('networkSettings', (current_data) => ({ ssid: selectedNetwork.ssid, - password: '', + bssid: selectedNetwork.bssid, + password: current_data ? current_data.password : '', hostname: current_data?.hostname, static_ip_config: false, enableIPv6: false, @@ -117,6 +118,12 @@ const WiFiSettingsForm: FC = () => { } catch (errors: any) { setFieldErrors(errors); } + deselectNetwork(); + }; + + const setCancel = async () => { + deselectNetwork(); + await loadData(); }; const restart = async () => { @@ -139,10 +146,17 @@ const WiFiSettingsForm: FC = () => { - + @@ -160,6 +174,16 @@ const WiFiSettingsForm: FC = () => { margin="normal" /> )} + {(!selectedNetwork || !isNetworkOpen(selectedNetwork)) && ( { )} - {!restartNeeded && dirtyFlags && dirtyFlags.length !== 0 && ( + {!restartNeeded && (selectedNetwork || (dirtyFlags && dirtyFlags.length !== 0)) && (