Stop IRC by hand; remove mDNS

IrcService::disconnect() stops the session from any state: QUIT if
connected, then no more retries. /quit goes through it (before, it only
stopped a connected session; while waiting for Wi-Fi or retrying it did
nothing), and so does the new `irc stop` command. Stopped by hand,
opening the IRC App no longer reconnects; typing a line does.

mDNS is gone: it never crossed the dev box's routed network, and it
cost about 7.5 KB of RAM. Pushes go to the IP shown in Settings ->
Firmware, which drops its Name row. OTA Q54 records the change.

On the device, Debug Build: 105.6 KB free with Wi-Fi (was 98); with IRC
on TLS 54 KB free (was 46); after `irc stop`, back to 99 KB.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EhqxQ49eCju4CzKYNjZzwT
This commit is contained in:
2026-10-04 23:17:48 +02:00
co-authored by Claude Opus 5.5
parent db265fb757
commit 4e439410cd
12 changed files with 39 additions and 23 deletions
-2
View File
@@ -78,7 +78,6 @@ void FirmwarePage::draw(Canvas& c) {
case kVersion: return "Version";
case kStatus: return "Status";
case kAddress: return "Push to";
case kName: return "Name";
case kSdHeader: return listed ? (found.empty() ? "No .ota files in /updates" : "On the SD card:") : "Looking on the SD card...";
default: return " " + found[i - kFixed].substr(std::string(kUpdatesFolder).size() + 1);
}
@@ -88,7 +87,6 @@ void FirmwarePage::draw(Canvas& c) {
case kVersion: return versionString();
case kStatus: return update_.onProbation() ? "on probation" : "confirmed";
case kAddress: return ip.empty() ? "Wi-Fi not connected" : ip + ":" + std::to_string(UpdateService::kPort);
case kName: return update_.hostname() + ".local";
case kSdHeader: return "";
default: return "install >";
}
+1 -1
View File
@@ -28,7 +28,7 @@ class FirmwarePage {
void draw(Canvas& c);
private:
enum Row { kVersion, kStatus, kAddress, kName, kSdHeader, kFixed };
enum Row { kVersion, kStatus, kAddress, kSdHeader, kFixed };
std::vector<std::string> files();
+1 -1
View File
@@ -42,7 +42,7 @@ std::string lowered(std::string s) {
void IrcApp::onEnter() {
page_ = Page::Chat;
editing_ = false;
irc_.connect();
if (!irc_.stoppedByUser()) irc_.connect(); // stopped by hand: stay stopped, typing reconnects
view(current_);
}