From 52f0e5a3db06a7a3c77dade181c26c508faa2e11 Mon Sep 17 00:00:00 2001 From: Austin Date: Thu, 14 Aug 2025 13:31:25 -0400 Subject: [PATCH 1/4] Fix 'buildroot' target (OpenWRT) (#7620) --- arch/portduino/portduino.ini | 2 +- variants/native/portduino/platformio.ini | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/arch/portduino/portduino.ini b/arch/portduino/portduino.ini index 693ab63b7..ae68159eb 100644 --- a/arch/portduino/portduino.ini +++ b/arch/portduino/portduino.ini @@ -17,7 +17,6 @@ build_src_filter = + - - - +<../variants/portduino> lib_deps = ${env.lib_deps} @@ -35,6 +34,7 @@ lib_deps = build_flags = ${arduino_base.build_flags} + -D ARCH_PORTDUINO -fPIC -Isrc/platform/portduino -DRADIOLIB_EEPROM_UNSUPPORTED diff --git a/variants/native/portduino/platformio.ini b/variants/native/portduino/platformio.ini index 732b2a1d4..b8452bb48 100644 --- a/variants/native/portduino/platformio.ini +++ b/variants/native/portduino/platformio.ini @@ -1,7 +1,6 @@ [native_base] extends = portduino_base build_flags = ${portduino_base.build_flags} -I variants/native/portduino - -D ARCH_PORTDUINO -I /usr/include board = cross_platform lib_deps = ${portduino_base.lib_deps} From 1877a2c5311c2892d032bff5a9cee3d3a99f23f0 Mon Sep 17 00:00:00 2001 From: Ford Jones <107664313+ford-jones@users.noreply.github.com> Date: Fri, 15 Aug 2025 22:31:11 +1200 Subject: [PATCH 2/4] Prompt user to select destination upon launch of canned message module (#7624) Co-authored-by: Jason P --- src/modules/CannedMessageModule.cpp | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/src/modules/CannedMessageModule.cpp b/src/modules/CannedMessageModule.cpp index b6cb1b0e3..d40dcd24f 100644 --- a/src/modules/CannedMessageModule.cpp +++ b/src/modules/CannedMessageModule.cpp @@ -78,16 +78,15 @@ void CannedMessageModule::LaunchWithDestination(NodeNum newDest, uint8_t newChan lastDestSet = true; // Rest of function unchanged... - // Always select the first real canned message on activation - int firstRealMsgIdx = 0; + // Upon activation, highlight "[Select Destination]" + int selectDestination = 0; for (int i = 0; i < messagesCount; ++i) { - if (strcmp(messages[i], "[Select Destination]") != 0 && strcmp(messages[i], "[Exit]") != 0 && - strcmp(messages[i], "[---- Free Text ----]") != 0) { - firstRealMsgIdx = i; + if (strcmp(messages[i], "[Select Destination]") == 0) { + selectDestination = i; break; } } - currentMessageIndex = firstRealMsgIdx; + currentMessageIndex = selectDestination; // This triggers the canned message list runState = CANNED_MESSAGE_RUN_STATE_ACTIVE; @@ -999,17 +998,16 @@ int32_t CannedMessageModule::runOnce() this->notifyObservers(&e); return 2000; } - // Always highlight the first real canned message when entering the message list + // Highlight [Select Destination] initially when entering the message list else if ((this->runState != CANNED_MESSAGE_RUN_STATE_FREETEXT) && (this->currentMessageIndex == -1)) { - int firstRealMsgIdx = 0; + int selectDestination = 0; for (int i = 0; i < this->messagesCount; ++i) { - if (strcmp(this->messages[i], "[Select Destination]") != 0 && strcmp(this->messages[i], "[Exit]") != 0 && - strcmp(this->messages[i], "[---- Free Text ----]") != 0) { - firstRealMsgIdx = i; + if (strcmp(this->messages[i], "[Select Destination]") == 0) { + selectDestination = i; break; } } - this->currentMessageIndex = firstRealMsgIdx; + this->currentMessageIndex = selectDestination; e.action = UIFrameEvent::Action::REGENERATE_FRAMESET; this->runState = CANNED_MESSAGE_RUN_STATE_ACTIVE; } else if (this->runState == CANNED_MESSAGE_RUN_STATE_ACTION_UP) { From 062168cd4245d7a12859dbed09b696a01bbe6ea0 Mon Sep 17 00:00:00 2001 From: Austin Date: Fri, 15 Aug 2025 07:19:49 -0400 Subject: [PATCH 3/4] Docker: Update Debian images to trixie (#7621) --- Dockerfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index e033b1bba..6a2ddeece 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,7 @@ # trunk-ignore-all(hadolint/DL3008): Do not pin apt package versions # trunk-ignore-all(hadolint/DL3013): Do not pin pip package versions -FROM python:3.13-bookworm AS builder +FROM python:3.13-slim-trixie AS builder ARG PIO_ENV=native ENV DEBIAN_FRONTEND=noninteractive ENV TZ=Etc/UTC @@ -36,7 +36,7 @@ RUN curl -L "https://github.com/meshtastic/web/releases/download/v$(cat /tmp/fir ##### PRODUCTION BUILD ############# -FROM debian:bookworm-slim +FROM debian:trixie-slim LABEL org.opencontainers.image.title="Meshtastic" \ org.opencontainers.image.description="Debian Meshtastic daemon and web interface" \ org.opencontainers.image.url="https://meshtastic.org" \ @@ -51,8 +51,8 @@ ENV TZ=Etc/UTC USER root RUN apt-get update && apt-get --no-install-recommends -y install \ - libc-bin libc6 libgpiod2 libyaml-cpp0.7 libi2c0 libuv1 libusb-1.0-0-dev \ - liborcania2.3 libulfius2.7 libssl3 \ + libc-bin libc6 libgpiod3 libyaml-cpp0.8 libi2c0 libuv1t64 libusb-1.0-0-dev \ + liborcania2.3 libulfius2.7t64 libssl3t64 \ libx11-6 libinput10 libxkbcommon-x11-0 \ && apt-get clean && rm -rf /var/lib/apt/lists/* \ && mkdir -p /var/lib/meshtasticd \ From c8694f9f2d6a6bd7b38afd421b753f5faaeb644d Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Fri, 15 Aug 2025 07:03:14 -0500 Subject: [PATCH 4/4] Fix Tracerouter warnings (#7637) * Static cast to avoid signed comparison * Another one --- src/modules/TraceRouteModule.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/TraceRouteModule.cpp b/src/modules/TraceRouteModule.cpp index f4eccd667..d7df90bb5 100644 --- a/src/modules/TraceRouteModule.cpp +++ b/src/modules/TraceRouteModule.cpp @@ -602,7 +602,7 @@ void TraceRouteModule::drawFrame(OLEDDisplay *display, OLEDDisplayUiState *state int start = 0; int newlinePos = resultText.indexOf('\n', start); - while (newlinePos != -1 || start < resultText.length()) { + while (newlinePos != -1 || start < static_cast(resultText.length())) { String segment; if (newlinePos != -1) { segment = resultText.substring(start, newlinePos); @@ -624,7 +624,7 @@ void TraceRouteModule::drawFrame(OLEDDisplay *display, OLEDDisplayUiState *state int lastGoodBreak = -1; bool lineComplete = false; - for (int i = 0; i < remaining.length(); i++) { + for (int i = 0; i < static_cast(remaining.length()); i++) { char ch = remaining.charAt(i); String testLine = tempLine + ch;