diff --git a/README.md b/README.md index 9efa6801..151c6293 100644 --- a/README.md +++ b/README.md @@ -102,13 +102,18 @@ After flashing the new features, it’s recommended to capture detailed logs fro First, make sure all required Python packages are installed: ```python -python3 -m pip install serial colorama matplotlib +python3 -m pip install pyserial colorama matplotlib ``` after that run the script: ```sh +# For Linux +# This was tested on Debian and should work on most Linux systems. python3 scripts/debugging_monitor.py + +# For macOS +python3 scripts/debugging_monitor.py /dev/cu.usbmodem2101 ``` -This was tested on Debian and should work on most Linux systems. Minor adjustments may be required for Windows or macOS. +Minor adjustments may be required for Windows. ## Internals diff --git a/docs/webserver.md b/docs/webserver.md index 355bac41..d1d3bac5 100644 --- a/docs/webserver.md +++ b/docs/webserver.md @@ -153,7 +153,7 @@ Click **File Manager** to access file management features. 1. Click the **+ Add** button in the top-right corner 2. Select **New Folder** from the dropdown menu -3. Enter a folder name (letters, numbers, underscores, and hyphens only) +3. Enter a folder name (must not contain characters \" * : < > ? / \\ | and must not be . or ..) 4. Click **Create Folder** This is useful for organizing your ebooks by genre, author, or series. diff --git a/src/activities/network/WifiSelectionActivity.cpp b/src/activities/network/WifiSelectionActivity.cpp index 8bf83a93..76bf1869 100644 --- a/src/activities/network/WifiSelectionActivity.cpp +++ b/src/activities/network/WifiSelectionActivity.cpp @@ -520,7 +520,7 @@ void WifiSelectionActivity::renderNetworkList() const { const auto height = renderer.getLineHeight(UI_10_FONT_ID); const auto top = (pageHeight - height) / 2; renderer.drawCenteredText(UI_10_FONT_ID, top, "No networks found"); - renderer.drawCenteredText(SMALL_FONT_ID, top + height + 10, "Press OK to scan again"); + renderer.drawCenteredText(SMALL_FONT_ID, top + height + 10, "Press Connect to scan again"); } else { // Calculate how many networks we can display constexpr int startY = 60; @@ -546,8 +546,8 @@ void WifiSelectionActivity::renderNetworkList() const { // Draw network name (truncate if too long) std::string displayName = network.ssid; - if (displayName.length() > 16) { - displayName.replace(13, displayName.length() - 13, "..."); + if (displayName.length() > 33) { + displayName.replace(30, displayName.length() - 30, "..."); } renderer.drawText(UI_10_FONT_ID, 20, networkY, displayName.c_str()); diff --git a/src/network/html/FilesPage.html b/src/network/html/FilesPage.html index bfdbe3cc..95993b8e 100644 --- a/src/network/html/FilesPage.html +++ b/src/network/html/FilesPage.html @@ -1146,10 +1146,10 @@ function retryAllFailedUploads() { return; } - // Validate folder name (no special characters except underscore and hyphen) - const validName = /^[a-zA-Z0-9_\-]+$/.test(folderName); + // Validate folder name + const validName = /^(?!\.{1,2}$)[^"*:<>?\/\\|]+$/.test(folderName); if (!validName) { - alert('Folder name can only contain letters, numbers, underscores, and hyphens.'); + alert('Folder name cannot contain \" * : < > ? / \\ | and must not be . or ..'); return; }