diff --git a/README.md b/README.md index 0617f3f1..ac215149 100644 --- a/README.md +++ b/README.md @@ -178,6 +178,7 @@ Topics for 3 phases of a power meter is configurable. Given is an example for th * Hoymiles HM-1200 * Hoymiles HM-1500 * Solenso SOL-H400 +* Solenso SOL-H800 * TSUN TSOL-M350 (Maybe depending on firmware/serial number on the inverter) * TSUN TSOL-M800 (Maybe depending on firmware/serial number on the inverter) * TSUN TSOL-M1600 (Maybe depending on firmware/serial number on the inverter) @@ -298,7 +299,7 @@ You can also change the pins by creating a custom [device profile](docs/DeviceP * upload_port * monitor_port * Select the arrow button in the blue bottom status bar (PlatformIO: Upload) to compile and upload the firmware. During the compilation, all required libraries are downloaded automatically. -* Under Linux, if the upload fails with error messages "Could not open /dev/ttyUSB0, the port doesn't exist", you can check via ```ls -la /dev/tty*``` to which group your port belongs to, and then add your user this group via ```sudo adduser dialout``` +* Under Linux, if the upload fails with error messages "Could not open /dev/ttyUSB0, the port doesn't exist", you can check via ```ls -la /dev/tty*``` to which group your port belongs to, and then add your user this group via ```sudo adduser dialout``` (if you are using ```arch-linux``` use: ```sudo gpasswd -a uucp```, this method requires a logout/login of the affected user). * There are two videos showing these steps: * [Git Clone and compilation](https://youtu.be/9cA_esv3zeA) * [Full installation and compilation](https://youtu.be/xs6TqHn7QWM) @@ -353,7 +354,7 @@ esptool.py --port /dev/ttyUSB0 --chip esp32 --before default_reset --after hard_ Users report that [ESP_Flasher](https://github.com/Jason2866/ESP_Flasher/releases/) is suitable for flashing OpenDTU on Windows. #### Flash with [ESP_Flasher](https://espressif.github.io/esptool-js/) - web version -It is also possible to flash it via the web tools which might be more convenient and is platformindependent. +It is also possible to flash it via the web tools which might be more convenient and is platform independent. ## First configuration * After the initial flashing of the microcontroller, an Access Point called "OpenDTU-*" is opened. The default password is "openDTU42". @@ -369,7 +370,7 @@ It is also possible to flash it via the web tools which might be more convenient Once you have your OpenDTU running and connected to WLAN, you can do further updates through the web interface. Navigate to Settings --> Firmware upgrade and press the browse button. Select the firmware file from your local computer. -You'll find the firmware file (after a successfull build process) under `.pio/build/generic/firmware.bin`. +You'll find the firmware file (after a successful build process) under `.pio/build/generic/firmware.bin`. If you downloaded a precompiled zip archive, unpack it and choose `opendtu-generic.bin`. diff --git a/lib/Hoymiles/src/HoymilesRadio.cpp b/lib/Hoymiles/src/HoymilesRadio.cpp index 7a463b6b..af85b8d9 100644 --- a/lib/Hoymiles/src/HoymilesRadio.cpp +++ b/lib/Hoymiles/src/HoymilesRadio.cpp @@ -25,7 +25,7 @@ void HoymilesRadio::init(SPIClass* initialisedSpiBus, uint8_t pinCE, uint8_t pin _radio->setRetries(0, 0); _radio->maskIRQ(true, true, false); // enable only receiving interrupts if (_radio->isChipConnected()) { - Hoymiles.getMessageOutput()->println(F("Connection successfull")); + Hoymiles.getMessageOutput()->println(F("Connection successful")); } else { Hoymiles.getMessageOutput()->println(F("Connection error!!")); } @@ -121,7 +121,7 @@ void HoymilesRadio::loop() sendRetransmitPacket(verifyResult); } else { - // Successfull received all packages + // Successful received all packages Hoymiles.getMessageOutput()->println(F("Success")); _commandQueue.pop(); _busyFlag = false; diff --git a/platformio.ini b/platformio.ini index 9b387d3a..626a7dae 100644 --- a/platformio.ini +++ b/platformio.ini @@ -28,7 +28,7 @@ build_unflags = lib_deps = https://github.com/yubox-node-org/ESPAsyncWebServer bblanchon/ArduinoJson @ ^6.21.0 - https://github.com/bertmelis/espMqttClient.git#v1.4.1 + https://github.com/bertmelis/espMqttClient.git#v1.4.2 nrf24/RF24 @ ^1.4.5 olikraus/U8g2 @ ^2.34.16 buelowp/sunset @ ^1.1.7 diff --git a/src/MqttHandleInverter.cpp b/src/MqttHandleInverter.cpp index daba917b..37b16c49 100644 --- a/src/MqttHandleInverter.cpp +++ b/src/MqttHandleInverter.cpp @@ -197,9 +197,14 @@ void MqttHandleInverterClass::onMqttMessage(const espMqttClientTypes::MessagePro char* strlimit = new char[len + 1]; memcpy(strlimit, payload, len); strlimit[len] = '\0'; - uint32_t payload_val = strtol(strlimit, NULL, 10); + int32_t payload_val = strtol(strlimit, NULL, 10); delete[] strlimit; + if (payload_val < 0) { + MessageOutput.printf("MQTT payload < 0 received --> ignoring\r\n"); + return; + } + if (!strcmp(setting, TOPIC_SUB_LIMIT_PERSISTENT_RELATIVE)) { // Set inverter limit relative persistent MessageOutput.printf("Limit Persistent: %d %%\r\n", payload_val); diff --git a/src/WebApi_security.cpp b/src/WebApi_security.cpp index 91f09279..7df629f8 100644 --- a/src/WebApi_security.cpp +++ b/src/WebApi_security.cpp @@ -120,7 +120,7 @@ void WebApiSecurityClass::onAuthenticateGet(AsyncWebServerRequest* request) AsyncJsonResponse* response = new AsyncJsonResponse(); JsonObject retMsg = response->getRoot(); retMsg[F("type")] = F("success"); - retMsg[F("message")] = F("Authentication successfull!"); + retMsg[F("message")] = F("Authentication successful!"); retMsg[F("code")] = WebApiError::SecurityAuthSuccess; response->setLength(); diff --git a/webapp/package.json b/webapp/package.json index c05a2052..095985a3 100644 --- a/webapp/package.json +++ b/webapp/package.json @@ -11,8 +11,8 @@ "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore" }, "dependencies": { - "@popperjs/core": "^2.11.6", - "bootstrap": "^5.3.0-alpha1", + "@popperjs/core": "^2.11.7", + "bootstrap": "^5.3.0-alpha2", "bootstrap-icons-vue": "^1.10.3", "mitt": "^3.0.0", "spark-md5": "^3.0.2", @@ -21,19 +21,19 @@ "vue-router": "^4.1.6" }, "devDependencies": { - "@intlify/unplugin-vue-i18n": "^0.9.3", + "@intlify/unplugin-vue-i18n": "^0.10.0", "@rushstack/eslint-patch": "^1.2.0", "@types/bootstrap": "^5.2.6", - "@types/node": "^18.15.3", + "@types/node": "^18.15.10", "@types/spark-md5": "^3.0.2", "@vitejs/plugin-vue": "^4.1.0", "@vue/eslint-config-typescript": "^11.0.2", "@vue/tsconfig": "^0.1.3", "eslint": "^8.36.0", - "eslint-plugin-vue": "^9.9.0", + "eslint-plugin-vue": "^9.10.0", "npm-run-all": "^4.1.5", - "sass": "^1.59.3", - "terser": "^5.16.6", + "sass": "^1.60.0", + "terser": "^5.16.8", "typescript": "^5.0.2", "vite": "^4.2.1", "vite-plugin-compression": "^0.5.1", diff --git a/webapp/src/components/PinInfo.vue b/webapp/src/components/PinInfo.vue index e26bc6a4..bb140035 100644 --- a/webapp/src/components/PinInfo.vue +++ b/webapp/src/components/PinInfo.vue @@ -94,7 +94,7 @@ export default defineComponent({ comSel = 999999; } - if (comCur == -1 || comCur == 255 || comSel == undefined) { + if (comCur == -1 || comCur == 255 || comCur == undefined) { comCur = 999999; } diff --git a/webapp/src/locales/en.json b/webapp/src/locales/en.json index fbd11d78..58050f2b 100644 --- a/webapp/src/locales/en.json +++ b/webapp/src/locales/en.json @@ -90,7 +90,7 @@ "9009": "Second must be a number between {min} and {max}!", "9010": "Time updated!", "10001": "Password must between 8 and {max} characters long!", - "10002": "Authentication successfull!", + "10002": "Authentication successful!", "11001": "@:apiresponse.2001", "11002": "@:apiresponse:5004", "12001": "Profil must between 1 and {max} characters long!" diff --git a/webapp/src/views/ConsoleInfoView.vue b/webapp/src/views/ConsoleInfoView.vue index 3ccf4cdf..54820ca9 100644 --- a/webapp/src/views/ConsoleInfoView.vue +++ b/webapp/src/views/ConsoleInfoView.vue @@ -87,7 +87,7 @@ export default defineComponent({ this.socket.onopen = function (event) { console.log(event); - console.log("Successfully connected to the echo websocket server..."); + console.log("Successfuly connected to the echo websocket server..."); }; // Listen to window events , When the window closes , Take the initiative to disconnect websocket Connect diff --git a/webapp/src/views/HomeView.vue b/webapp/src/views/HomeView.vue index d158af95..e9e3712d 100644 --- a/webapp/src/views/HomeView.vue +++ b/webapp/src/views/HomeView.vue @@ -492,7 +492,7 @@ export default defineComponent({ this.socket.onopen = function (event) { console.log(event); - console.log("Successfully connected to the echo websocket server..."); + console.log("Successfuly connected to the echo websocket server..."); }; // Listen to window events , When the window closes , Take the initiative to disconnect websocket Connect diff --git a/webapp/vite.config.ts b/webapp/vite.config.ts index e3ea7d8a..28f520dc 100644 --- a/webapp/vite.config.ts +++ b/webapp/vite.config.ts @@ -20,6 +20,7 @@ export default defineConfig({ include: path.resolve(path.dirname(fileURLToPath(import.meta.url)), './src/locales/**.json'), fullInstall: false, forceStringify: true, + strictMessage: false, }), ], resolve: { diff --git a/webapp/yarn.lock b/webapp/yarn.lock index f638c110..c1c101c9 100644 --- a/webapp/yarn.lock +++ b/webapp/yarn.lock @@ -124,6 +124,13 @@ dependencies: eslint-visitor-keys "^3.3.0" +"@eslint-community/eslint-utils@^4.3.0": + version "4.3.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.3.0.tgz#a556790523a351b4e47e9d385f47265eaaf9780a" + integrity sha512-v3oplH6FYCULtFuCeqyuTd9D2WKO937Dxdq+GmHOLL72TTRriLxz2VLlNfkZRsvj6PKnOPAtuT6dwrs/pA5DvA== + dependencies: + eslint-visitor-keys "^3.3.0" + "@eslint-community/regexpp@^4.4.0": version "4.4.0" resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.4.0.tgz#3e61c564fcd6b921cb789838631c5ee44df09403" @@ -168,14 +175,15 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== -"@intlify/bundle-utils@^5.3.1": - version "5.3.1" - resolved "https://registry.yarnpkg.com/@intlify/bundle-utils/-/bundle-utils-5.3.1.tgz#e0c609920448f5d3289ec967c8a51b0c6f80fa9d" - integrity sha512-Lfrl3zlVmUy9Gqf9K9uuCCdhd5WxjkSQWIdEYQn1Uso4bjy4iHq9GZQYyvoA6+KFiDoVOS0LE3T+c7jwhLkqgg== +"@intlify/bundle-utils@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@intlify/bundle-utils/-/bundle-utils-5.4.0.tgz#12d1e2316a52cdf4818f5f183dc2726da35886c0" + integrity sha512-oJbibbP5djdQYTv0cQC4PYRHPpS5nF/KZ7MWM1/yhdsGzjvCekJHWk25MCQIIOrfQ+aw5tKi2t66KpYEUki/tw== dependencies: - "@intlify/message-compiler" next - "@intlify/shared" next + "@intlify/message-compiler" "9.3.0-beta.17" + "@intlify/shared" "9.3.0-beta.17" acorn "^8.8.2" + escodegen "^2.0.0" estree-walker "^2.0.2" jsonc-eslint-parser "^1.0.1" magic-string "^0.30.0" @@ -207,12 +215,12 @@ "@intlify/shared" "9.2.2" source-map "0.6.1" -"@intlify/message-compiler@next": - version "9.3.0-beta.16" - resolved "https://registry.yarnpkg.com/@intlify/message-compiler/-/message-compiler-9.3.0-beta.16.tgz#335f7bdb06cfb84d04a1a1c1d6eff2532dfd88e7" - integrity sha512-CGQI3xRcs1ET75eDQ0DUy3MRYOqTauRIIgaMoISKiF83gqRWg93FqN8lGMKcpBqaF4tI0JhsfosCaGiBL9+dnw== +"@intlify/message-compiler@9.3.0-beta.17": + version "9.3.0-beta.17" + resolved "https://registry.yarnpkg.com/@intlify/message-compiler/-/message-compiler-9.3.0-beta.17.tgz#be9ca3a617926b3bbd8ab80dd354a1bb57969ef1" + integrity sha512-i7hvVIRk1Ax2uKa9xLRJCT57to08OhFMhFXXjWN07rmx5pWQYQ23MfX1xgggv9drnWTNhqEiD+u4EJeHoS5+Ww== dependencies: - "@intlify/shared" "9.3.0-beta.16" + "@intlify/shared" "9.3.0-beta.17" source-map "0.6.1" "@intlify/shared@9.2.2": @@ -220,18 +228,18 @@ resolved "https://registry.yarnpkg.com/@intlify/shared/-/shared-9.2.2.tgz#5011be9ca2b4ab86f8660739286e2707f9abb4a5" integrity sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q== -"@intlify/shared@9.3.0-beta.16", "@intlify/shared@next": - version "9.3.0-beta.16" - resolved "https://registry.yarnpkg.com/@intlify/shared/-/shared-9.3.0-beta.16.tgz#74f254dbb7eac633b86d690a341349db29573896" - integrity sha512-kXbm4svALe3lX+EjdJxfnabOphqS4yQ1Ge/iIlR8tvUiYRCoNz3hig1M4336iY++Dfx5ytEQJPNjIcknNIuvig== +"@intlify/shared@9.3.0-beta.17": + version "9.3.0-beta.17" + resolved "https://registry.yarnpkg.com/@intlify/shared/-/shared-9.3.0-beta.17.tgz#1180dcb0b30741555fad0b62e4621802e8272ee5" + integrity sha512-mscf7RQsUTOil35jTij4KGW1RC9SWQjYScwLxP53Ns6g24iEd5HN7ksbt9O6FvTmlQuX77u+MXpBdfJsGqizLQ== -"@intlify/unplugin-vue-i18n@^0.9.3": - version "0.9.3" - resolved "https://registry.yarnpkg.com/@intlify/unplugin-vue-i18n/-/unplugin-vue-i18n-0.9.3.tgz#2f8dab79492a8c7218f55526954d0b5d8940009b" - integrity sha512-23DMh2r0qA7UZfaQhF09ZHhifgTyKcbmVsCo+qHvu9q1EU8OF18VlhxMHMksDR5NBDvRXj3Lmu8lT84XDrUlSw== +"@intlify/unplugin-vue-i18n@^0.10.0": + version "0.10.0" + resolved "https://registry.yarnpkg.com/@intlify/unplugin-vue-i18n/-/unplugin-vue-i18n-0.10.0.tgz#28a05a7b9e0a7cc35e91e6762e5e6e57f954a45c" + integrity sha512-Sf8fe26/d8rBNcg+zBSb7RA1uyhrG9zhIM+CRX6lqcznMDjLRr/1tuVaJ9E6xqJkzjfPgRzNcCqwMt6rpNkL7Q== dependencies: - "@intlify/bundle-utils" "^5.3.1" - "@intlify/shared" next + "@intlify/bundle-utils" "^5.4.0" + "@intlify/shared" "9.3.0-beta.17" "@rollup/pluginutils" "^5.0.2" "@vue/compiler-sfc" "^3.2.47" debug "^4.3.3" @@ -312,10 +320,10 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@popperjs/core@^2.11.6": - version "2.11.6" - resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.6.tgz#cee20bd55e68a1720bdab363ecf0c821ded4cd45" - integrity sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw== +"@popperjs/core@^2.11.7": + version "2.11.7" + resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.7.tgz#ccab5c8f7dc557a52ca3288c10075c9ccd37fff7" + integrity sha512-Cr4OjIkipTtcXKjAsm8agyleBuDHvxzeBoa1v543lbv1YaIwQjESsVcmjiWiPEbC1FIeHOG/Op9kdCmAmiS3Kw== "@popperjs/core@^2.9.2": version "2.11.5" @@ -353,10 +361,10 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== -"@types/node@^18.15.3": - version "18.15.3" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.3.tgz#f0b991c32cfc6a4e7f3399d6cb4b8cf9a0315014" - integrity sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw== +"@types/node@^18.15.10": + version "18.15.10" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.10.tgz#4ee2171c3306a185d1208dad5f44dae3dee4cfe3" + integrity sha512-9avDaQJczATcXgfmMAW3MIWArOO7A+m90vuCFLr8AotWf8igO/mRoYukrk2cqZVtv38tHs33retzHEilM7FpeQ== "@types/spark-md5@^3.0.2": version "3.0.2" @@ -722,10 +730,10 @@ bootstrap-icons-vue@^1.10.3: resolved "https://registry.yarnpkg.com/bootstrap-icons-vue/-/bootstrap-icons-vue-1.10.3.tgz#ae725513c9655ce86effa2a0b09e9e65b02c8f1a" integrity sha512-BzqmLufgHjFvSReJ1GQqNkl780UFK0rWT4Y1IQC7lZClXyOSsM5Ipw04BnuVmmrqgtSxzak83jcBwLJgCK3scg== -bootstrap@^5.3.0-alpha1: - version "5.3.0-alpha1" - resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-5.3.0-alpha1.tgz#380629c4367893f02f7879a01ea3ae0f94e2e70e" - integrity sha512-ABZpKK4ObS3kKlIqH+ZVDqoy5t/bhFG0oHTAzByUdon7YIom0lpCeTqRniDzJmbtcWkNe800VVPBiJgxSYTYew== +bootstrap@^5.3.0-alpha2: + version "5.3.0-alpha2" + resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-5.3.0-alpha2.tgz#81ac5909258dc3abb3cc08348853d121ecac619d" + integrity sha512-r1ayh5d56rhwrezVjhM8bt8tiUcdQ8J9JeCwCTAeKSpOrCWH5V5S6XiJ26DqbX7o5QSH5HIKm7W88CKxVjhCVQ== brace-expansion@^1.1.7: version "1.1.11" @@ -875,7 +883,7 @@ debug@^4.1.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4: dependencies: ms "2.1.2" -deep-is@^0.1.3: +deep-is@^0.1.3, deep-is@~0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== @@ -986,12 +994,24 @@ escape-string-regexp@^4.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -eslint-plugin-vue@^9.9.0: - version "9.9.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-9.9.0.tgz#ac788ebccd2eb94d846a507df55da50693b80c91" - integrity sha512-YbubS7eK0J7DCf0U2LxvVP7LMfs6rC6UltihIgval3azO3gyDwEGVgsCMe1TmDiEkl6GdMKfRpaME6QxIYtzDQ== +escodegen@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" + integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== dependencies: - eslint-utils "^3.0.0" + esprima "^4.0.1" + estraverse "^5.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +eslint-plugin-vue@^9.10.0: + version "9.10.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-9.10.0.tgz#bb6423166e6eab800344245b6eef6ce9480c78a7" + integrity sha512-2MgP31OBf8YilUvtakdVMc8xVbcMp7z7/iQj8LHVpXrSXHPXSJRUIGSPFI6b6pyCx/buKaFJ45ycqfHvQRiW2g== + dependencies: + "@eslint-community/eslint-utils" "^4.3.0" natural-compare "^1.4.0" nth-check "^2.0.1" postcss-selector-parser "^6.0.9" @@ -1117,6 +1137,11 @@ espree@^9.5.0: acorn-jsx "^5.3.2" eslint-visitor-keys "^3.3.0" +esprima@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + esquery@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" @@ -1190,10 +1215,10 @@ fast-json-stable-stringify@^2.0.0: resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== -fast-levenshtein@^2.0.6: +fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== fastq@^1.6.0: version "1.13.0" @@ -1630,6 +1655,14 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + load-json-file@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" @@ -1804,6 +1837,18 @@ once@^1.3.0: dependencies: wrappy "1" +optionator@^0.8.1: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + optionator@^0.9.1: version "0.9.1" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" @@ -1938,6 +1983,11 @@ prelude-ls@^1.2.1: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== + punycode@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" @@ -2027,10 +2077,10 @@ safe-regex-test@^1.0.0: get-intrinsic "^1.1.3" is-regex "^1.1.4" -sass@^1.59.3: - version "1.59.3" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.59.3.tgz#a1ddf855d75c70c26b4555df4403e1bbf8e4403f" - integrity sha512-QCq98N3hX1jfTCoUAsF3eyGuXLsY7BCnCEg9qAact94Yc21npG2/mVOqoDvE0fCbWDqiM4WlcJQla0gWG2YlxQ== +sass@^1.60.0: + version "1.60.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.60.0.tgz#657f0c23a302ac494b09a5ba8497b739fb5b5a81" + integrity sha512-updbwW6fNb5gGm8qMXzVO7V4sWf7LMXnMly/JEyfbfERbVH46Fn6q02BX7/eHTdKpE7d+oTkMMQpFWNUMfFbgQ== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" @@ -2109,7 +2159,7 @@ source-map-support@~0.5.20: buffer-from "^1.0.0" source-map "^0.6.0" -source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1: +source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== @@ -2213,10 +2263,10 @@ supports-preserve-symlinks-flag@^1.0.0: resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== -terser@^5.16.6: - version "5.16.6" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.6.tgz#f6c7a14a378ee0630fbe3ac8d1f41b4681109533" - integrity sha512-IBZ+ZQIA9sMaXmRZCUMDjNH0D5AQQfdn4WUjHL0+1lF4TP1IHRJbrhb6fNaXWikrYQTSkb7SLxkeXAiy1p7mbg== +terser@^5.16.8: + version "5.16.8" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.8.tgz#ccde583dabe71df3f4ed02b65eb6532e0fae15d5" + integrity sha512-QI5g1E/ef7d+PsDifb+a6nnVgC4F22Bg6T0xrBrz6iloVB4PUkkunp6V8nzoOOZJIzjWVdAGqCdlKlhLq/TbIA== dependencies: "@jridgewell/source-map" "^0.3.2" acorn "^8.5.0" @@ -2254,6 +2304,13 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== + dependencies: + prelude-ls "~1.1.2" + type-fest@^0.20.2: version "0.20.2" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" @@ -2427,7 +2484,7 @@ which@^2.0.1: dependencies: isexe "^2.0.0" -word-wrap@^1.2.3: +word-wrap@^1.2.3, word-wrap@~1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== diff --git a/webapp_dist/index.html.gz b/webapp_dist/index.html.gz index 0830730b..f7547917 100644 Binary files a/webapp_dist/index.html.gz and b/webapp_dist/index.html.gz differ diff --git a/webapp_dist/js/app.js.gz b/webapp_dist/js/app.js.gz index 3527f9e9..2013e71a 100644 Binary files a/webapp_dist/js/app.js.gz and b/webapp_dist/js/app.js.gz differ diff --git a/webapp_dist/zones.json.gz b/webapp_dist/zones.json.gz index f1ea50bf..45374b96 100644 Binary files a/webapp_dist/zones.json.gz and b/webapp_dist/zones.json.gz differ