fix: download the per-chip LittleFS image in online updates

Releases publish SomfyController.littlefs.<chip>.bin, but the updater asked
for SomfyController.littlefs.bin. The download 404'd and the device rebooted
into the new firmware with the old web UI.

Also: hasFS now matches per-chip images, C6 picks its own firmware file, and
recoverFilesystem() points at cjkas instead of rstrouse.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
cjkas 2026-10-20 20:43:00 +02:00
parent a1622e652d
commit ab7eae3d94
6 changed files with 59 additions and 20 deletions

View file

@ -86,6 +86,12 @@ heap_emit_t heapEmitTarget(uint8_t num, uint32_t sinceLastMs, uint32_t intervalM
// update has proven itself: it has run for minUptimeMs and the network is
// up. Until then a reset rolls back to the previous firmware.
bool otaProven(bool networkUp, unsigned long uptimeMs, unsigned long minUptimeMs);
// A release asset's name: "SomfyController.<kind>.<chip>.bin", kind "ino" for
// the firmware or "littlefs" for the web UI image, chip e.g. "esp32s3". False
// when it doesn't fit in size.
bool releaseAssetName(char *buf, size_t size, const char *kind, const char *chip);
// Whether a release asset is a LittleFS image, for any chip.
bool isFsAsset(const char *name);
// How well loop() keeps up: the passes it made per second and its longest
// pass, over the window since the last memStatus broadcast. Only the loop
// task calls record(), rate(), maxUs() and publish(). publish() closes the