From 67ce23337f814b03b134f17d397b27057c8442fe Mon Sep 17 00:00:00 2001 From: Proddy Date: Sat, 8 Jul 2023 14:07:25 +0200 Subject: [PATCH 01/13] remove mention of scan devices --- src/emsesp.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/emsesp.cpp b/src/emsesp.cpp index 5b7213f94..335b9bf28 100644 --- a/src/emsesp.cpp +++ b/src/emsesp.cpp @@ -951,7 +951,7 @@ bool EMSESP::device_exists(const uint8_t device_id) { // for each associated EMS device go and get its system information void EMSESP::show_devices(uuid::console::Shell & shell) { if (emsdevices.empty()) { - shell.printfln("No EMS devices detected. Try using 'scan devices' from the ems menu."); + shell.printfln("No EMS devices detected"); shell.println(); return; } From c934e6617c074a5e58922203220430367ece4d65 Mon Sep 17 00:00:00 2001 From: Proddy Date: Sat, 8 Jul 2023 14:07:38 +0200 Subject: [PATCH 02/13] some textual cleanup --- src/console.cpp | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/console.cpp b/src/console.cpp index 71bb199d2..c5967da0e 100644 --- a/src/console.cpp +++ b/src/console.cpp @@ -620,12 +620,12 @@ void EMSESPShell::stopped() { // show welcome banner void EMSESPShell::display_banner() { println(); - printfln("┌───────────────────────────────────────┐"); + printfln("┌────────────────────────────────────────┐"); printfln("│ %sEMS-ESP version %-12s%s │", COLOR_BOLD_ON, EMSESP_APP_VERSION, COLOR_BOLD_OFF); - printfln("│ %s%shttps://github.com/emsesp/EMS-ESP32%s │", COLOR_BRIGHT_GREEN, COLOR_UNDERLINE, COLOR_RESET); - printfln("│ │"); - printfln("│ type %shelp%s to show available commands │", COLOR_UNDERLINE, COLOR_RESET); - printfln("└───────────────────────────────────────┘"); + printfln("│ %s%shttps://github.com/emsesp/EMS-ESP32%s │", COLOR_BRIGHT_GREEN, COLOR_UNDERLINE, COLOR_RESET); + printfln("│ │"); + printfln("│ type %shelp%s to show available commands │", COLOR_UNDERLINE, COLOR_RESET); + printfln("└────────────────────────────────────────┘"); println(); // set console name @@ -640,16 +640,16 @@ std::string EMSESPShell::hostname_text() { } std::string EMSESPShell::context_text() { - auto shell_context = static_cast(context()); + return std::string{}; - if (shell_context == ShellContext::MAIN) { - return std::string{}; - // return std::string{'/'}; - // } else if (shell_context == ShellContext::FILESYSTEM) { - // return "/fs"); - } else { - return std::string{}; - } + // auto shell_context = static_cast(context()); + // if (shell_context == ShellContext::MAIN) { + // return std::string{'/'}; + // } else if (shell_context == ShellContext::FILESYSTEM) { + // return "/fs"); + // } else { + // return std::string{}; + // } } // when in su (admin) show # as the prompt suffix From f99735921ca821dc5a2a140c7fe5b7955f6c253b Mon Sep 17 00:00:00 2001 From: Proddy Date: Sat, 8 Jul 2023 14:07:58 +0200 Subject: [PATCH 03/13] package update, fixing lint --- interface/package.json | 4 +- interface/yarn.lock | 337 +++++++++++++++++++++-------------------- 2 files changed, 173 insertions(+), 168 deletions(-) diff --git a/interface/package.json b/interface/package.json index e18483478..3834df14e 100644 --- a/interface/package.json +++ b/interface/package.json @@ -27,7 +27,7 @@ "@mui/material": "^5.13.7", "@table-library/react-table-library": "4.1.4", "@types/lodash-es": "^4.17.7", - "@types/node": "^20.4.0", + "@types/node": "^20.4.1", "@types/react": "^18.2.14", "@types/react-dom": "^18.2.6", "@types/react-router-dom": "^5.3.3", @@ -60,7 +60,7 @@ "eslint-plugin-autofix": "^1.1.0", "eslint-plugin-import": "^2.27.5", "eslint-plugin-jsx-a11y": "^6.7.1", - "eslint-plugin-prettier": "^4.2.1", + "eslint-plugin-prettier": "alpha", "eslint-plugin-react": "^7.32.2", "eslint-plugin-react-hooks": "^4.6.0", "nodemon": "^2.0.22", diff --git a/interface/yarn.lock b/interface/yarn.lock index 440a8956c..2e57c9ed4 100644 --- a/interface/yarn.lock +++ b/interface/yarn.lock @@ -45,60 +45,60 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/compat-data@npm:7.22.5" - checksum: 97f3c24a71b4e7d5f91c5807f6206a9cdb4123e595c51b34a19e9ea22b837003f969f732fde8819928d66e7b64047fd736c6717c8a1b96bf27fbfc30f6834aff +"@babel/compat-data@npm:^7.22.6": + version: 7.22.6 + resolution: "@babel/compat-data@npm:7.22.6" + checksum: 09971bda48c46e19d8f1d8c817ebd60ccca2ca30b90324ba6227cfa3765847a9ddd7730481ec81149a2270e2c90c2674e41ebbb73258e48c37922171ffe1e6dc languageName: node linkType: hard "@babel/core@npm:^7.21.3": - version: 7.22.5 - resolution: "@babel/core@npm:7.22.5" + version: 7.22.8 + resolution: "@babel/core@npm:7.22.8" dependencies: "@ampproject/remapping": ^2.2.0 "@babel/code-frame": ^7.22.5 - "@babel/generator": ^7.22.5 - "@babel/helper-compilation-targets": ^7.22.5 + "@babel/generator": ^7.22.7 + "@babel/helper-compilation-targets": ^7.22.6 "@babel/helper-module-transforms": ^7.22.5 - "@babel/helpers": ^7.22.5 - "@babel/parser": ^7.22.5 + "@babel/helpers": ^7.22.6 + "@babel/parser": ^7.22.7 "@babel/template": ^7.22.5 - "@babel/traverse": ^7.22.5 + "@babel/traverse": ^7.22.8 "@babel/types": ^7.22.5 + "@nicolo-ribaudo/semver-v6": ^6.3.3 convert-source-map: ^1.7.0 debug: ^4.1.0 gensync: ^1.0.0-beta.2 json5: ^2.2.2 - semver: ^6.3.0 - checksum: c00e1474a41c18b669511dd1a1bd757d854cc8128218421a73c3b1c76b44fb22a57bbbd29a73b7a156cb1460af7a94602f81bed76b8d78c6ffae4de954b32a50 + checksum: d506ac42eaf2f7c3c190cc91a1413bb9ae5c067e06268fa962cb5fd0e67fc0feb48c7fa51527da378e3cc3a92a13a3420bae877df89207d880c839b6bb73e662 languageName: node linkType: hard -"@babel/generator@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/generator@npm:7.22.5" +"@babel/generator@npm:^7.22.7": + version: 7.22.7 + resolution: "@babel/generator@npm:7.22.7" dependencies: "@babel/types": ^7.22.5 "@jridgewell/gen-mapping": ^0.3.2 "@jridgewell/trace-mapping": ^0.3.17 jsesc: ^2.5.1 - checksum: 0613eddb4d1f7d82d88ad304e1acf48fddc3cdfb4c94bc3d2a9128cf0cdeedc0aa8d60301715c3b67537c00d9c9c9d50aad4339e7af1295c90def21893b17f7f + checksum: 7eb106916d782d397d0d4370bb4b23229229481218693a55f3fc0b756d4e9dc39cee41872f1735decb0b34be8dbb98c4488d5f7abbf6e40826d5dcac045b1f12 languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-compilation-targets@npm:7.22.5" +"@babel/helper-compilation-targets@npm:^7.22.6": + version: 7.22.6 + resolution: "@babel/helper-compilation-targets@npm:7.22.6" dependencies: - "@babel/compat-data": ^7.22.5 + "@babel/compat-data": ^7.22.6 "@babel/helper-validator-option": ^7.22.5 - browserslist: ^4.21.3 + "@nicolo-ribaudo/semver-v6": ^6.3.3 + browserslist: ^4.21.9 lru-cache: ^5.1.1 - semver: ^6.3.0 peerDependencies: "@babel/core": ^7.0.0 - checksum: f36a2f27d970fa61b32090840ec847f73c6ada50becf7222c8778dd7ae07661c56f83d57e4c18437160e221512f91c442e3b86703741b45fc1277a548a6fd819 + checksum: a37ae986bbfc61bc1adebe05a415ac03e0e8100e4b1ccbfd6ed90ffe201947beae9d7bd2cebe562199e1326797f908153d7b544520786eecf99fccb9db3c0fa9 languageName: node linkType: hard @@ -162,12 +162,12 @@ __metadata: languageName: node linkType: hard -"@babel/helper-split-export-declaration@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-split-export-declaration@npm:7.22.5" +"@babel/helper-split-export-declaration@npm:^7.22.5, @babel/helper-split-export-declaration@npm:^7.22.6": + version: 7.22.6 + resolution: "@babel/helper-split-export-declaration@npm:7.22.6" dependencies: "@babel/types": ^7.22.5 - checksum: a1e463086f97778584c44129c5c37282d033bf97867b300ff42e64279df18d41fe0e56ebe6a1b27f907afa66ad2a313558db8d2e83e73384c5b22ac726c9c52a + checksum: d83e4b623eaa9622c267d3c83583b72f3aac567dc393dda18e559d79187961cb29ae9c57b2664137fc3d19508370b12ec6a81d28af73a50e0846819cb21c6e44 languageName: node linkType: hard @@ -192,14 +192,14 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helpers@npm:7.22.5" +"@babel/helpers@npm:^7.22.6": + version: 7.22.6 + resolution: "@babel/helpers@npm:7.22.6" dependencies: "@babel/template": ^7.22.5 - "@babel/traverse": ^7.22.5 + "@babel/traverse": ^7.22.6 "@babel/types": ^7.22.5 - checksum: efa2d0fc2107e270782a784af3a52e5e0b97187b7b34feeeeb00454bc322e802ff4007b22410c387c05580c793f517c4bafc8a6a3acfdb0e3a1b349728f270c4 + checksum: 8c03c19802d0fcc78d00d1eaa9ddab28f97f0c78a5d570762800e86f08c6f41750ad61e20cdede977a56173edf85e7175f1fd804eb6ef817280f064d3a3ca514 languageName: node linkType: hard @@ -214,21 +214,21 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/parser@npm:7.22.5" +"@babel/parser@npm:^7.22.5, @babel/parser@npm:^7.22.7": + version: 7.22.7 + resolution: "@babel/parser@npm:7.22.7" bin: parser: ./bin/babel-parser.js - checksum: d6a1b1e1f375cf7f81263c57f0b6d41d67e9f498d75960ec7ab62a194d7c232a125a951009edc0c991cb7d6cc6b78b006b15e1e8fb83e0de3fe0ceb6bf3d95ef + checksum: d2bdf212644c39de58f1216540ec5aca4a05ffbec07c904eaaef8575dd9546b55345b91dcc0d306be4adbb717401ce321027bac7e2f7babfd66794c96243bb79 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.5, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.7.6, @babel/runtime@npm:^7.8.7": - version: 7.22.5 - resolution: "@babel/runtime@npm:7.22.5" + version: 7.22.6 + resolution: "@babel/runtime@npm:7.22.6" dependencies: regenerator-runtime: ^0.13.11 - checksum: 11dcaeecd2246857ccf22f939fcae28a58d29e410607bfa28b95d9b03e298a3e3df8a530e22637d5bfccfc1661fb39cc50c06b404b5d53454bd93889c7dd3eb8 + checksum: 5a273e7d66586582041c68332028db5376d754d483422541fdc904e10474a6f8aef14dd3a5aabcbcb6daea87b64531cc4be993d2943557ede4a2613f5328a981 languageName: node linkType: hard @@ -243,21 +243,21 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/traverse@npm:7.22.5" +"@babel/traverse@npm:^7.22.5, @babel/traverse@npm:^7.22.6, @babel/traverse@npm:^7.22.8": + version: 7.22.8 + resolution: "@babel/traverse@npm:7.22.8" dependencies: "@babel/code-frame": ^7.22.5 - "@babel/generator": ^7.22.5 + "@babel/generator": ^7.22.7 "@babel/helper-environment-visitor": ^7.22.5 "@babel/helper-function-name": ^7.22.5 "@babel/helper-hoist-variables": ^7.22.5 - "@babel/helper-split-export-declaration": ^7.22.5 - "@babel/parser": ^7.22.5 + "@babel/helper-split-export-declaration": ^7.22.6 + "@babel/parser": ^7.22.7 "@babel/types": ^7.22.5 debug: ^4.1.0 globals: ^11.1.0 - checksum: 0217ec5ece6e4e3b6fd39dc4a23903d2d8ec76a7163731ae51a8cca03a450fb592782d620b8525219a5df9268b22901f3328a23440646d5ec2db4e3952817121 + checksum: 839014824c210388ed46f92bf5265522bd5bbb4a9a03c700f9d79b151bdd0aa077c2f6448a0cef41132188cc2bc6d8cdcad98a297ba59983401e882bdc256b1f languageName: node linkType: hard @@ -679,9 +679,12 @@ __metadata: linkType: hard "@jridgewell/source-map@npm:^0.3.3": - version: 0.3.4 - resolution: "@jridgewell/source-map@npm:0.3.4" - checksum: 4b83e015c3df8552b303f0d7d3f46b9fc297ae08e67dfe621ccbacf2879193e0890c397668a75ec90444de701616905376b02305d1a762c813ca03e86b8d9def + version: 0.3.5 + resolution: "@jridgewell/source-map@npm:0.3.5" + dependencies: + "@jridgewell/gen-mapping": ^0.3.0 + "@jridgewell/trace-mapping": ^0.3.9 + checksum: b985d9ebd833a21a6e9ace820c8a76f60345a34d9e28d98497c16b6e93ce1f131bff0abd45f8585f14aa382cce678ed680d628c631b40a9616a19cfbc2049b68 languageName: node linkType: hard @@ -881,6 +884,15 @@ __metadata: languageName: node linkType: hard +"@nicolo-ribaudo/semver-v6@npm:^6.3.3": + version: 6.3.3 + resolution: "@nicolo-ribaudo/semver-v6@npm:6.3.3" + bin: + semver: bin/semver.js + checksum: 9ef70305fa9b03709805128611c0d95beec479cdd6f6b608386d6cee7a3d36f61e6f749378b60f1e5fca19fc58da7b06fccfe3540c0dbc40719731827d4eb1df + languageName: node + linkType: hard + "@nodelib/fs.scandir@npm:2.1.5": version: 2.1.5 resolution: "@nodelib/fs.scandir@npm:2.1.5" @@ -925,16 +937,16 @@ __metadata: linkType: hard "@pkgr/utils@npm:^2.3.1": - version: 2.4.1 - resolution: "@pkgr/utils@npm:2.4.1" + version: 2.4.2 + resolution: "@pkgr/utils@npm:2.4.2" dependencies: cross-spawn: ^7.0.3 - fast-glob: ^3.2.12 + fast-glob: ^3.3.0 is-glob: ^4.0.3 open: ^9.1.0 picocolors: ^1.0.0 - tslib: ^2.5.0 - checksum: 0ddbb8265b508bcc4e020054960b88324212e1c4b697153211842b8e85167af430b2761459d5e0b5c960668987e92818343b2bec6ee9140b5b3f560d8e68bbfe + tslib: ^2.6.0 + checksum: 7c3e68f6405a1d4c51f418d8d580e71d7bade2683d5db07e8413d8e57f7e389047eda44a2341f77a1b3085895fca7676a9d45e8812a58312524f8c4c65d501be languageName: node linkType: hard @@ -1092,90 +1104,90 @@ __metadata: languageName: node linkType: hard -"@swc/core-darwin-arm64@npm:1.3.67": - version: 1.3.67 - resolution: "@swc/core-darwin-arm64@npm:1.3.67" +"@swc/core-darwin-arm64@npm:1.3.68": + version: 1.3.68 + resolution: "@swc/core-darwin-arm64@npm:1.3.68" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@swc/core-darwin-x64@npm:1.3.67": - version: 1.3.67 - resolution: "@swc/core-darwin-x64@npm:1.3.67" +"@swc/core-darwin-x64@npm:1.3.68": + version: 1.3.68 + resolution: "@swc/core-darwin-x64@npm:1.3.68" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@swc/core-linux-arm-gnueabihf@npm:1.3.67": - version: 1.3.67 - resolution: "@swc/core-linux-arm-gnueabihf@npm:1.3.67" +"@swc/core-linux-arm-gnueabihf@npm:1.3.68": + version: 1.3.68 + resolution: "@swc/core-linux-arm-gnueabihf@npm:1.3.68" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@swc/core-linux-arm64-gnu@npm:1.3.67": - version: 1.3.67 - resolution: "@swc/core-linux-arm64-gnu@npm:1.3.67" +"@swc/core-linux-arm64-gnu@npm:1.3.68": + version: 1.3.68 + resolution: "@swc/core-linux-arm64-gnu@npm:1.3.68" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-arm64-musl@npm:1.3.67": - version: 1.3.67 - resolution: "@swc/core-linux-arm64-musl@npm:1.3.67" +"@swc/core-linux-arm64-musl@npm:1.3.68": + version: 1.3.68 + resolution: "@swc/core-linux-arm64-musl@npm:1.3.68" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@swc/core-linux-x64-gnu@npm:1.3.67": - version: 1.3.67 - resolution: "@swc/core-linux-x64-gnu@npm:1.3.67" +"@swc/core-linux-x64-gnu@npm:1.3.68": + version: 1.3.68 + resolution: "@swc/core-linux-x64-gnu@npm:1.3.68" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-x64-musl@npm:1.3.67": - version: 1.3.67 - resolution: "@swc/core-linux-x64-musl@npm:1.3.67" +"@swc/core-linux-x64-musl@npm:1.3.68": + version: 1.3.68 + resolution: "@swc/core-linux-x64-musl@npm:1.3.68" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@swc/core-win32-arm64-msvc@npm:1.3.67": - version: 1.3.67 - resolution: "@swc/core-win32-arm64-msvc@npm:1.3.67" +"@swc/core-win32-arm64-msvc@npm:1.3.68": + version: 1.3.68 + resolution: "@swc/core-win32-arm64-msvc@npm:1.3.68" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@swc/core-win32-ia32-msvc@npm:1.3.67": - version: 1.3.67 - resolution: "@swc/core-win32-ia32-msvc@npm:1.3.67" +"@swc/core-win32-ia32-msvc@npm:1.3.68": + version: 1.3.68 + resolution: "@swc/core-win32-ia32-msvc@npm:1.3.68" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@swc/core-win32-x64-msvc@npm:1.3.67": - version: 1.3.67 - resolution: "@swc/core-win32-x64-msvc@npm:1.3.67" +"@swc/core-win32-x64-msvc@npm:1.3.68": + version: 1.3.68 + resolution: "@swc/core-win32-x64-msvc@npm:1.3.68" conditions: os=win32 & cpu=x64 languageName: node linkType: hard "@swc/core@npm:^1.3.61": - version: 1.3.67 - resolution: "@swc/core@npm:1.3.67" + version: 1.3.68 + resolution: "@swc/core@npm:1.3.68" dependencies: - "@swc/core-darwin-arm64": 1.3.67 - "@swc/core-darwin-x64": 1.3.67 - "@swc/core-linux-arm-gnueabihf": 1.3.67 - "@swc/core-linux-arm64-gnu": 1.3.67 - "@swc/core-linux-arm64-musl": 1.3.67 - "@swc/core-linux-x64-gnu": 1.3.67 - "@swc/core-linux-x64-musl": 1.3.67 - "@swc/core-win32-arm64-msvc": 1.3.67 - "@swc/core-win32-ia32-msvc": 1.3.67 - "@swc/core-win32-x64-msvc": 1.3.67 + "@swc/core-darwin-arm64": 1.3.68 + "@swc/core-darwin-x64": 1.3.68 + "@swc/core-linux-arm-gnueabihf": 1.3.68 + "@swc/core-linux-arm64-gnu": 1.3.68 + "@swc/core-linux-arm64-musl": 1.3.68 + "@swc/core-linux-x64-gnu": 1.3.68 + "@swc/core-linux-x64-musl": 1.3.68 + "@swc/core-win32-arm64-msvc": 1.3.68 + "@swc/core-win32-ia32-msvc": 1.3.68 + "@swc/core-win32-x64-msvc": 1.3.68 peerDependencies: "@swc/helpers": ^0.5.0 dependenciesMeta: @@ -1202,7 +1214,7 @@ __metadata: peerDependenciesMeta: "@swc/helpers": optional: true - checksum: e09135963d5e21607d4f6f4ba818353976c13252f4fe4d40f27715dd51d83996738496f9d9e0b0106700d6720e102dfcf74cb729614881660a909e3c2a5fae0a + checksum: 3788a944fb99934a3280f5d168ca758784d6a6bb554c7282d90db1bb78af9a98420171b5b6abbb4bac9556d0795e4b1332601d7eb528ee6caeffca351b8dabf9 languageName: node linkType: hard @@ -1279,10 +1291,10 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^20.4.0": - version: 20.4.0 - resolution: "@types/node@npm:20.4.0" - checksum: b45864c70d3642611a82a55b4d1734cae9ae5341f4af3dcb7e42aedbe3ca66d766c0dffe26bb94af030b52a45ba5af370fd3104a3b41fa70addbc4fae7322516 +"@types/node@npm:^20.4.1": + version: 20.4.1 + resolution: "@types/node@npm:20.4.1" + checksum: 000b001bc4a2bd96fde75c4e20358c6232b94228a6712989bd14cee652474f1084774a88552a82b3dac98fc49750313a76d5d3d773a6b616a041c2bad55590f3 languageName: node linkType: hard @@ -1518,7 +1530,7 @@ __metadata: "@table-library/react-table-library": 4.1.4 "@types/lodash-es": ^4.17.7 "@types/mime-types": ^2 - "@types/node": ^20.4.0 + "@types/node": ^20.4.1 "@types/react": ^18.2.14 "@types/react-dom": ^18.2.6 "@types/react-router-dom": ^5.3.3 @@ -1535,7 +1547,7 @@ __metadata: eslint-plugin-autofix: ^1.1.0 eslint-plugin-import: ^2.27.5 eslint-plugin-jsx-a11y: ^6.7.1 - eslint-plugin-prettier: ^4.2.1 + eslint-plugin-prettier: alpha eslint-plugin-react: ^7.32.2 eslint-plugin-react-hooks: ^4.6.0 history: ^5.3.0 @@ -1578,12 +1590,12 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.8.0, acorn@npm:^8.8.2, acorn@npm:^8.9.0": - version: 8.9.0 - resolution: "acorn@npm:8.9.0" +"acorn@npm:^8.8.2, acorn@npm:^8.9.0": + version: 8.10.0 + resolution: "acorn@npm:8.10.0" bin: acorn: bin/acorn - checksum: 5b51689d56f1ca5d6ea1fa58af478affd8d3396403637abcbc7caf28e1a47beb537cf1654f537b6cf4c73377f3e1aa99fd4a50674e64daefe08cb25c799ded28 + checksum: deaeebfbea6e40f6c0e1070e9b0e16e76ba484de54cbd735914d1d41d19169a450de8630b7a3a0c4e271a3b0c0b075a3427ad1a40d8a69f8747c0e8cb02ee3e2 languageName: node linkType: hard @@ -1898,7 +1910,7 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.21.3": +"browserslist@npm:^4.21.9": version: 4.21.9 resolution: "browserslist@npm:4.21.9" dependencies: @@ -1973,9 +1985,9 @@ __metadata: linkType: hard "caniuse-lite@npm:^1.0.30001503": - version: 1.0.30001509 - resolution: "caniuse-lite@npm:1.0.30001509" - checksum: 631e61b8de50174ffe0baeb0b87d52f0b873bae6c13b4b4eb7eb9e2dbd7d48fb05c8426cc9eccc21e4e4156d2d2bdfe7f7d9677a6f9484c2f24404e737020700 + version: 1.0.30001513 + resolution: "caniuse-lite@npm:1.0.30001513" + checksum: b4eca40458e01fa07947ea8eb1dae2acf902d27f7f7399daf47c9cd75724ab03f2424a59a8d211144653ba7e9e66f722863b5e940453e6c3909a2194c0a6622c languageName: node linkType: hard @@ -2337,9 +2349,9 @@ __metadata: linkType: hard "electron-to-chromium@npm:^1.4.431": - version: 1.4.446 - resolution: "electron-to-chromium@npm:1.4.446" - checksum: 207de6583e24d643a62223b623cb93dfd553bbf767be31eaf91ba6c503795eebb4393f21b5d30fbc615551b284848c09566e3464b224f2ea5140eb3c992ace44 + version: 1.4.454 + resolution: "electron-to-chromium@npm:1.4.454" + checksum: a8f2b99eb8a90b5038bd100289c17e1ae5c7a3597214650eeb8aafd94fbb139a8749e358666ded0d37454c08d2857c9f0103cc621b630f9de493db6544bc8003 languageName: node linkType: hard @@ -2742,18 +2754,22 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-prettier@npm:^4.2.1": - version: 4.2.1 - resolution: "eslint-plugin-prettier@npm:4.2.1" +"eslint-plugin-prettier@npm:alpha": + version: 5.0.0-alpha.2 + resolution: "eslint-plugin-prettier@npm:5.0.0-alpha.2" dependencies: prettier-linter-helpers: ^1.0.0 + synckit: ^0.8.5 peerDependencies: - eslint: ">=7.28.0" - prettier: ">=2.0.0" + "@types/eslint": ">=8.0.0" + eslint: ">=8.0.0" + prettier: ">=3.0.0" peerDependenciesMeta: + "@types/eslint": + optional: true eslint-config-prettier: optional: true - checksum: c5e7316baeab9d96ac39c279f16686e837277e5c67a8006c6588bcff317edffdc1532fb580441eb598bc6770f6444006756b68a6575dff1cd85ebe227252d0b7 + checksum: 1401a0c6b5fc38879ff76772da3ad6d8d3607755614e9449412998f27f1858a6d333c12500abf3cee1af1f77b720e431dd5b6c9e30e58e8cc5e896f1ceb23809 languageName: node linkType: hard @@ -2874,18 +2890,7 @@ __metadata: languageName: node linkType: hard -"espree@npm:^9.0.0": - version: 9.5.2 - resolution: "espree@npm:9.5.2" - dependencies: - acorn: ^8.8.0 - acorn-jsx: ^5.3.2 - eslint-visitor-keys: ^3.4.1 - checksum: 6885e57b3dcea3f65211403a10077a80a57f03e6c8b45c1e1db4bc5958e0fdb5c358819c88898ea67655d25fb646836182f688156e124a05610e714d3fcb6822 - languageName: node - linkType: hard - -"espree@npm:^9.6.0": +"espree@npm:^9.0.0, espree@npm:^9.6.0": version: 9.6.0 resolution: "espree@npm:9.6.0" dependencies: @@ -2997,7 +3002,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.12, fast-glob@npm:^3.2.9": +"fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0": version: 3.3.0 resolution: "fast-glob@npm:3.3.0" dependencies: @@ -3270,17 +3275,17 @@ __metadata: linkType: hard "glob@npm:^10.2.2": - version: 10.3.1 - resolution: "glob@npm:10.3.1" + version: 10.3.2 + resolution: "glob@npm:10.3.2" dependencies: foreground-child: ^3.1.0 jackspeak: ^2.0.3 minimatch: ^9.0.1 - minipass: ^5.0.0 || ^6.0.2 - path-scurry: ^1.10.0 + minipass: ^5.0.0 || ^6.0.2 || ^7.0.0 + path-scurry: ^1.10.1 bin: glob: dist/cjs/src/bin.js - checksum: b39d24c093ce2ffa992dc5b412dbc871af0ccd38a6b2356f67dc906857f0c4c811039a4a4665d19443e1bb484ce2d97855cc7fcfb9a7d0b7e0dadfef4dad5b82 + checksum: bce737f2acbcfc7475ed672905ee4d8c93e9faa9a926bda6479df6070d3c4bbe4cd80ccc2024528e49d0f7b4c94dd631b107313128d0341c65dd1fc2daf58c05 languageName: node linkType: hard @@ -3338,15 +3343,15 @@ __metadata: linkType: hard "globby@npm:^13.1.3": - version: 13.2.0 - resolution: "globby@npm:13.2.0" + version: 13.2.2 + resolution: "globby@npm:13.2.2" dependencies: dir-glob: ^3.0.1 - fast-glob: ^3.2.11 - ignore: ^5.2.0 + fast-glob: ^3.3.0 + ignore: ^5.2.4 merge2: ^1.4.1 slash: ^4.0.0 - checksum: d1ea2b09dbb24961d16413cdb45764cb63280a2a7066739df5e5b33292ce4980d9da1d168a6a135c332ea1856f921e28d8ffcc2c6c24b82d4f4208477bfe62b4 + checksum: a8d7cc7cbe5e1b2d0f81d467bbc5bc2eac35f74eaded3a6c85fc26d7acc8e6de22d396159db8a2fc340b8a342e74cac58de8f4aee74146d3d146921a76062664 languageName: node linkType: hard @@ -3541,7 +3546,7 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^5.2.0": +"ignore@npm:^5.2.0, ignore@npm:^5.2.4": version: 5.2.4 resolution: "ignore@npm:5.2.4" checksum: 7c7cd90edd9fea6e037f9b9da4b01bf0a86b198ce78345f9bbd983929d68ff14830be31111edc5d70c264921f4962404d75b7262b4d9cc3bc12381eccbd03096 @@ -4182,11 +4187,11 @@ __metadata: linkType: hard "minimatch@npm:^9.0.1": - version: 9.0.2 - resolution: "minimatch@npm:9.0.2" + version: 9.0.3 + resolution: "minimatch@npm:9.0.3" dependencies: brace-expansion: ^2.0.1 - checksum: 39157d5fd831a7981f7c0c5b22a0e0c2ae8a987ec4a4aeaacc21d3e85da24ce812808cbf7c07cde0d63ad1cf307f73be581131a7a84eeda65f00be1f51972471 + checksum: 85f407dcd38ac3e180f425e86553911d101455ca3ad5544d6a7cec16286657e4f8a9aa6695803025c55e31e35a91a2252b5dc8e7d527211278b8b65b4dbd5eac languageName: node linkType: hard @@ -4264,10 +4269,10 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^5.0.0 || ^6.0.2": - version: 6.0.2 - resolution: "minipass@npm:6.0.2" - checksum: 3878076578f44ef4078ceed10af2cfebbec1b6217bf9f7a3d8b940da8153769db29bf88498b2de0d1e0c12dfb7b634c5729b7ca03457f46435e801578add210a +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0": + version: 7.0.1 + resolution: "minipass@npm:7.0.1" + checksum: 47e4f3567c4d4c20b4a6e04ec99397d606f25038fa5490b60b05b1e104285e7001d7e19c0af2b74fe500823d808eb03fe70652a7ded2753afd748c75d3fd2624 languageName: node linkType: hard @@ -4363,9 +4368,9 @@ __metadata: linkType: hard "node-releases@npm:^2.0.12": - version: 2.0.12 - resolution: "node-releases@npm:2.0.12" - checksum: 01f9a7c135be5c8bc989b6c10b9840a7aee09040d46ba4e64b5ea0174fb8891f1277514aef75033ce42031f6cb72a04d4a7e99c70ca25488ad63ad6fc5a5b6a0 + version: 2.0.13 + resolution: "node-releases@npm:2.0.13" + checksum: 2fb44bf70fc949d27f3a48a7fd1a9d1d603ddad4ccd091f26b3fb8b1da976605d919330d7388ccd55ca2ade0dc8b2e12841ba19ef249c8bb29bf82532d401af7 languageName: node linkType: hard @@ -4721,13 +4726,13 @@ __metadata: languageName: node linkType: hard -"path-scurry@npm:^1.10.0": - version: 1.10.0 - resolution: "path-scurry@npm:1.10.0" +"path-scurry@npm:^1.10.1": + version: 1.10.1 + resolution: "path-scurry@npm:1.10.1" dependencies: lru-cache: ^9.1.1 || ^10.0.0 - minipass: ^5.0.0 || ^6.0.2 - checksum: dcc4109928c9a0991f0e1719c73b0a184eb7f313fe3eb2242f25274b1e761f53041989fb6b069541b88f58ee6dfbbecf94922225e0c5a3fba8112c9c60abb391 + minipass: ^5.0.0 || ^6.0.2 || ^7.0.0 + checksum: e5dc78a7348d25eec61ab166317e9e9c7b46818aa2c2b9006c507a6ff48c672d011292d9662527213e558f5652ce0afcc788663a061d8b59ab495681840c0c1e languageName: node linkType: hard @@ -4855,7 +4860,7 @@ __metadata: languageName: node linkType: hard -react-dom@latest: +"react-dom@npm:latest": version: 18.2.0 resolution: "react-dom@npm:18.2.0" dependencies: @@ -4977,7 +4982,7 @@ react-dom@latest: languageName: node linkType: hard -react@latest: +"react@npm:latest": version: 18.2.0 resolution: "react@npm:18.2.0" dependencies: @@ -5237,13 +5242,13 @@ react@latest: linkType: hard "semver@npm:^7.3.5, semver@npm:^7.3.7": - version: 7.5.3 - resolution: "semver@npm:7.5.3" + version: 7.5.4 + resolution: "semver@npm:7.5.4" dependencies: lru-cache: ^6.0.0 bin: semver: bin/semver.js - checksum: 4cf3bab7e8cf8c2ae521fc4bcc50a4d6912a836360796b23b9f1c26f45d27a73f870e47664df4770bde0dd60dc4d4781a05fd49fe91d72376ea5519b9e791459 + checksum: 5160b06975a38b11c1ab55950cb5b8a23db78df88275d3d8a42ccf1f29e55112ac995b3a26a522c36e3b5f76b0445f1eef70d696b8c7862a2b4303d7b0e7609e languageName: node linkType: hard @@ -5768,7 +5773,7 @@ react@latest: languageName: node linkType: hard -"tslib@npm:^2.4.0, tslib@npm:^2.5.0": +"tslib@npm:^2.4.0, tslib@npm:^2.5.0, tslib@npm:^2.6.0": version: 2.6.0 resolution: "tslib@npm:2.6.0" checksum: 8d18020a8b9e70ecc529a744c883c095f177805efdbc9786bd50bd82a46c17547923133c5444fbcaf1f7f1c44e0e29c89f73ecf6d8fd1039668024a073a81dc6 From 3aa806ca650c432d889a991b6fd1674cf71531f4 Mon Sep 17 00:00:00 2001 From: Proddy Date: Sat, 8 Jul 2023 14:08:13 +0200 Subject: [PATCH 04/13] formatting --- interface/src/api/network.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interface/src/api/network.ts b/interface/src/api/network.ts index 8a8aca67c..c5b36dd45 100644 --- a/interface/src/api/network.ts +++ b/interface/src/api/network.ts @@ -7,7 +7,7 @@ export const scanNetworks = () => alovaInstance.Get('/rest/scanNetworks'); export const listNetworks = () => alovaInstance.Get('/rest/listNetworks', { name: 'listNetworks', - timeout: 20000, // timeout 20 seconds + timeout: 20000 // timeout 20 seconds }); export const readNetworkSettings = () => alovaInstance.Get('/rest/networkSettings', { name: 'networkSettings' }); From 1b27ccf70e7fcb68e776081c14881dffad678334 Mon Sep 17 00:00:00 2001 From: Proddy Date: Sat, 8 Jul 2023 14:08:25 +0200 Subject: [PATCH 05/13] formatting --- interface/src/SignIn.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interface/src/SignIn.tsx b/interface/src/SignIn.tsx index 883e0cc62..355466201 100644 --- a/interface/src/SignIn.tsx +++ b/interface/src/SignIn.tsx @@ -55,7 +55,7 @@ const SignIn: FC = () => { const signIn = async () => { await callSignIn(signInRequest).catch((event) => { if (event.message === 'Unauthorized') { - toast.warn(LL.INVALID_LOGIN()); + toast.warning(LL.INVALID_LOGIN()); } else { toast.error(LL.ERROR() + ' ' + event.message); } From eb6e8d0c9341fd0f2c10de2e1a148d48f7c24a2b Mon Sep 17 00:00:00 2001 From: Proddy Date: Sat, 8 Jul 2023 14:10:08 +0200 Subject: [PATCH 06/13] comments --- interface/src/AuthenticatedRouting.tsx | 1 - interface/src/api/endpoints.ts | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/interface/src/AuthenticatedRouting.tsx b/interface/src/AuthenticatedRouting.tsx index 0dc0da8b1..3e89334b0 100644 --- a/interface/src/AuthenticatedRouting.tsx +++ b/interface/src/AuthenticatedRouting.tsx @@ -13,7 +13,6 @@ import Security from 'framework/security/Security'; import System from 'framework/system/System'; const AuthenticatedRouting: FC = () => ( - // TODO not sure if this is needed, to redirect on 401. If so add incerceptor to Alova // const location = useLocation(); // const navigate = useNavigate(); // const handleApiResponseError = useCallback( diff --git a/interface/src/api/endpoints.ts b/interface/src/api/endpoints.ts index 4af25b940..ffb1f870e 100644 --- a/interface/src/api/endpoints.ts +++ b/interface/src/api/endpoints.ts @@ -46,8 +46,7 @@ export const alovaInstance = createAlova({ } // Interceptor for request failure. This interceptor will be entered when the request is wrong. - // TODO how best to handle http errors like 401 (unauthorized) - // but I think this is handled correctly in AppRouting? See AuthenticatedRouting() + // http errors like 401 (unauthorized) are handled either in the methods or AuthenticatedRouting() // onError: (error, method) => { // alert(error.message); // } From bea0922ee8417105e4006d3b56b852488b2ceea0 Mon Sep 17 00:00:00 2001 From: Proddy Date: Sat, 8 Jul 2023 14:10:33 +0200 Subject: [PATCH 07/13] report on invalid extension - Validate file name extension on file upload #1210 --- interface/src/framework/system/UploadFileForm.tsx | 4 +++- lib/framework/UploadFileService.cpp | 11 ++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/interface/src/framework/system/UploadFileForm.tsx b/interface/src/framework/system/UploadFileForm.tsx index 4414be0fb..750808dd9 100644 --- a/interface/src/framework/system/UploadFileForm.tsx +++ b/interface/src/framework/system/UploadFileForm.tsx @@ -53,8 +53,10 @@ const UploadFileForm: FC = () => { await sendUpload(files[0]).catch((err) => { if (err.message === 'The user aborted a request') { toast.warning(LL.UPLOAD() + ' ' + LL.ABORTED()); + } else if (err.message === 'Network Error') { + toast.warning('Invalid file extension'); } else { - toast.warning(err.message); + toast.error(err.message); } }); }; diff --git a/lib/framework/UploadFileService.cpp b/lib/framework/UploadFileService.cpp index d06427ade..8637d45be 100644 --- a/lib/framework/UploadFileService.cpp +++ b/lib/framework/UploadFileService.cpp @@ -42,7 +42,9 @@ void UploadFileService::handleUpload(AsyncWebServerRequest * request, const Stri return; } else { md5[0] = '\0'; - return; // unsupported file type + handleError(request, 406); // Not Acceptable - unsupported file type + request->client()->abort(); + return; } if (is_firmware) { @@ -122,18 +124,17 @@ void UploadFileService::uploadComplete(AsyncWebServerRequest * request) { request->send(response); return; } + if (strlen(md5) == 32) { auto * response = new AsyncJsonResponse(false, 256); JsonObject root = response->getRoot(); root["md5"] = md5; response->setLength(); request->send(response); - // AsyncWebServerResponse * response = request->beginResponse(201, "text/plain", md5); // created - // request->send(response); return; } - handleError(request, 403); // send the forbidden response + handleError(request, 406); // send the forbidden response } void UploadFileService::handleError(AsyncWebServerRequest * request, int code) { @@ -143,9 +144,9 @@ void UploadFileService::handleError(AsyncWebServerRequest * request, int code) { } // send the error code to the client and record the error code in the temp object - request->_tempObject = new int(code); AsyncWebServerResponse * response = request->beginResponse(code); request->send(response); + handleEarlyDisconnect(); } void UploadFileService::handleEarlyDisconnect() { From 365d246a896e2e95a92e1200213d38dbcbd78a32 Mon Sep 17 00:00:00 2001 From: Proddy Date: Sat, 8 Jul 2023 15:53:44 +0200 Subject: [PATCH 08/13] fix prettier in vscode --- .vscode/settings.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 970fb6b8c..ccf5efa8a 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -9,7 +9,7 @@ }, "eslint.nodePath": "interface/.yarn/sdks", "eslint.workingDirectories": ["interface"], - "prettier.prettierPath": "interface/.yarn/sdks/prettier/index.js", + "prettier.prettierPath": "", "typescript.tsdk": "interface/.yarn/sdks/typescript/lib", "typescript.enablePromptUseWorkspaceTsdk": true, "files.associations": { From d8364c5df2915b925c9ee104f17ded65b06b5334 Mon Sep 17 00:00:00 2001 From: Proddy Date: Sun, 9 Jul 2023 10:55:25 +0200 Subject: [PATCH 09/13] close only on 406 --- lib/framework/UploadFileService.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/framework/UploadFileService.cpp b/lib/framework/UploadFileService.cpp index 8637d45be..a15821508 100644 --- a/lib/framework/UploadFileService.cpp +++ b/lib/framework/UploadFileService.cpp @@ -43,7 +43,6 @@ void UploadFileService::handleUpload(AsyncWebServerRequest * request, const Stri } else { md5[0] = '\0'; handleError(request, 406); // Not Acceptable - unsupported file type - request->client()->abort(); return; } @@ -134,7 +133,7 @@ void UploadFileService::uploadComplete(AsyncWebServerRequest * request) { return; } - handleError(request, 406); // send the forbidden response + handleError(request, 500); } void UploadFileService::handleError(AsyncWebServerRequest * request, int code) { @@ -146,7 +145,13 @@ void UploadFileService::handleError(AsyncWebServerRequest * request, int code) { // send the error code to the client and record the error code in the temp object AsyncWebServerResponse * response = request->beginResponse(code); request->send(response); - handleEarlyDisconnect(); + + // check for invalid extension and immediately kill the connection, which will through an error + // that is caught by the web code. Unfortunately the http error code is not sent to the client on fast network connections + if (code == 406) { + request->client()->close(true); + handleEarlyDisconnect(); + } } void UploadFileService::handleEarlyDisconnect() { From d537247ead8c6340b8106b74f8f3e7eb0fd231ef Mon Sep 17 00:00:00 2001 From: Proddy Date: Sun, 9 Jul 2023 10:55:30 +0200 Subject: [PATCH 10/13] package updates --- interface/package.json | 2 +- interface/yarn.lock | 37 ++++++++++++++---------------------- mock-api/package.json | 2 +- mock-api/yarn.lock | 43 ++++++++++++++++++------------------------ 4 files changed, 34 insertions(+), 50 deletions(-) diff --git a/interface/package.json b/interface/package.json index 3834df14e..64d47190f 100644 --- a/interface/package.json +++ b/interface/package.json @@ -63,7 +63,7 @@ "eslint-plugin-prettier": "alpha", "eslint-plugin-react": "^7.32.2", "eslint-plugin-react-hooks": "^4.6.0", - "nodemon": "^2.0.22", + "nodemon": "^3.0.0", "npm-run-all": "^4.1.5", "prettier": "^3.0.0", "rollup-plugin-visualizer": "^5.9.2", diff --git a/interface/yarn.lock b/interface/yarn.lock index 2e57c9ed4..d7c358d88 100644 --- a/interface/yarn.lock +++ b/interface/yarn.lock @@ -1554,7 +1554,7 @@ __metadata: jwt-decode: ^3.1.2 lodash-es: ^4.17.21 mime-types: ^2.1.35 - nodemon: ^2.0.22 + nodemon: ^3.0.0 npm-run-all: ^4.1.5 prettier: ^3.0.0 react: latest @@ -4374,23 +4374,23 @@ __metadata: languageName: node linkType: hard -"nodemon@npm:^2.0.22": - version: 2.0.22 - resolution: "nodemon@npm:2.0.22" +"nodemon@npm:^3.0.0": + version: 3.0.0 + resolution: "nodemon@npm:3.0.0" dependencies: chokidar: ^3.5.2 debug: ^3.2.7 ignore-by-default: ^1.0.1 minimatch: ^3.1.2 pstree.remy: ^1.1.8 - semver: ^5.7.1 - simple-update-notifier: ^1.0.7 + semver: ^7.5.3 + simple-update-notifier: ^2.0.0 supports-color: ^5.5.0 touch: ^3.1.0 undefsafe: ^2.0.5 bin: nodemon: bin/nodemon.js - checksum: 37e960b995b66e6d9e3b0e435ecc07a45200c4c566c4820a4deb6e7cc234b305e076a8ff0b4dc9c01ee690c663ae82a217d60c591dcbbcd4af1e3a7d0ad2b2c6 + checksum: 7c28b942f8e47368fe1ea55f69a3d275d1762d1c77f08316befee4c5b5d5a230efd55cde3126c9427c253b97ba103a371fe96d46651b9852327ed1345c765830 languageName: node linkType: hard @@ -5223,7 +5223,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.5.0, semver@npm:^5.7.1": +"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.5.0": version: 5.7.1 resolution: "semver@npm:5.7.1" bin: @@ -5241,7 +5241,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.3.5, semver@npm:^7.3.7": +"semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.3": version: 7.5.4 resolution: "semver@npm:7.5.4" dependencies: @@ -5252,15 +5252,6 @@ __metadata: languageName: node linkType: hard -"semver@npm:~7.0.0": - version: 7.0.0 - resolution: "semver@npm:7.0.0" - bin: - semver: bin/semver.js - checksum: 7fd341680a967a0abfd66f3a7d36ba44e52ff5d3e799e9a6cdb01a68160b64ef09be82b4af05459effeecdd836f002c2462555d2821cd890dfdfe36a0d9f56a5 - languageName: node - linkType: hard - "set-blocking@npm:^2.0.0": version: 2.0.0 resolution: "set-blocking@npm:2.0.0" @@ -5332,12 +5323,12 @@ __metadata: languageName: node linkType: hard -"simple-update-notifier@npm:^1.0.7": - version: 1.1.0 - resolution: "simple-update-notifier@npm:1.1.0" +"simple-update-notifier@npm:^2.0.0": + version: 2.0.0 + resolution: "simple-update-notifier@npm:2.0.0" dependencies: - semver: ~7.0.0 - checksum: 3cbbbc71a5d9a2924f0e3f42fbf3cbe1854bfe142203456b00d5233bdbbdeb5091b8067cd34fb00f81dbfbc29fc30dbb6e026b3d58ea0551e3f26c0e64082092 + semver: ^7.5.3 + checksum: 2a00bd03bfbcbf8a737c47ab230d7920f8bfb92d1159d421bdd194479f6d01ebc995d13fbe13d45dace23066a78a3dc6642999b4e3b38b847e6664191575b20c languageName: node linkType: hard diff --git a/mock-api/package.json b/mock-api/package.json index c4f17293a..1f2a5db94 100644 --- a/mock-api/package.json +++ b/mock-api/package.json @@ -13,7 +13,7 @@ "compression": "^1.7.4", "express": "^4.18.2", "multer": "^1.4.5-lts.1", - "nodemon": "^2.0.22" + "nodemon": "^3.0.0" }, "packageManager": "yarn@3.4.1" } diff --git a/mock-api/yarn.lock b/mock-api/yarn.lock index 83c353e29..4fff90aa1 100644 --- a/mock-api/yarn.lock +++ b/mock-api/yarn.lock @@ -118,7 +118,7 @@ __metadata: compression: ^1.7.4 express: ^4.18.2 multer: ^1.4.5-lts.1 - nodemon: ^2.0.22 + nodemon: ^3.0.0 languageName: unknown linkType: soft @@ -1203,23 +1203,23 @@ __metadata: languageName: node linkType: hard -"nodemon@npm:^2.0.22": - version: 2.0.22 - resolution: "nodemon@npm:2.0.22" +"nodemon@npm:^3.0.0": + version: 3.0.0 + resolution: "nodemon@npm:3.0.0" dependencies: chokidar: ^3.5.2 debug: ^3.2.7 ignore-by-default: ^1.0.1 minimatch: ^3.1.2 pstree.remy: ^1.1.8 - semver: ^5.7.1 - simple-update-notifier: ^1.0.7 + semver: ^7.5.3 + simple-update-notifier: ^2.0.0 supports-color: ^5.5.0 touch: ^3.1.0 undefsafe: ^2.0.5 bin: nodemon: bin/nodemon.js - checksum: 9c987e139748f5b5c480c6c9080bdc97304ee7d29172b7b3da1a7db590b1323ad57b96346304e9b522b0e445c336dc393ccd3f9f45c73b20d476d2347890dcd0 + checksum: ada447159001f04d57c9b5bc1d51a51a96e98bb64708b10d2c0f093d9ab769fd7b77dbe5e4e5f059725fe7742f4e8255831c6fdba6eeb32ad234bb7822dfa0a3 languageName: node linkType: hard @@ -1483,15 +1483,6 @@ __metadata: languageName: node linkType: hard -"semver@npm:^5.7.1": - version: 5.7.1 - resolution: "semver@npm:5.7.1" - bin: - semver: ./bin/semver - checksum: 57fd0acfd0bac382ee87cd52cd0aaa5af086a7dc8d60379dfe65fea491fb2489b6016400813930ecd61fd0952dae75c115287a1b16c234b1550887117744dfaf - languageName: node - linkType: hard - "semver@npm:^7.3.5": version: 7.3.8 resolution: "semver@npm:7.3.8" @@ -1503,12 +1494,14 @@ __metadata: languageName: node linkType: hard -"semver@npm:~7.0.0": - version: 7.0.0 - resolution: "semver@npm:7.0.0" +"semver@npm:^7.5.3": + version: 7.5.4 + resolution: "semver@npm:7.5.4" + dependencies: + lru-cache: ^6.0.0 bin: semver: bin/semver.js - checksum: 272c11bf8d083274ef79fe40a81c55c184dff84dd58e3c325299d0927ba48cece1f020793d138382b85f89bab5002a35a5ba59a3a68a7eebbb597eb733838778 + checksum: 12d8ad952fa353b0995bf180cdac205a4068b759a140e5d3c608317098b3575ac2f1e09182206bf2eb26120e1c0ed8fb92c48c592f6099680de56bb071423ca3 languageName: node linkType: hard @@ -1577,12 +1570,12 @@ __metadata: languageName: node linkType: hard -"simple-update-notifier@npm:^1.0.7": - version: 1.1.0 - resolution: "simple-update-notifier@npm:1.1.0" +"simple-update-notifier@npm:^2.0.0": + version: 2.0.0 + resolution: "simple-update-notifier@npm:2.0.0" dependencies: - semver: ~7.0.0 - checksum: 1012e9b6c504e559a948078177b3eedbb9d7e4d15878e2bda56314d08db609ca5da485be4ac9f838759faae8057935ee0246fcdf63f1233c86bd9fecb2a5544b + semver: ^7.5.3 + checksum: 9ba00d38ce6a29682f64a46213834e4eb01634c2f52c813a9a7b8873ca49cdbb703696f3290f3b27dc067de6d9418b0b84bef22c3eb074acf352529b2d6c27fd languageName: node linkType: hard From 99b2da752fa8588bbabcb648abe380ac4fdab6f3 Mon Sep 17 00:00:00 2001 From: Proddy Date: Sun, 9 Jul 2023 18:07:03 +0200 Subject: [PATCH 11/13] package update --- interface/package.json | 2 +- interface/yarn.lock | 10 +++++----- mock-api/package.json | 2 +- mock-api/server.js | 2 +- mock-api/yarn.lock | 10 +++++----- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/interface/package.json b/interface/package.json index 64d47190f..3c5826ff2 100644 --- a/interface/package.json +++ b/interface/package.json @@ -63,7 +63,7 @@ "eslint-plugin-prettier": "alpha", "eslint-plugin-react": "^7.32.2", "eslint-plugin-react-hooks": "^4.6.0", - "nodemon": "^3.0.0", + "nodemon": "^3.0.1", "npm-run-all": "^4.1.5", "prettier": "^3.0.0", "rollup-plugin-visualizer": "^5.9.2", diff --git a/interface/yarn.lock b/interface/yarn.lock index d7c358d88..e561bbba2 100644 --- a/interface/yarn.lock +++ b/interface/yarn.lock @@ -1554,7 +1554,7 @@ __metadata: jwt-decode: ^3.1.2 lodash-es: ^4.17.21 mime-types: ^2.1.35 - nodemon: ^3.0.0 + nodemon: ^3.0.1 npm-run-all: ^4.1.5 prettier: ^3.0.0 react: latest @@ -4374,9 +4374,9 @@ __metadata: languageName: node linkType: hard -"nodemon@npm:^3.0.0": - version: 3.0.0 - resolution: "nodemon@npm:3.0.0" +"nodemon@npm:^3.0.1": + version: 3.0.1 + resolution: "nodemon@npm:3.0.1" dependencies: chokidar: ^3.5.2 debug: ^3.2.7 @@ -4390,7 +4390,7 @@ __metadata: undefsafe: ^2.0.5 bin: nodemon: bin/nodemon.js - checksum: 7c28b942f8e47368fe1ea55f69a3d275d1762d1c77f08316befee4c5b5d5a230efd55cde3126c9427c253b97ba103a371fe96d46651b9852327ed1345c765830 + checksum: 471a218227949b38926de78237004c91e226b63ee06f433cf85c2f1c1f8b6bfbef9bceaa8d27786e7cfb539eb84da357d01741884d08a3ae172bebecd0f1de5b languageName: node linkType: hard diff --git a/mock-api/package.json b/mock-api/package.json index 1f2a5db94..1bdb7584a 100644 --- a/mock-api/package.json +++ b/mock-api/package.json @@ -13,7 +13,7 @@ "compression": "^1.7.4", "express": "^4.18.2", "multer": "^1.4.5-lts.1", - "nodemon": "^3.0.0" + "nodemon": "^3.0.1" }, "packageManager": "yarn@3.4.1" } diff --git a/mock-api/server.js b/mock-api/server.js index 1b83be34b..9885dc7d0 100644 --- a/mock-api/server.js +++ b/mock-api/server.js @@ -2782,5 +2782,5 @@ rest_server.get(ES_LOG_ENDPOINT, function (req, res) { log_index = 0; } fetch_log.events.push(data); // append to buffer - }, 3000); + }, 300); }); diff --git a/mock-api/yarn.lock b/mock-api/yarn.lock index 4fff90aa1..0c5dc99bb 100644 --- a/mock-api/yarn.lock +++ b/mock-api/yarn.lock @@ -118,7 +118,7 @@ __metadata: compression: ^1.7.4 express: ^4.18.2 multer: ^1.4.5-lts.1 - nodemon: ^3.0.0 + nodemon: ^3.0.1 languageName: unknown linkType: soft @@ -1203,9 +1203,9 @@ __metadata: languageName: node linkType: hard -"nodemon@npm:^3.0.0": - version: 3.0.0 - resolution: "nodemon@npm:3.0.0" +"nodemon@npm:^3.0.1": + version: 3.0.1 + resolution: "nodemon@npm:3.0.1" dependencies: chokidar: ^3.5.2 debug: ^3.2.7 @@ -1219,7 +1219,7 @@ __metadata: undefsafe: ^2.0.5 bin: nodemon: bin/nodemon.js - checksum: ada447159001f04d57c9b5bc1d51a51a96e98bb64708b10d2c0f093d9ab769fd7b77dbe5e4e5f059725fe7742f4e8255831c6fdba6eeb32ad234bb7822dfa0a3 + checksum: 6a5d81855760d6617049eccce10ccf02bddb482dab13ceea5280ae595ec7004eee13e7b934368e3f46c37fe4d970342a8c38c99cae7e93e4d7a3ed1c1ecb6acf languageName: node linkType: hard From 91e0a29494c8f89cfa8384dc8cf1993c1092018f Mon Sep 17 00:00:00 2001 From: Proddy Date: Sun, 9 Jul 2023 18:07:11 +0200 Subject: [PATCH 12/13] autoscroll in system log --- interface/src/framework/system/SystemLog.tsx | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/interface/src/framework/system/SystemLog.tsx b/interface/src/framework/system/SystemLog.tsx index 6f400efe9..9dba388e5 100644 --- a/interface/src/framework/system/SystemLog.tsx +++ b/interface/src/framework/system/SystemLog.tsx @@ -1,9 +1,9 @@ +import { text } from 'stream/consumers'; import DownloadIcon from '@mui/icons-material/GetApp'; import WarningIcon from '@mui/icons-material/Warning'; import { Box, styled, Button, Checkbox, MenuItem, Grid, TextField } from '@mui/material'; -// eslint-disable-next-line import/named import { useRequest } from 'alova'; -import { useState, useEffect } from 'react'; +import { useState, useEffect, useRef } from 'react'; import { toast } from 'react-toastify'; import type { FC } from 'react'; @@ -58,8 +58,7 @@ const SystemLog: FC = () => { }); // called on page load to reset pointer and fetch all log entries - // eslint-disable-next-line @typescript-eslint/no-unused-vars - const { send: fetchLog } = useRequest(SystemApi.fetchLog()); + useRequest(SystemApi.fetchLog()); const [logEntries, setLogEntries] = useState([]); const [lastIndex, setLastIndex] = useState(0); @@ -108,13 +107,23 @@ const SystemLog: FC = () => { await saveData(); }; + const ref = useRef(null); + + useEffect(() => { + if (logEntries.length) { + ref.current?.scrollIntoView({ + behavior: 'smooth', + block: 'end' + }); + } + }, [logEntries.length]); + useEffect(() => { const es = new EventSource(addAccessTokenParameter(LOG_EVENTSOURCE_URL)); es.onmessage = onMessage; es.onerror = () => { es.close(); toast.error('EventSource failed'); - // window.location.reload(); }; return () => { @@ -217,6 +226,7 @@ const SystemLog: FC = () => { {e.m} ))} +
); From 1360ffaec000b4253e848f3b4fe04ece1af70d6c Mon Sep 17 00:00:00 2001 From: Proddy Date: Sun, 9 Jul 2023 20:08:03 +0200 Subject: [PATCH 13/13] remove bogus import --- interface/src/framework/system/SystemLog.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/interface/src/framework/system/SystemLog.tsx b/interface/src/framework/system/SystemLog.tsx index 9dba388e5..d099872c6 100644 --- a/interface/src/framework/system/SystemLog.tsx +++ b/interface/src/framework/system/SystemLog.tsx @@ -1,4 +1,3 @@ -import { text } from 'stream/consumers'; import DownloadIcon from '@mui/icons-material/GetApp'; import WarningIcon from '@mui/icons-material/Warning'; import { Box, styled, Button, Checkbox, MenuItem, Grid, TextField } from '@mui/material';