Fix OTA download (follow GitHub redirect), rework result screens, drop asset rename
OTA downloads always failed because GitHub's browser_download_url returns a 301/302 redirect to a signed objects.githubusercontent.com URL, which HTTPUpdate doesn't follow by default. Now sets HTTPC_STRICT_FOLLOW_REDIRECTS before downloading. Update results (success and failure) are now shown as a persistent info screen requiring an explicit tap to dismiss, instead of a 1.2-1.5s auto-vanishing message followed by an automatic restart - a firmware update result is important enough that it shouldn't be missable. Also fixes long dynamic titles (e.g. "Update available: v3.5.0") and the installing-progress label overflowing the screen edge in some languages. Release workflow no longer renames the build artifact to CYD-flightradar.bin before upload; the release asset is just firmware.bin now, matching what OtaUpdate::checkForUpdate() looks for. CLAUDE.md's release workflow updated to match. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -18,20 +18,19 @@ namespace OtaUpdate {
|
||||
// sowohl bei UpToDate als auch bei UpdateAvailable gesetzt, damit
|
||||
// der aufrufende Screen sie in beiden Faellen anzeigen kann.
|
||||
char latestVersion[16] = {0};
|
||||
// Direkter Download-Link zur CYD-flightradar.bin des Releases -
|
||||
// nur gesetzt, wenn result == UpdateAvailable.
|
||||
// Direkter Download-Link zur firmware.bin des Releases - nur
|
||||
// gesetzt, wenn result == UpdateAvailable.
|
||||
char downloadUrl[192] = {0};
|
||||
};
|
||||
|
||||
// Fragt die GitHub-Releases-API nach dem neuesten Release ab, vergleicht
|
||||
// dessen Versionsnummer (Tag-Name, "v"-Praefix wird ignoriert) gegen
|
||||
// Config::APP_VERSION und sucht im Release den Anhang
|
||||
// "CYD-flightradar.bin". CheckResult::Error bei jedem Fehler unterwegs
|
||||
// (kein WLAN, Zeitueberschreitung, unerwartetes JSON, kein
|
||||
// CYD-flightradar.bin im Release).
|
||||
// Config::APP_VERSION und sucht im Release den Anhang "firmware.bin".
|
||||
// CheckResult::Error bei jedem Fehler unterwegs (kein WLAN, Zeitueber-
|
||||
// schreitung, unerwartetes JSON, kein firmware.bin im Release).
|
||||
CheckInfo checkForUpdate();
|
||||
|
||||
// Laedt die CYD-flightradar.bin von 'url' herunter und flasht sie (ueber die
|
||||
// Laedt die firmware.bin von 'url' herunter und flasht sie (ueber die
|
||||
// Standard-Arduino-HTTPUpdate-Bibliothek). Ruft bei Erfolg BEWUSST
|
||||
// NICHT selbst ESP.restart() auf - der Aufrufer zeigt zuerst eine
|
||||
// kurze Erfolgsmeldung an und startet danach selbst neu. onProgress
|
||||
|
||||
Reference in New Issue
Block a user