From 1818057c4c228c1f0f486793368b1fe12758536c Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Tue, 29 Aug 2023 12:39:14 +0200 Subject: [PATCH 01/12] update packages --- interface/.typesafe-i18n.json | 2 +- interface/package.json | 22 +- interface/yarn.lock | 404 ++++++++++++++++++++-------------- 3 files changed, 247 insertions(+), 181 deletions(-) diff --git a/interface/.typesafe-i18n.json b/interface/.typesafe-i18n.json index 813cc3bb6..ab39dacfa 100644 --- a/interface/.typesafe-i18n.json +++ b/interface/.typesafe-i18n.json @@ -1,5 +1,5 @@ { "adapter": "react", "baseLocale": "pl", - "$schema": "https://unpkg.com/typesafe-i18n@5.26.1/schema/typesafe-i18n.json" + "$schema": "https://unpkg.com/typesafe-i18n@5.26.2/schema/typesafe-i18n.json" } \ No newline at end of file diff --git a/interface/package.json b/interface/package.json index 04c5a169c..a5aef0721 100644 --- a/interface/package.json +++ b/interface/package.json @@ -22,17 +22,17 @@ "@alova/adapter-xhr": "^1.0.1", "@emotion/react": "^11.11.1", "@emotion/styled": "^11.11.0", - "@mui/icons-material": "^5.14.3", - "@mui/material": "^5.14.5", + "@mui/icons-material": "^5.14.6", + "@mui/material": "^5.14.6", "@preact/compat": "^17.1.2", "@prefresh/vite": "^2.4.1", "@table-library/react-table-library": "4.1.7", "@types/lodash-es": "^4.17.8", - "@types/node": "^20.5.1", - "@types/react": "^18.2.20", + "@types/node": "^20.5.7", + "@types/react": "^18.2.21", "@types/react-dom": "^18.2.7", "@types/react-router-dom": "^5.3.3", - "alova": "^2.11.0", + "alova": "^2.11.1", "async-validator": "^4.2.5", "history": "^5.3.0", "jwt-decode": "^3.1.2", @@ -46,16 +46,16 @@ "react-router-dom": "^6.15.0", "react-toastify": "^9.1.3", "sockette": "^2.0.6", - "typesafe-i18n": "^5.26.1", - "typescript": "^5.1.6" + "typesafe-i18n": "^5.26.2", + "typescript": "^5.2.2" }, "devDependencies": { - "@babel/core": "^7.22.10", + "@babel/core": "^7.22.11", "@preact/preset-vite": "^2.5.0", "@types/babel__core": "^7", - "@typescript-eslint/eslint-plugin": "^6.4.0", - "@typescript-eslint/parser": "^6.4.0", - "eslint": "^8.47.0", + "@typescript-eslint/eslint-plugin": "^6.5.0", + "@typescript-eslint/parser": "^6.5.0", + "eslint": "^8.48.0", "eslint-config-airbnb": "^19.0.4", "eslint-config-airbnb-typescript": "^17.1.0", "eslint-config-prettier": "^9.0.0", diff --git a/interface/yarn.lock b/interface/yarn.lock index 062c541f6..0d42f091a 100644 --- a/interface/yarn.lock +++ b/interface/yarn.lock @@ -78,26 +78,26 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.22.10": - version: 7.22.10 - resolution: "@babel/core@npm:7.22.10" +"@babel/core@npm:^7.22.11": + version: 7.22.11 + resolution: "@babel/core@npm:7.22.11" dependencies: "@ampproject/remapping": ^2.2.0 "@babel/code-frame": ^7.22.10 "@babel/generator": ^7.22.10 "@babel/helper-compilation-targets": ^7.22.10 "@babel/helper-module-transforms": ^7.22.9 - "@babel/helpers": ^7.22.10 - "@babel/parser": ^7.22.10 + "@babel/helpers": ^7.22.11 + "@babel/parser": ^7.22.11 "@babel/template": ^7.22.5 - "@babel/traverse": ^7.22.10 - "@babel/types": ^7.22.10 + "@babel/traverse": ^7.22.11 + "@babel/types": ^7.22.11 convert-source-map: ^1.7.0 debug: ^4.1.0 gensync: ^1.0.0-beta.2 - json5: ^2.2.2 + json5: ^2.2.3 semver: ^6.3.1 - checksum: aebc08abfc4d4370d3023b1c5a22db2edd896ddbe21ed54f11c654660481f598b08fd456f9a5aa90cd2d81e0ea6767cd73f72fc11f7ad04d897f8fb20671cc1c + checksum: 862c5459381b377e0f185772ae4cb93a236217786102a8acc514eeab7f99d1059c006bf86a17627e06171df5087e028ba1a2a4a74847bd8bdb62b6ba802814c2 languageName: node linkType: hard @@ -258,14 +258,14 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.22.10": - version: 7.22.10 - resolution: "@babel/helpers@npm:7.22.10" +"@babel/helpers@npm:^7.22.11": + version: 7.22.11 + resolution: "@babel/helpers@npm:7.22.11" dependencies: "@babel/template": ^7.22.5 - "@babel/traverse": ^7.22.10 - "@babel/types": ^7.22.10 - checksum: 14c2f4fe0663bf4042b82a09ea6eaa53b0844ed04c70d69be8fff0db504ab25a729c72ff427e84320a328e19853b4a8d9897a3d2379c0e70751053e6e23a7992 + "@babel/traverse": ^7.22.11 + "@babel/types": ^7.22.11 + checksum: ebb0f1e95bd07752cc5a82de14f73fc6de36bd74a2350266abc8b5e21ad89544705c5ac8765da318c85ffa0becb8d24063c19b33ccb3a0d830495227d921d044 languageName: node linkType: hard @@ -311,12 +311,12 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.22.10": - version: 7.22.10 - resolution: "@babel/parser@npm:7.22.10" +"@babel/parser@npm:^7.22.11": + version: 7.22.13 + resolution: "@babel/parser@npm:7.22.13" bin: parser: ./bin/babel-parser.js - checksum: 22de4b5b2e20dd5b44a73963e5fceef44501bacdd14f0b3b96fc16975826553c83c3e424e2ea906b4f2fb8c2129b176bcee33ae99e30de9006ceb28ded5c6ac7 + checksum: 181ec4b637c75347aff0fec9096af1b618796c4a28e4d0f1bbc6fea651776e27678e4c8db57de5958c77bc187898b205baa368597ac32e5c43f5578b43672f02 languageName: node linkType: hard @@ -357,7 +357,7 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.20.7, @babel/runtime@npm:^7.21.0, @babel/runtime@npm:^7.22.6, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.7.6, @babel/runtime@npm:^7.8.7": +"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.20.7, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.7.6, @babel/runtime@npm:^7.8.7": version: 7.22.6 resolution: "@babel/runtime@npm:7.22.6" dependencies: @@ -366,6 +366,15 @@ __metadata: languageName: node linkType: hard +"@babel/runtime@npm:^7.22.10": + version: 7.22.11 + resolution: "@babel/runtime@npm:7.22.11" + dependencies: + regenerator-runtime: ^0.14.0 + checksum: 5c875ad67a8b0c06ca3d7b5a3d90271e6b7b27ffc64ca7ce7a84ec11d520d91e5712a2796ef97b97418499cdb85bca11fb31ba605b9336c9728a908b6e0d0a9b + languageName: node + linkType: hard + "@babel/template@npm:^7.22.5": version: 7.22.5 resolution: "@babel/template@npm:7.22.5" @@ -377,9 +386,9 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.22.10": - version: 7.22.10 - resolution: "@babel/traverse@npm:7.22.10" +"@babel/traverse@npm:^7.22.11": + version: 7.22.11 + resolution: "@babel/traverse@npm:7.22.11" dependencies: "@babel/code-frame": ^7.22.10 "@babel/generator": ^7.22.10 @@ -387,11 +396,11 @@ __metadata: "@babel/helper-function-name": ^7.22.5 "@babel/helper-hoist-variables": ^7.22.5 "@babel/helper-split-export-declaration": ^7.22.6 - "@babel/parser": ^7.22.10 - "@babel/types": ^7.22.10 + "@babel/parser": ^7.22.11 + "@babel/types": ^7.22.11 debug: ^4.1.0 globals: ^11.1.0 - checksum: 8e8b63b053962908408ed9d954810e93f241122222db115327ed5876d020f420fc115ef2d79623c2a4928447ddc002ec220be2a152b241d19de2480c88e10cfb + checksum: 0a59df7c8660238d6a018de07e9b52592460cc393b724a7ac0289fe8129081ec2aeb772befe2c36909a32563c781082ffe85b407a26e2237a95b68c0f59e9849 languageName: node linkType: hard @@ -435,6 +444,17 @@ __metadata: languageName: node linkType: hard +"@babel/types@npm:^7.22.11": + version: 7.22.11 + resolution: "@babel/types@npm:7.22.11" + dependencies: + "@babel/helper-string-parser": ^7.22.5 + "@babel/helper-validator-identifier": ^7.22.5 + to-fast-properties: ^2.0.0 + checksum: 57632c8c409e604697824dd2799c978681c66e910d5bc4fdad04693a3f3e5d50b1119000d8fb215fcb88d095c6a41470814e4a4f34d8856d7da6781b9c39c53c + languageName: node + linkType: hard + "@emotion/babel-plugin@npm:^11.11.0": version: 11.11.0 resolution: "@emotion/babel-plugin@npm:11.11.0" @@ -770,10 +790,48 @@ __metadata: languageName: node linkType: hard -"@eslint/js@npm:^8.47.0": - version: 8.47.0 - resolution: "@eslint/js@npm:8.47.0" - checksum: fb5b1377f0d7a8299c65baa856b23a7976165b0fc269b6220fd8e6dfb7fa29de83528b16226ccbe3625f24082a53ec8ca19d75d89f057478f17871b4fcdb32a0 +"@eslint/js@npm:8.48.0": + version: 8.48.0 + resolution: "@eslint/js@npm:8.48.0" + checksum: c8ac8952f37cccd41b4adc4399a7a3a6a0b4c52d67bc55b412be5b3ffb476343b3463a4df2c1d7b633dbb6e0d5fb277eeaf3ba0de0dcdf6d0ed97fcdd416ba94 + languageName: node + linkType: hard + +"@floating-ui/core@npm:^1.4.1": + version: 1.4.1 + resolution: "@floating-ui/core@npm:1.4.1" + dependencies: + "@floating-ui/utils": ^0.1.1 + checksum: 6a738ff3b5bcca2470904a2462a2700e32081f6e681e077fd63c8d0b389439511a2a16187589df156fac6e8f47d56bdc0afea64303b9341fb5886cff82d87758 + languageName: node + linkType: hard + +"@floating-ui/dom@npm:^1.5.1": + version: 1.5.1 + resolution: "@floating-ui/dom@npm:1.5.1" + dependencies: + "@floating-ui/core": ^1.4.1 + "@floating-ui/utils": ^0.1.1 + checksum: cda044e72b6e015af70ef482ff19cae34b085c69a04e3d5d48613a58f6e88b71dbd7cc2f2ae02fc1f5f29ad8ba13c1c3074e2a4416b8c73ede47139177b5749c + languageName: node + linkType: hard + +"@floating-ui/react-dom@npm:^2.0.1": + version: 2.0.2 + resolution: "@floating-ui/react-dom@npm:2.0.2" + dependencies: + "@floating-ui/dom": ^1.5.1 + peerDependencies: + react: ">=16.8.0" + react-dom: ">=16.8.0" + checksum: bfd07cfc9047a31e92e223dbbe48f2cdb75460126217b35cfbf8555eaf1718ce7c11f4ee4d39bdee89eaf9ad0a5c4dd9af443a552116fc3478a19a9f6283bdf6 + languageName: node + linkType: hard + +"@floating-ui/utils@npm:^0.1.1": + version: 0.1.1 + resolution: "@floating-ui/utils@npm:0.1.1" + checksum: 3fca5a8bce10de87f78c9b9377db7d5a4c992f98adc3722e46725d9bd2a3a1051bb1c512caf5fe293752c660455df5f7b6a2153802f9299572fac3b565f4c407 languageName: node linkType: hard @@ -875,14 +933,15 @@ __metadata: languageName: node linkType: hard -"@mui/base@npm:5.0.0-beta.11": - version: 5.0.0-beta.11 - resolution: "@mui/base@npm:5.0.0-beta.11" +"@mui/base@npm:5.0.0-beta.12": + version: 5.0.0-beta.12 + resolution: "@mui/base@npm:5.0.0-beta.12" dependencies: - "@babel/runtime": ^7.22.6 + "@babel/runtime": ^7.22.10 "@emotion/is-prop-valid": ^1.2.1 + "@floating-ui/react-dom": ^2.0.1 "@mui/types": ^7.2.4 - "@mui/utils": ^5.14.5 + "@mui/utils": ^5.14.6 "@popperjs/core": ^2.11.8 clsx: ^2.0.0 prop-types: ^15.8.1 @@ -894,22 +953,22 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 25de1a0db597a5e2d1203b83ad1b932a6ccde4fbbbd3bda719931b8ff2fed63dd326937d6d07029ed895b1d50e1370ced180bfcf6daae0097464c5e4fe24f332 + checksum: ccb5fe0dcdb38f449c58728bc11429d77530de80741cd073e1993a8f4bb56c1caf7f342e84881751f8223399721f63b618dc8f5518d966f3f7abbc0caf3197e5 languageName: node linkType: hard -"@mui/core-downloads-tracker@npm:^5.14.5": - version: 5.14.5 - resolution: "@mui/core-downloads-tracker@npm:5.14.5" - checksum: bc877311e912cfd323bb9bb873cba973854e97049532bc600b33abfbbcf36b8dd9ec9277b1c695bb9d32fcdf46229c68023ee2592dc05f144c8b8ba49b4894c1 +"@mui/core-downloads-tracker@npm:^5.14.6": + version: 5.14.6 + resolution: "@mui/core-downloads-tracker@npm:5.14.6" + checksum: 36ad06cf4eb438062d94b38ab211f1f49d400d708c6e6908582a0013a980703d79b78e16bffeadb28e60ee54bf5bcf6a147bd39ad86e54e49445dacda90e9f32 languageName: node linkType: hard -"@mui/icons-material@npm:^5.14.3": - version: 5.14.3 - resolution: "@mui/icons-material@npm:5.14.3" +"@mui/icons-material@npm:^5.14.6": + version: 5.14.6 + resolution: "@mui/icons-material@npm:5.14.6" dependencies: - "@babel/runtime": ^7.22.6 + "@babel/runtime": ^7.22.10 peerDependencies: "@mui/material": ^5.0.0 "@types/react": ^17.0.0 || ^18.0.0 @@ -917,20 +976,20 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 34b8864288c4fea703376a8d05690dcb0dd76a8e6dd1fe6eb31317b3d6729cdadd3010b2ee995cca469b53399d4ef40b0d5de065df0e125a4ab3e84060809ae5 + checksum: 9ba51da2c424f6643754de1d99802d63aaf1f800a02884f4fb2ad9fae59d2170de638c942189fdac65cca537a3325a442302f8933199bee35c29f3e5fdf2fa24 languageName: node linkType: hard -"@mui/material@npm:^5.14.5": - version: 5.14.5 - resolution: "@mui/material@npm:5.14.5" +"@mui/material@npm:^5.14.6": + version: 5.14.6 + resolution: "@mui/material@npm:5.14.6" dependencies: - "@babel/runtime": ^7.22.6 - "@mui/base": 5.0.0-beta.11 - "@mui/core-downloads-tracker": ^5.14.5 - "@mui/system": ^5.14.5 + "@babel/runtime": ^7.22.10 + "@mui/base": 5.0.0-beta.12 + "@mui/core-downloads-tracker": ^5.14.6 + "@mui/system": ^5.14.6 "@mui/types": ^7.2.4 - "@mui/utils": ^5.14.5 + "@mui/utils": ^5.14.6 "@types/react-transition-group": ^4.4.6 clsx: ^2.0.0 csstype: ^3.1.2 @@ -950,16 +1009,16 @@ __metadata: optional: true "@types/react": optional: true - checksum: 5eed92c534eb4f8e1bc9c58c07ba9325300f9c36db726ff42bb5c53f0228321ecfaaf4d86f014792b441c06f59c90e4defb5b1092b1357b720c229e906badb3c + checksum: cc2d46d3bc28e5e90fac9d0919761c9e81d24db970ee402bdb569a8fa548c66b25a8f35a69627e737052edd6b3dea0f9b49b14a4c62250d0d00acab57b08684c languageName: node linkType: hard -"@mui/private-theming@npm:^5.14.5": - version: 5.14.5 - resolution: "@mui/private-theming@npm:5.14.5" +"@mui/private-theming@npm:^5.14.6": + version: 5.14.6 + resolution: "@mui/private-theming@npm:5.14.6" dependencies: - "@babel/runtime": ^7.22.6 - "@mui/utils": ^5.14.5 + "@babel/runtime": ^7.22.10 + "@mui/utils": ^5.14.6 prop-types: ^15.8.1 peerDependencies: "@types/react": ^17.0.0 || ^18.0.0 @@ -967,15 +1026,15 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 68694d542d04b2bcbbcf94db7e38f7e0152ed5b6046626edb1393aa4036ce0ab98c9463593bf3635591f7f45375c21a973f87e01a42a9e256581371239f7dd93 + checksum: 4c118ba67eb858db04005c299b12820a17da2c2552c0a1e261e5bd15d7075441c183c8544f0b44ec231742d4c59bd10d19a1fd9a562433d53908628f50891f0f languageName: node linkType: hard -"@mui/styled-engine@npm:^5.13.2": - version: 5.13.2 - resolution: "@mui/styled-engine@npm:5.13.2" +"@mui/styled-engine@npm:^5.14.6": + version: 5.14.6 + resolution: "@mui/styled-engine@npm:5.14.6" dependencies: - "@babel/runtime": ^7.21.0 + "@babel/runtime": ^7.22.10 "@emotion/cache": ^11.11.0 csstype: ^3.1.2 prop-types: ^15.8.1 @@ -988,19 +1047,19 @@ __metadata: optional: true "@emotion/styled": optional: true - checksum: ed53dbe0151067c6843989fc41245f98a56c48e7c341ce61656b71de2cb334bdf1cea8bbf625ddbc4ce600d6005717c2cd1f34473b3b41e154662353cf2c108e + checksum: 5788b1491511ea897a0b65113cd33babcf3e4df9e67db61cdac14ae6f9bab94f13bbb29579fa27b2a5cd593245defd4c82e81d2cd1ced58b7d0fd5305e919efa languageName: node linkType: hard -"@mui/system@npm:^5.14.5": - version: 5.14.5 - resolution: "@mui/system@npm:5.14.5" +"@mui/system@npm:^5.14.6": + version: 5.14.6 + resolution: "@mui/system@npm:5.14.6" dependencies: - "@babel/runtime": ^7.22.6 - "@mui/private-theming": ^5.14.5 - "@mui/styled-engine": ^5.13.2 + "@babel/runtime": ^7.22.10 + "@mui/private-theming": ^5.14.6 + "@mui/styled-engine": ^5.14.6 "@mui/types": ^7.2.4 - "@mui/utils": ^5.14.5 + "@mui/utils": ^5.14.6 clsx: ^2.0.0 csstype: ^3.1.2 prop-types: ^15.8.1 @@ -1016,7 +1075,7 @@ __metadata: optional: true "@types/react": optional: true - checksum: 851207fa8800001b5335038619a8af777e59be7f1da6b105f2d341ba6aa8106d2f44535b9ce1f2ec50fe8e496ed094ab729f8976d52976d99a3fd5d7839b8c48 + checksum: 289e6dcf8dc7b76b08ac7982131230f312b1e04ad863d0b5b38cd1c78e1af66be67b48b8c5c15c987b7370d1742a66082cd1da177ef636d36bb508c3e084eddc languageName: node linkType: hard @@ -1032,18 +1091,18 @@ __metadata: languageName: node linkType: hard -"@mui/utils@npm:^5.14.5": - version: 5.14.5 - resolution: "@mui/utils@npm:5.14.5" +"@mui/utils@npm:^5.14.6": + version: 5.14.6 + resolution: "@mui/utils@npm:5.14.6" dependencies: - "@babel/runtime": ^7.22.6 + "@babel/runtime": ^7.22.10 "@types/prop-types": ^15.7.5 "@types/react-is": ^18.2.1 prop-types: ^15.8.1 react-is: ^18.2.0 peerDependencies: react: ^17.0.0 || ^18.0.0 - checksum: 956eaad5635752c33f49a7ddcf62ba8b006333ec97430a811ed5af7553d6053b480445f97515bffe221cff95f8c2badbee9f00a9aab6856977b71e8a8367c6af + checksum: 4555811c44b10a4749b4dd6cfa4157f56a354c4e06b0a203995641b5c2c2065e5e92fc5c739025783fbf7e7aaf235dea7307090424d3291c02292ae18fd8d20f languageName: node linkType: hard @@ -1442,10 +1501,10 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^20.5.1": - version: 20.5.1 - resolution: "@types/node@npm:20.5.1" - checksum: b5aeaeb489842081190f8c2c09e923ff7b1b4ee3ecfceba12ba1030ce7750909a1b3c0f5372bd60cbe955e48a9889f416522e8a96697ad7209317752f395e3e5 +"@types/node@npm:^20.5.7": + version: 20.5.7 + resolution: "@types/node@npm:20.5.7" + checksum: e5bce3d38478f2a135e254e910f40f844d379dbc8d5576ec6532122297c435f9c05e01f585c38fb9a83e21bde2652cc266b6aa98e45c8b5e51cc5b11a4f64cf0 languageName: node linkType: hard @@ -1522,14 +1581,14 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:^18.2.20": - version: 18.2.20 - resolution: "@types/react@npm:18.2.20" +"@types/react@npm:^18.2.21": + version: 18.2.21 + resolution: "@types/react@npm:18.2.21" dependencies: "@types/prop-types": "*" "@types/scheduler": "*" csstype: ^3.0.2 - checksum: 42bab593f14b202a5ee98073ed579f147de9e4dd4dcdefcba19588cf06c0fff83f0a602db535e9ff0c0896a3aa25759841ebddb59a2c7c293cb6981ddee08fd0 + checksum: 5b5aff55d38c358a50108dddb24e06d344e4d578cc177dd2e24a7c5d0fadb034298e5e652b174053b5e75f0d6b0d9f926976c1c9f5e84fe94bb91348c54f5313 languageName: node linkType: hard @@ -1547,15 +1606,15 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^6.4.0": - version: 6.4.0 - resolution: "@typescript-eslint/eslint-plugin@npm:6.4.0" +"@typescript-eslint/eslint-plugin@npm:^6.5.0": + version: 6.5.0 + resolution: "@typescript-eslint/eslint-plugin@npm:6.5.0" dependencies: "@eslint-community/regexpp": ^4.5.1 - "@typescript-eslint/scope-manager": 6.4.0 - "@typescript-eslint/type-utils": 6.4.0 - "@typescript-eslint/utils": 6.4.0 - "@typescript-eslint/visitor-keys": 6.4.0 + "@typescript-eslint/scope-manager": 6.5.0 + "@typescript-eslint/type-utils": 6.5.0 + "@typescript-eslint/utils": 6.5.0 + "@typescript-eslint/visitor-keys": 6.5.0 debug: ^4.3.4 graphemer: ^1.4.0 ignore: ^5.2.4 @@ -1568,44 +1627,44 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 8be4e7fc7450051d10cb7c992e995f6759382887cf9671465f06c637c7b1e66065d3548ee761a53366437c45c3a40011dd576e55848569d753483e0206212cd9 + checksum: 1569ce7c6a1f578523349daaa8646435f7ea290912ece987030c9b38de96f804b3fbe293b2c87b342f42fc8f4233bd2ec837565da196748048bb097b30322052 languageName: node linkType: hard -"@typescript-eslint/parser@npm:^6.4.0": - version: 6.4.0 - resolution: "@typescript-eslint/parser@npm:6.4.0" +"@typescript-eslint/parser@npm:^6.5.0": + version: 6.5.0 + resolution: "@typescript-eslint/parser@npm:6.5.0" dependencies: - "@typescript-eslint/scope-manager": 6.4.0 - "@typescript-eslint/types": 6.4.0 - "@typescript-eslint/typescript-estree": 6.4.0 - "@typescript-eslint/visitor-keys": 6.4.0 + "@typescript-eslint/scope-manager": 6.5.0 + "@typescript-eslint/types": 6.5.0 + "@typescript-eslint/typescript-estree": 6.5.0 + "@typescript-eslint/visitor-keys": 6.5.0 debug: ^4.3.4 peerDependencies: eslint: ^7.0.0 || ^8.0.0 peerDependenciesMeta: typescript: optional: true - checksum: bf1b2d06fd8498a0e67d5bff4245fed0f20fdce8588c46db2cf970942b4763701565d8b585d9c0a2ad1372497dcca4c6a71a1b8fb41211050ab3fef06a434ee4 + checksum: 0b725eed37303028dc92db18d1ce2310111b606c0a9ed84b4fdf13480d580b2e05e9faed7dc1784752f609080ce1463fd3a8858b8412cce2eddb017bee907f59 languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:6.4.0": - version: 6.4.0 - resolution: "@typescript-eslint/scope-manager@npm:6.4.0" +"@typescript-eslint/scope-manager@npm:6.5.0": + version: 6.5.0 + resolution: "@typescript-eslint/scope-manager@npm:6.5.0" dependencies: - "@typescript-eslint/types": 6.4.0 - "@typescript-eslint/visitor-keys": 6.4.0 - checksum: 38adaecdbf505ba06cb3361491f9d351bbdb5c9778d8b3867389cd11fea811decfaf67d2576fcb2950eddd8346767235349a0b6f040889787c4b4380759f9fcb + "@typescript-eslint/types": 6.5.0 + "@typescript-eslint/visitor-keys": 6.5.0 + checksum: aaec7d7260eef0f36e09ab54050184223b24d5c10a915ef857af49658ec910c004dfe8c799866c0f49542b36d6218610d5dff97e642e8b3b0fb0de3c53ca1b8b languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:6.4.0": - version: 6.4.0 - resolution: "@typescript-eslint/type-utils@npm:6.4.0" +"@typescript-eslint/type-utils@npm:6.5.0": + version: 6.5.0 + resolution: "@typescript-eslint/type-utils@npm:6.5.0" dependencies: - "@typescript-eslint/typescript-estree": 6.4.0 - "@typescript-eslint/utils": 6.4.0 + "@typescript-eslint/typescript-estree": 6.5.0 + "@typescript-eslint/utils": 6.5.0 debug: ^4.3.4 ts-api-utils: ^1.0.1 peerDependencies: @@ -1613,23 +1672,23 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 6860a521f21cf5ee9ced62f0447840284d0d7a37198ad32df838db2b8852951d2c56554e52aba2e44b00be2ecd6d97c4588c431dae2456efec132b8c143fa881 + checksum: a17143e4e202a5d9e735577593285062dfc0899f91584dbd281d759f5808a39e69b3eac93ed8cd32cf14aaafac2fddbeeea0d89bb47d2e3d6960e94077dff824 languageName: node linkType: hard -"@typescript-eslint/types@npm:6.4.0": - version: 6.4.0 - resolution: "@typescript-eslint/types@npm:6.4.0" - checksum: 2eeb0635550d4999ceaeba26265fa75dbc46f0208cf12a734996f62c161f86579cc716d5e3a71d2294581777dc6774919b3f7bdcdf78f3a0192f49a6fe67ceee +"@typescript-eslint/types@npm:6.5.0": + version: 6.5.0 + resolution: "@typescript-eslint/types@npm:6.5.0" + checksum: df34f04fb22a6daf182d245c6943aa01c1696ca891edcd5e039bfa3ce5d0f917ed78f677fb006df5c9fbb1dabeb6ff4f0b80573debdfeacdd0dde1d52cacacc0 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:6.4.0": - version: 6.4.0 - resolution: "@typescript-eslint/typescript-estree@npm:6.4.0" +"@typescript-eslint/typescript-estree@npm:6.5.0": + version: 6.5.0 + resolution: "@typescript-eslint/typescript-estree@npm:6.5.0" dependencies: - "@typescript-eslint/types": 6.4.0 - "@typescript-eslint/visitor-keys": 6.4.0 + "@typescript-eslint/types": 6.5.0 + "@typescript-eslint/visitor-keys": 6.5.0 debug: ^4.3.4 globby: ^11.1.0 is-glob: ^4.0.3 @@ -1638,34 +1697,34 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 5eda6e7949e0e03a74e115f2a718945b7e037687d4cd20859a4745c2b75a9add5a01454d7f4971c1557aab4ecad07fce740216459c33e45b8a12ff19f2610468 + checksum: 6b5cff285a61ce1163efb257d2ba62c0c8cadff9ac3fde4cf5b4ac62ac14c76d33bf4e5b7ee920ebbfe92acaf79ed14fd9288585eedbc699083fa3a0dccd2e44 languageName: node linkType: hard -"@typescript-eslint/utils@npm:6.4.0": - version: 6.4.0 - resolution: "@typescript-eslint/utils@npm:6.4.0" +"@typescript-eslint/utils@npm:6.5.0": + version: 6.5.0 + resolution: "@typescript-eslint/utils@npm:6.5.0" dependencies: "@eslint-community/eslint-utils": ^4.4.0 "@types/json-schema": ^7.0.12 "@types/semver": ^7.5.0 - "@typescript-eslint/scope-manager": 6.4.0 - "@typescript-eslint/types": 6.4.0 - "@typescript-eslint/typescript-estree": 6.4.0 + "@typescript-eslint/scope-manager": 6.5.0 + "@typescript-eslint/types": 6.5.0 + "@typescript-eslint/typescript-estree": 6.5.0 semver: ^7.5.4 peerDependencies: eslint: ^7.0.0 || ^8.0.0 - checksum: 2c9e5eb2cc92c5d54befb8ed927405561a9b3710bdcc1b79f979faa48624dbe6b5b3e1cb1b145503a8e2dfeebf03859d58f11830cb5a1c5c98306dbd548decdd + checksum: 10ed3832b71262b99d5b103ed232771abf2680e1110cd0a4b97899488462e86a76a0e2dbc2419b7ef945b1f1c22a91607b05074a04fc811ad33ef6f03fb5a3cd languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:6.4.0": - version: 6.4.0 - resolution: "@typescript-eslint/visitor-keys@npm:6.4.0" +"@typescript-eslint/visitor-keys@npm:6.5.0": + version: 6.5.0 + resolution: "@typescript-eslint/visitor-keys@npm:6.5.0" dependencies: - "@typescript-eslint/types": 6.4.0 + "@typescript-eslint/types": 6.5.0 eslint-visitor-keys: ^3.4.1 - checksum: c339ae58f4db2722b736a89ca6948c9de3c88963a10e9fa0b521855ed7f90c6d326a96a783a4667eb4e049f19678d3d2410b965597684e646a07154119c92fe3 + checksum: 1b7d06b933aa36a89957e89c38d8ec437df63df2ce1a76d5f5b0e293b62a758f30b44799458f189aa01c426e822a3c7ee884545e20af3a61716c94c782f84307 languageName: node linkType: hard @@ -1674,26 +1733,26 @@ __metadata: resolution: "EMS-ESP@workspace:." dependencies: "@alova/adapter-xhr": ^1.0.1 - "@babel/core": ^7.22.10 + "@babel/core": ^7.22.11 "@emotion/react": ^11.11.1 "@emotion/styled": ^11.11.0 - "@mui/icons-material": ^5.14.3 - "@mui/material": ^5.14.5 + "@mui/icons-material": ^5.14.6 + "@mui/material": ^5.14.6 "@preact/compat": ^17.1.2 "@preact/preset-vite": ^2.5.0 "@prefresh/vite": ^2.4.1 "@table-library/react-table-library": 4.1.7 "@types/babel__core": ^7 "@types/lodash-es": ^4.17.8 - "@types/node": ^20.5.1 - "@types/react": ^18.2.20 + "@types/node": ^20.5.7 + "@types/react": ^18.2.21 "@types/react-dom": ^18.2.7 "@types/react-router-dom": ^5.3.3 - "@typescript-eslint/eslint-plugin": ^6.4.0 - "@typescript-eslint/parser": ^6.4.0 - alova: ^2.11.0 + "@typescript-eslint/eslint-plugin": ^6.5.0 + "@typescript-eslint/parser": ^6.5.0 + alova: ^2.11.1 async-validator: ^4.2.5 - eslint: ^8.47.0 + eslint: ^8.48.0 eslint-config-airbnb: ^19.0.4 eslint-config-airbnb-typescript: ^17.1.0 eslint-config-prettier: ^9.0.0 @@ -1721,8 +1780,8 @@ __metadata: rollup-plugin-visualizer: ^5.9.2 sockette: ^2.0.6 terser: ^5.19.2 - typesafe-i18n: ^5.26.1 - typescript: ^5.1.6 + typesafe-i18n: ^5.26.2 + typescript: ^5.2.2 vite: ^4.4.9 vite-plugin-svgr: ^3.2.0 vite-tsconfig-paths: ^4.2.0 @@ -1796,10 +1855,10 @@ __metadata: languageName: node linkType: hard -"alova@npm:^2.11.0": - version: 2.11.0 - resolution: "alova@npm:2.11.0" - checksum: 9a38278670dafcfe54c3122afd58cb877fc35f8d6561bbcd859c5ce8d5e07a558e6122a176859777b80744e4b09e994307138bcc311ce65273f377dfbe744567 +"alova@npm:^2.11.1": + version: 2.11.1 + resolution: "alova@npm:2.11.1" + checksum: 1ef0cc44985495611728c9b9326d9c40382e45d3e0ba1c5aa87634e58b75f7b66f0b7bdb77fa60e0d57450db91dc31ed0cfe2cbd42dc707811ef3ae97bc3b374 languageName: node linkType: hard @@ -3074,14 +3133,14 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^8.47.0": - version: 8.47.0 - resolution: "eslint@npm:8.47.0" +"eslint@npm:^8.48.0": + version: 8.48.0 + resolution: "eslint@npm:8.48.0" dependencies: "@eslint-community/eslint-utils": ^4.2.0 "@eslint-community/regexpp": ^4.6.1 "@eslint/eslintrc": ^2.1.2 - "@eslint/js": ^8.47.0 + "@eslint/js": 8.48.0 "@humanwhocodes/config-array": ^0.11.10 "@humanwhocodes/module-importer": ^1.0.1 "@nodelib/fs.walk": ^1.2.8 @@ -3117,7 +3176,7 @@ __metadata: text-table: ^0.2.0 bin: eslint: bin/eslint.js - checksum: b6c69f2ca34990027cfe7d46c956672583549b2a13d118791ee60ad1fa3e5057ab7781b27c9b0ea76dc67f7e980b33e106ad07d54c83464ab9ba03d2ec832f36 + checksum: 93517576a212282383bb10647a8d9e502e12d0aa8c781f2d2585c6651b570349a6e4a768f32eb1e2cd948cff0e0e1c519651aa99c9d1a0dc70f1a3eba0512ba2 languageName: node linkType: hard @@ -4234,7 +4293,7 @@ __metadata: languageName: node linkType: hard -"json5@npm:^2.2.2": +"json5@npm:^2.2.2, json5@npm:^2.2.3": version: 2.2.3 resolution: "json5@npm:2.2.3" bin: @@ -5356,6 +5415,13 @@ __metadata: languageName: node linkType: hard +"regenerator-runtime@npm:^0.14.0": + version: 0.14.0 + resolution: "regenerator-runtime@npm:0.14.0" + checksum: e25f062c1a183f81c99681691a342760e65c55e8d3a4d4fe347ebe72433b123754b942b70b622959894e11f8a9131dc549bd3c9a5234677db06a4af42add8d12 + languageName: node + linkType: hard + "regexp.prototype.flags@npm:^1.4.3, regexp.prototype.flags@npm:^1.5.0": version: 1.5.0 resolution: "regexp.prototype.flags@npm:1.5.0" @@ -6168,34 +6234,34 @@ __metadata: languageName: node linkType: hard -"typesafe-i18n@npm:^5.26.1": - version: 5.26.1 - resolution: "typesafe-i18n@npm:5.26.1" +"typesafe-i18n@npm:^5.26.2": + version: 5.26.2 + resolution: "typesafe-i18n@npm:5.26.2" peerDependencies: typescript: ">=3.5.1" bin: typesafe-i18n: cli/typesafe-i18n.mjs - checksum: 0aca7122a2d8a2db878efb6851c062f225b6a10d6cc13bab3e465c0cbdd3c69b8a439a5b89d6f0481bf1d117dc24519bbe3d8f2dcad1fb5550b76f4995640aaa + checksum: f13b13d54bf121701c85424de2d677f3d3e61c6b7160dffa681e3ffcbb2843ea10931d5842fcc382faed78bac727b234259e9fc767a44cd9dc1d64ddd8ddf397 languageName: node linkType: hard -"typescript@npm:^5.1.6": - version: 5.1.6 - resolution: "typescript@npm:5.1.6" +"typescript@npm:^5.2.2": + version: 5.2.2 + resolution: "typescript@npm:5.2.2" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 45ac28e2df8365fd28dac42f5d62edfe69a7203d5ec646732cadc04065331f34f9078f81f150fde42ed9754eed6fa3b06a8f3523c40b821e557b727f1992e025 + checksum: 91ae3e6193d0ddb8656d4c418a033f0f75dec5e077ebbc2bd6d76439b93f35683936ee1bdc0e9cf94ec76863aa49f27159b5788219b50e1cd0cd6d110aa34b07 languageName: node linkType: hard -"typescript@patch:typescript@^5.1.6#~builtin": - version: 5.1.6 - resolution: "typescript@patch:typescript@npm%3A5.1.6#~builtin::version=5.1.6&hash=1f5320" +"typescript@patch:typescript@^5.2.2#~builtin": + version: 5.2.2 + resolution: "typescript@patch:typescript@npm%3A5.2.2#~builtin::version=5.2.2&hash=1f5320" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: c134abcd9fc5c393db30498db18d8e89453efae14e11a39c1adb6238138d4c152472e497499b8a67b0c87ca6eafcb26b0eb02f962f240c233c2e0ad3785f8742 + checksum: 303979762f9b8932c53f8149e866521a1265168b5c0fde8cc8ad83ac3d0e8ede8096cb02dff5f2de048e7f118a6f61902f81da12d5972c7fb582f09f2f18d169 languageName: node linkType: hard From f6a4da0584ac1877e5167bb7dcf78cdbe6bbd9a7 Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Tue, 29 Aug 2023 12:40:10 +0200 Subject: [PATCH 02/12] mqtt free mem to 40k, v3.7.0-dev1 --- CHANGELOG_LATEST.md | 2 ++ lib/espMqttClient/src/Config.h | 2 +- src/version.h | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG_LATEST.md b/CHANGELOG_LATEST.md index 9d1fc704e..e1ae835ef 100644 --- a/CHANGELOG_LATEST.md +++ b/CHANGELOG_LATEST.md @@ -9,3 +9,5 @@ ## Fixed ## Changed + +- set EMC_MIN_FREE_MEMORY to 40960 diff --git a/lib/espMqttClient/src/Config.h b/lib/espMqttClient/src/Config.h index 940c2dea8..f43747421 100644 --- a/lib/espMqttClient/src/Config.h +++ b/lib/espMqttClient/src/Config.h @@ -29,7 +29,7 @@ the LICENSE file. #endif #ifndef EMC_MIN_FREE_MEMORY -#define EMC_MIN_FREE_MEMORY 16384 +#define EMC_MIN_FREE_MEMORY 40960 #endif #ifndef EMC_ESP8266_MULTITHREADING diff --git a/src/version.h b/src/version.h index 915467bd0..b6cc182cf 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define EMSESP_APP_VERSION "3.7.0-dev.0" +#define EMSESP_APP_VERSION "3.7.0-dev.1" From d0c368f6a084770f717be6ef71b23f345fbdadce Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Wed, 30 Aug 2023 12:19:55 +0200 Subject: [PATCH 03/12] dont allow not_connected_publish, fix mqtt success/fail counters, v3.7.0-dev1a --- lib/espMqttClient/src/Config.h | 2 +- src/mqtt.cpp | 2 +- src/version.h | 2 +- src/web/WebStatusService.cpp | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/espMqttClient/src/Config.h b/lib/espMqttClient/src/Config.h index f43747421..b8a813c87 100644 --- a/lib/espMqttClient/src/Config.h +++ b/lib/espMqttClient/src/Config.h @@ -37,7 +37,7 @@ the LICENSE file. #endif #ifndef EMC_ALLOW_NOT_CONNECTED_PUBLISH -#define EMC_ALLOW_NOT_CONNECTED_PUBLISH 1 +#define EMC_ALLOW_NOT_CONNECTED_PUBLISH 0 #endif #ifndef EMC_WAIT_FOR_CONNACK diff --git a/src/mqtt.cpp b/src/mqtt.cpp index 77e697af8..a8d8a81b1 100644 --- a/src/mqtt.cpp +++ b/src/mqtt.cpp @@ -506,7 +506,7 @@ void Mqtt::on_connect() { // publish to the last will topic (see Mqtt::start() function) to say we're alive queue_publish_retain("status", "online", true); // with retain on - mqtt_publish_fails_ = 0; // reset fail count to 0 + // mqtt_publish_fails_ = 0; // reset fail count to 0 } // Home Assistant Discovery - the main master Device called EMS-ESP diff --git a/src/version.h b/src/version.h index b6cc182cf..47b185da0 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define EMSESP_APP_VERSION "3.7.0-dev.1" +#define EMSESP_APP_VERSION "3.7.0-dev.1a" diff --git a/src/web/WebStatusService.cpp b/src/web/WebStatusService.cpp index 86ec82683..36ee1084f 100644 --- a/src/web/WebStatusService.cpp +++ b/src/web/WebStatusService.cpp @@ -166,9 +166,9 @@ void WebStatusService::webStatusService(AsyncWebServerRequest * request) { if (Mqtt::enabled()) { statJson = statsJson.createNestedObject(); statJson["id"] = 5; - statJson["s"] = Mqtt::publish_count(); + statJson["s"] = Mqtt::publish_count() - Mqtt::publish_fails(); statJson["f"] = Mqtt::publish_fails(); - statJson["q"] = Mqtt::publish_count() == 0 ? 100 : 100 - (uint8_t)((100 * Mqtt::publish_fails()) / (Mqtt::publish_count() + Mqtt::publish_fails())); + statJson["q"] = Mqtt::publish_count() == 0 ? 100 : 100 - (uint8_t)((100 * Mqtt::publish_fails()) / Mqtt::publish_count()); } statJson = statsJson.createNestedObject(); From c3227a6352ab4947926d1cc30b8e3a3102ba96e3 Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Wed, 30 Aug 2023 12:38:29 +0200 Subject: [PATCH 04/12] mqtt:min alloc to 45k, fix memcheck for PSRAM, dev1b --- lib/espMqttClient/src/Config.h | 2 +- lib/espMqttClient/src/Helpers.h | 3 ++- src/version.h | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/espMqttClient/src/Config.h b/lib/espMqttClient/src/Config.h index b8a813c87..cbc79353b 100644 --- a/lib/espMqttClient/src/Config.h +++ b/lib/espMqttClient/src/Config.h @@ -29,7 +29,7 @@ the LICENSE file. #endif #ifndef EMC_MIN_FREE_MEMORY -#define EMC_MIN_FREE_MEMORY 40960 +#define EMC_MIN_FREE_MEMORY 46080 #endif #ifndef EMC_ESP8266_MULTITHREADING diff --git a/lib/espMqttClient/src/Helpers.h b/lib/espMqttClient/src/Helpers.h index 05ab136d9..88b3ba94d 100644 --- a/lib/espMqttClient/src/Helpers.h +++ b/lib/espMqttClient/src/Helpers.h @@ -15,7 +15,8 @@ the LICENSE file. #include "esp_task_wdt.h" #define EMC_SEMAPHORE_TAKE() xSemaphoreTake(_xSemaphore, portMAX_DELAY) #define EMC_SEMAPHORE_GIVE() xSemaphoreGive(_xSemaphore) - #define EMC_GET_FREE_MEMORY() std::max(ESP.getMaxAllocHeap(), ESP.getMaxAllocPsram()) + // #define EMC_GET_FREE_MEMORY() std::max(ESP.getMaxAllocHeap(), ESP.getMaxAllocPsram()) + #define EMC_GET_FREE_MEMORY() ESP.getMaxAllocHeap() #define EMC_YIELD() vTaskDelay(1) #define EMC_GENERATE_CLIENTID(x) snprintf(x, EMC_CLIENTID_LENGTH, "esp32%06llx", ESP.getEfuseMac()); #elif defined(ARDUINO_ARCH_ESP8266) diff --git a/src/version.h b/src/version.h index 47b185da0..f34797afd 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define EMSESP_APP_VERSION "3.7.0-dev.1a" +#define EMSESP_APP_VERSION "3.7.0-dev.1b" From d17582d69737afc65588f0bbbe55eb6d383b58d3 Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Wed, 30 Aug 2023 13:39:19 +0200 Subject: [PATCH 05/12] mqtt check 60k free heap (not maxalloc), dev1c --- lib/espMqttClient/src/Config.h | 2 +- lib/espMqttClient/src/Helpers.h | 2 +- src/version.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/espMqttClient/src/Config.h b/lib/espMqttClient/src/Config.h index cbc79353b..3c3e5cc36 100644 --- a/lib/espMqttClient/src/Config.h +++ b/lib/espMqttClient/src/Config.h @@ -29,7 +29,7 @@ the LICENSE file. #endif #ifndef EMC_MIN_FREE_MEMORY -#define EMC_MIN_FREE_MEMORY 46080 +#define EMC_MIN_FREE_MEMORY 61440 #endif #ifndef EMC_ESP8266_MULTITHREADING diff --git a/lib/espMqttClient/src/Helpers.h b/lib/espMqttClient/src/Helpers.h index 88b3ba94d..ca12b8052 100644 --- a/lib/espMqttClient/src/Helpers.h +++ b/lib/espMqttClient/src/Helpers.h @@ -16,7 +16,7 @@ the LICENSE file. #define EMC_SEMAPHORE_TAKE() xSemaphoreTake(_xSemaphore, portMAX_DELAY) #define EMC_SEMAPHORE_GIVE() xSemaphoreGive(_xSemaphore) // #define EMC_GET_FREE_MEMORY() std::max(ESP.getMaxAllocHeap(), ESP.getMaxAllocPsram()) - #define EMC_GET_FREE_MEMORY() ESP.getMaxAllocHeap() + #define EMC_GET_FREE_MEMORY() ESP.getFreeHeap() #define EMC_YIELD() vTaskDelay(1) #define EMC_GENERATE_CLIENTID(x) snprintf(x, EMC_CLIENTID_LENGTH, "esp32%06llx", ESP.getEfuseMac()); #elif defined(ARDUINO_ARCH_ESP8266) diff --git a/src/version.h b/src/version.h index f34797afd..1074cf016 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define EMSESP_APP_VERSION "3.7.0-dev.1b" +#define EMSESP_APP_VERSION "3.7.0-dev.1c" From 7e45c89fcd058245fd1255a20b38e91a479d56a1 Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Thu, 31 Aug 2023 08:07:06 +0200 Subject: [PATCH 06/12] add missing subscribes --- src/web/WebEntityService.cpp | 1 + src/web/WebSchedulerService.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/src/web/WebEntityService.cpp b/src/web/WebEntityService.cpp index 2de13c4a3..15708c8a1 100644 --- a/src/web/WebEntityService.cpp +++ b/src/web/WebEntityService.cpp @@ -31,6 +31,7 @@ WebEntityService::WebEntityService(AsyncWebServer * server, FS * fs, SecurityMan void WebEntityService::begin() { _fsPersistence.readFromFS(); EMSESP::logger().info("Starting Custom entity service"); + Mqtt::subscribe(EMSdevice::DeviceType::CUSTOM, "custom/#", nullptr); // use empty function callback } // this creates the entity file, saving it to the FS diff --git a/src/web/WebSchedulerService.cpp b/src/web/WebSchedulerService.cpp index b794e0335..c6a3ad6cf 100644 --- a/src/web/WebSchedulerService.cpp +++ b/src/web/WebSchedulerService.cpp @@ -31,6 +31,7 @@ WebSchedulerService::WebSchedulerService(AsyncWebServer * server, FS * fs, Secur void WebSchedulerService::begin() { _fsPersistence.readFromFS(); EMSESP::logger().info("Starting Scheduler service"); + Mqtt::subscribe(EMSdevice::DeviceType::SCHEDULER, "scheduler/#", nullptr); // use empty function callback } // this creates the scheduler file, saving it to the FS From 120c0b5ca2159e82daa43ff8b1671098931f7d14 Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Thu, 31 Aug 2023 08:09:54 +0200 Subject: [PATCH 07/12] update espMqttClient, add own mqtt limit, fix queue display, 3.7.0-dev1d --- lib/espMqttClient/src/Config.h | 4 ++-- lib/espMqttClient/src/Helpers.h | 3 +-- lib/espMqttClient/src/MqttClient.h | 2 +- src/mqtt.cpp | 14 ++++++++++++-- src/version.h | 2 +- 5 files changed, 17 insertions(+), 8 deletions(-) diff --git a/lib/espMqttClient/src/Config.h b/lib/espMqttClient/src/Config.h index 3c3e5cc36..940c2dea8 100644 --- a/lib/espMqttClient/src/Config.h +++ b/lib/espMqttClient/src/Config.h @@ -29,7 +29,7 @@ the LICENSE file. #endif #ifndef EMC_MIN_FREE_MEMORY -#define EMC_MIN_FREE_MEMORY 61440 +#define EMC_MIN_FREE_MEMORY 16384 #endif #ifndef EMC_ESP8266_MULTITHREADING @@ -37,7 +37,7 @@ the LICENSE file. #endif #ifndef EMC_ALLOW_NOT_CONNECTED_PUBLISH -#define EMC_ALLOW_NOT_CONNECTED_PUBLISH 0 +#define EMC_ALLOW_NOT_CONNECTED_PUBLISH 1 #endif #ifndef EMC_WAIT_FOR_CONNACK diff --git a/lib/espMqttClient/src/Helpers.h b/lib/espMqttClient/src/Helpers.h index ca12b8052..05ab136d9 100644 --- a/lib/espMqttClient/src/Helpers.h +++ b/lib/espMqttClient/src/Helpers.h @@ -15,8 +15,7 @@ the LICENSE file. #include "esp_task_wdt.h" #define EMC_SEMAPHORE_TAKE() xSemaphoreTake(_xSemaphore, portMAX_DELAY) #define EMC_SEMAPHORE_GIVE() xSemaphoreGive(_xSemaphore) - // #define EMC_GET_FREE_MEMORY() std::max(ESP.getMaxAllocHeap(), ESP.getMaxAllocPsram()) - #define EMC_GET_FREE_MEMORY() ESP.getFreeHeap() + #define EMC_GET_FREE_MEMORY() std::max(ESP.getMaxAllocHeap(), ESP.getMaxAllocPsram()) #define EMC_YIELD() vTaskDelay(1) #define EMC_GENERATE_CLIENTID(x) snprintf(x, EMC_CLIENTID_LENGTH, "esp32%06llx", ESP.getEfuseMac()); #elif defined(ARDUINO_ARCH_ESP8266) diff --git a/lib/espMqttClient/src/MqttClient.h b/lib/espMqttClient/src/MqttClient.h index d09db68c5..a357c5779 100644 --- a/lib/espMqttClient/src/MqttClient.h +++ b/lib/espMqttClient/src/MqttClient.h @@ -131,7 +131,7 @@ class MqttClient { uint32_t timeSent; espMqttClientInternals::Packet packet; template - OutgoingPacket(uint32_t t, espMqttClientTypes::Error error, Args &&... args) + OutgoingPacket(uint32_t t, espMqttClientTypes::Error & error, Args &&... args) : timeSent(t) , packet(error, std::forward(args)...) { } diff --git a/src/mqtt.cpp b/src/mqtt.cpp index 5c294e01a..e0ddda2c7 100644 --- a/src/mqtt.cpp +++ b/src/mqtt.cpp @@ -124,6 +124,8 @@ void Mqtt::resubscribe() { // Main MQTT loop - sends out top item on publish queue void Mqtt::loop() { + queuecount_ = mqttClient_->getQueue(); + // exit if MQTT is not enabled or if there is no network connection if (!connected()) { return; @@ -142,7 +144,7 @@ void Mqtt::loop() { EMSESP::publish_sensor_values(false); } - queuecount_ = mqttClient_->getQueue(); + // wait for empty queue before sending scheduled device messages if (queuecount_ > 0) { return; } @@ -482,7 +484,7 @@ void Mqtt::on_connect() { connecting_ = true; connectcount_++; // count # reconnects. not currently used. - queuecount_ = 0; + queuecount_ = mqttClient_->getQueue(); load_settings(); // reload MQTT settings - in case they have changes @@ -590,6 +592,14 @@ bool Mqtt::queue_message(const uint8_t operation, const std::string & topic, con if (!mqtt_enabled_ || topic.empty()) { return false; // quit, not using MQTT } + // check free mem + if (ESP.getFreeHeap() < 60 * 1204) { + if (operation == Operation::PUBLISH) { + mqtt_message_id_++; + mqtt_publish_fails_++; + } + return false; // quit, not using MQTT + } uint16_t packet_id = 0; char fulltopic[MQTT_TOPIC_MAX_SIZE]; diff --git a/src/version.h b/src/version.h index b6cc182cf..69d734367 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define EMSESP_APP_VERSION "3.7.0-dev.1" +#define EMSESP_APP_VERSION "3.7.0-dev.1d" From 647acf6a684690fea15d5e59f34ec29559e9fa02 Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Thu, 31 Aug 2023 08:19:24 +0200 Subject: [PATCH 08/12] show rssi in networkstatus --- interface/package.json | 2 +- interface/src/framework/network/NetworkStatusForm.tsx | 2 +- interface/yarn.lock | 10 +++++----- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/interface/package.json b/interface/package.json index ed55b6aed..44f6bd8b0 100644 --- a/interface/package.json +++ b/interface/package.json @@ -27,7 +27,7 @@ "@preact/compat": "^17.1.2", "@prefresh/vite": "^2.4.1", "@table-library/react-table-library": "4.1.7", - "@types/lodash-es": "^4.17.8", + "@types/lodash-es": "^4.17.9", "@types/node": "^20.5.7", "@types/react": "^18.2.21", "@types/react-dom": "^18.2.7", diff --git a/interface/src/framework/network/NetworkStatusForm.tsx b/interface/src/framework/network/NetworkStatusForm.tsx index 5994237c1..6d4189327 100644 --- a/interface/src/framework/network/NetworkStatusForm.tsx +++ b/interface/src/framework/network/NetworkStatusForm.tsx @@ -114,7 +114,7 @@ const NetworkStatusForm: FC = () => { - + diff --git a/interface/yarn.lock b/interface/yarn.lock index 658d96427..55a30cff6 100644 --- a/interface/yarn.lock +++ b/interface/yarn.lock @@ -1339,12 +1339,12 @@ __metadata: languageName: node linkType: hard -"@types/lodash-es@npm:^4.17.8": - version: 4.17.8 - resolution: "@types/lodash-es@npm:4.17.8" +"@types/lodash-es@npm:^4.17.9": + version: 4.17.9 + resolution: "@types/lodash-es@npm:4.17.9" dependencies: "@types/lodash": "*" - checksum: 950771d406c842814dd22217adba5e01bd06b3c21e97900d3c3816f38580e132894400b5d83a7962645fa284d8478614bdcc50755255ad15024311b7b8ed8520 + checksum: 9fe82df0ec14e2aad50a1bf6488c4457e3378fcc77f5806fbc8035904ef0848b70e50037b13d9bddb66d3a30b425d2998a4a438a5024efe7431b63fde0920378 languageName: node linkType: hard @@ -1586,7 +1586,7 @@ __metadata: "@prefresh/vite": ^2.4.1 "@table-library/react-table-library": 4.1.7 "@types/babel__core": ^7 - "@types/lodash-es": ^4.17.8 + "@types/lodash-es": ^4.17.9 "@types/node": ^20.5.7 "@types/react": ^18.2.21 "@types/react-dom": ^18.2.7 From bde06621bd66e1c9540abf84eccb0c9b3a7cb110 Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Thu, 31 Aug 2023 08:29:08 +0200 Subject: [PATCH 09/12] add log message for mqtt low memory --- src/mqtt.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/mqtt.cpp b/src/mqtt.cpp index e0ddda2c7..2b931be8c 100644 --- a/src/mqtt.cpp +++ b/src/mqtt.cpp @@ -598,7 +598,8 @@ bool Mqtt::queue_message(const uint8_t operation, const std::string & topic, con mqtt_message_id_++; mqtt_publish_fails_++; } - return false; // quit, not using MQTT + LOG_DEBUG("%s failed: low memory", operation == Operation::PUBLISH ? "Publish" : operation == Operation::SUBSCRIBE ? "Subscribe" : "Unsubscribe"); + return false; // quit } uint16_t packet_id = 0; From ae1bf1cbfb0e247fad3664d98b906f8b601c90fb Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Thu, 31 Aug 2023 09:47:07 +0200 Subject: [PATCH 10/12] merge mqtt changes from bertmelis, dev2 --- lib/espMqttClient/src/MqttClient.h | 23 +++++++++++++++-------- src/version.h | 2 +- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/lib/espMqttClient/src/MqttClient.h b/lib/espMqttClient/src/MqttClient.h index a357c5779..6cf8d0664 100644 --- a/lib/espMqttClient/src/MqttClient.h +++ b/lib/espMqttClient/src/MqttClient.h @@ -131,10 +131,9 @@ class MqttClient { uint32_t timeSent; espMqttClientInternals::Packet packet; template - OutgoingPacket(uint32_t t, espMqttClientTypes::Error & error, Args &&... args) - : timeSent(t) - , packet(error, std::forward(args)...) { - } + OutgoingPacket(uint32_t t, espMqttClientTypes::Error& error, Args&&... args) : // NOLINT(runtime/references) + timeSent(t), + packet(error, std::forward(args)...) {} }; espMqttClientInternals::Outbox _outbox; size_t _bytesSent; @@ -150,18 +149,26 @@ class MqttClient { bool _addPacket(Args &&... args) { espMqttClientTypes::Error error(espMqttClientTypes::Error::SUCCESS); espMqttClientInternals::Outbox::Iterator it = _outbox.emplace(0, error, std::forward(args)...); - if (it && error == espMqttClientTypes::Error::SUCCESS) + if (it && error == espMqttClientTypes::Error::SUCCESS) { return true; - return false; + } else { + if (it) + _outbox.remove(it); + return false; + } } template bool _addPacketFront(Args &&... args) { espMqttClientTypes::Error error(espMqttClientTypes::Error::SUCCESS); espMqttClientInternals::Outbox::Iterator it = _outbox.emplaceFront(0, error, std::forward(args)...); - if (it && error == espMqttClientTypes::Error::SUCCESS) + if (it && error == espMqttClientTypes::Error::SUCCESS) { return true; - return false; + } else { + if (it) + _outbox.remove(it); + return false; + } } void _checkOutbox(); diff --git a/src/version.h b/src/version.h index 69d734367..54c0226cd 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define EMSESP_APP_VERSION "3.7.0-dev.1d" +#define EMSESP_APP_VERSION "3.7.0-dev.2" From 005463c41fef790b832a0b53f9de639949d3ea0d Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Thu, 31 Aug 2023 11:50:31 +0200 Subject: [PATCH 11/12] update espMqttClient --- lib/espMqttClient/src/MqttClient.cpp | 34 +++++++++--------------- lib/espMqttClient/src/MqttClient.h | 10 ++++--- lib/espMqttClient/src/Outbox.h | 10 +++++++ lib/espMqttClient/src/Packets/Packet.cpp | 6 ++--- lib/espMqttClient/src/Packets/Packet.h | 2 +- src/mqtt.cpp | 8 +++--- 6 files changed, 37 insertions(+), 33 deletions(-) diff --git a/lib/espMqttClient/src/MqttClient.cpp b/lib/espMqttClient/src/MqttClient.cpp index a428158ed..97db0dcce 100644 --- a/lib/espMqttClient/src/MqttClient.cpp +++ b/lib/espMqttClient/src/MqttClient.cpp @@ -103,7 +103,7 @@ bool MqttClient::disconnected() const { } bool MqttClient::connect() { - bool result = true; + bool result = false; if (_state == State::disconnected) { EMC_SEMAPHORE_TAKE(); if (_addPacketFront(_cleanSession, @@ -116,19 +116,21 @@ bool MqttClient::connect() { _willPayloadLength, (uint16_t)(_keepAlive / 1000), // 32b to 16b doesn't overflow because it comes from 16b orignally _clientId)) { + result = true; + _state = State::connectingTcp1; #if defined(ARDUINO_ARCH_ESP32) if (_useInternalTask == espMqttClientTypes::UseInternalTask::YES) { vTaskResume(_taskHandle); } #endif - _state = State::connectingTcp1; } else { EMC_SEMAPHORE_GIVE(); emc_log_e("Could not create CONNECT packet"); _onError(0, Error::OUT_OF_MEMORY); - result = false; } EMC_SEMAPHORE_GIVE(); + } else if (_state <= State::connected) { // already connected or connecting + result = true; } return result; } @@ -196,6 +198,14 @@ const char * MqttClient::getClientId() const { return _clientId; } +size_t MqttClient::queueSize() { + size_t ret = 0; + EMC_SEMAPHORE_TAKE(); + ret = _outbox.size(); + EMC_SEMAPHORE_GIVE(); + return ret; +} + void MqttClient::loop() { switch ((State)_state) { // modified by proddy for EMS-ESP compiling standalone case State::disconnected: @@ -335,7 +345,6 @@ int MqttClient::_sendPacket() { size_t wantToWrite = 0; size_t written = 0; if (packet && (wantToWrite == written)) { - // mixing signed with unsigned here but safe because of MQTT packet size limits wantToWrite = packet->packet.available(_bytesSent); if (wantToWrite == 0) { EMC_SEMAPHORE_GIVE(); @@ -630,9 +639,6 @@ void MqttClient::_onPubcomp() { // if it doesn't match the ID, return if ((it.get()->packet.packetType()) == PacketType.PUBREL) { if (it.get()->packet.packetId() == idToMatch) { - // if (!_addPacket(PacketType.PUBCOMP, idToMatch)) { - // emc_log_e("Could not create PUBCOMP packet"); - // } callback = true; _outbox.remove(it); break; @@ -697,20 +703,6 @@ void MqttClient::_onUnsuback() { } } -uint16_t MqttClient::getQueue() const { - EMC_SEMAPHORE_TAKE(); - espMqttClientInternals::Outbox::Iterator it = _outbox.front(); - uint16_t count = 0; - while (it) { - // if (it.get()->packet.packetType() == PacketType.PUBLISH) { - ++count; - // } - ++it; - } - EMC_SEMAPHORE_GIVE(); - return count; -} - void MqttClient::_clearQueue(int clearData) { emc_log_i("clearing queue (clear session: %d)", clearData); EMC_SEMAPHORE_TAKE(); diff --git a/lib/espMqttClient/src/MqttClient.h b/lib/espMqttClient/src/MqttClient.h index 6cf8d0664..dba4bf245 100644 --- a/lib/espMqttClient/src/MqttClient.h +++ b/lib/espMqttClient/src/MqttClient.h @@ -65,7 +65,7 @@ class MqttClient { uint16_t publish(const char * topic, uint8_t qos, bool retain, espMqttClientTypes::PayloadCallback callback, size_t length); void clearQueue(bool deleteSessionData = false); // Not MQTT compliant and may cause unpredictable results when `deleteSessionData` = true! const char * getClientId() const; - uint16_t getQueue() const; + size_t queueSize(); // No const because of mutex void loop(); protected: @@ -131,9 +131,11 @@ class MqttClient { uint32_t timeSent; espMqttClientInternals::Packet packet; template - OutgoingPacket(uint32_t t, espMqttClientTypes::Error& error, Args&&... args) : // NOLINT(runtime/references) - timeSent(t), - packet(error, std::forward(args)...) {} + OutgoingPacket(uint32_t t, espMqttClientTypes::Error & error, Args &&... args) + : // NOLINT(runtime/references) + timeSent(t) + , packet(error, std::forward(args)...) { + } }; espMqttClientInternals::Outbox _outbox; size_t _bytesSent; diff --git a/lib/espMqttClient/src/Outbox.h b/lib/espMqttClient/src/Outbox.h index dfbbd13c0..cfb9f244d 100644 --- a/lib/espMqttClient/src/Outbox.h +++ b/lib/espMqttClient/src/Outbox.h @@ -163,6 +163,16 @@ class Outbox { return false; } + size_t size() const { + Node* n = _first; + size_t count = 0; + while (n) { + n = n->next; + ++count; + } + return count; + } + private: Node* _first; Node* _last; diff --git a/lib/espMqttClient/src/Packets/Packet.cpp b/lib/espMqttClient/src/Packets/Packet.cpp index df463ef7b..2f84b503a 100644 --- a/lib/espMqttClient/src/Packets/Packet.cpp +++ b/lib/espMqttClient/src/Packets/Packet.cpp @@ -100,7 +100,7 @@ Packet::Packet(espMqttClientTypes::Error& error, (password ? 2 + strlen(password) : 0); // allocate memory - if (!_allocate(remainingLength)) { + if (!_allocate(remainingLength, false)) { error = espMqttClientTypes::Error::OUT_OF_MEMORY; return; } @@ -300,8 +300,8 @@ Packet::Packet(espMqttClientTypes::Error& error, MQTTPacketType type) } -bool Packet::_allocate(size_t remainingLength) { - if (EMC_GET_FREE_MEMORY() < EMC_MIN_FREE_MEMORY) { +bool Packet::_allocate(size_t remainingLength, bool check) { + if (check && EMC_GET_FREE_MEMORY() < EMC_MIN_FREE_MEMORY) { emc_log_w("Packet buffer not allocated: low memory"); return false; } diff --git a/lib/espMqttClient/src/Packets/Packet.h b/lib/espMqttClient/src/Packets/Packet.h index 1af2f06af..f2b290293 100644 --- a/lib/espMqttClient/src/Packets/Packet.h +++ b/lib/espMqttClient/src/Packets/Packet.h @@ -133,7 +133,7 @@ class Packet { private: // pass remainingLength = total size - header - remainingLengthLength! - bool _allocate(size_t remainingLength); + bool _allocate(size_t remainingLength, bool check = true); // fills header and returns index of next available byte in buffer size_t _fillPublishHeader(uint16_t packetId, diff --git a/src/mqtt.cpp b/src/mqtt.cpp index 2b931be8c..d62367503 100644 --- a/src/mqtt.cpp +++ b/src/mqtt.cpp @@ -124,7 +124,7 @@ void Mqtt::resubscribe() { // Main MQTT loop - sends out top item on publish queue void Mqtt::loop() { - queuecount_ = mqttClient_->getQueue(); + queuecount_ = mqttClient_->queueSize(); // exit if MQTT is not enabled or if there is no network connection if (!connected()) { @@ -484,7 +484,7 @@ void Mqtt::on_connect() { connecting_ = true; connectcount_++; // count # reconnects. not currently used. - queuecount_ = mqttClient_->getQueue(); + queuecount_ = mqttClient_->queueSize(); load_settings(); // reload MQTT settings - in case they have changes @@ -606,9 +606,9 @@ bool Mqtt::queue_message(const uint8_t operation, const std::string & topic, con char fulltopic[MQTT_TOPIC_MAX_SIZE]; if (topic.find(discovery_prefix_) == 0) { - strlcpy(fulltopic, topic.c_str(), sizeof(fulltopic)); // leave topic as it is + strlcpy(fulltopic, topic.c_str(), sizeof(fulltopic)); // leave discovery topic as it is } else { - // it's a discovery topic, added the mqtt base to the topic path + // it's not a discovery topic, added the mqtt base to the topic path snprintf(fulltopic, sizeof(fulltopic), "%s/%s", mqtt_base_.c_str(), topic.c_str()); // uses base } From 4778206e3a7cca87210f454e429391845c275374 Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Thu, 31 Aug 2023 12:09:17 +0200 Subject: [PATCH 12/12] changelog --- CHANGELOG_LATEST.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG_LATEST.md b/CHANGELOG_LATEST.md index e1ae835ef..2084f89a1 100644 --- a/CHANGELOG_LATEST.md +++ b/CHANGELOG_LATEST.md @@ -6,8 +6,12 @@ ## Added +- rssi in Network Status Page + ## Fixed +- issue in espMqttClient on low mem + ## Changed -- set EMC_MIN_FREE_MEMORY to 40960 +- mqtt free mem check 60k