diff --git a/srv/tesm/VERSION b/srv/tesm/VERSION index 6085e94..23aa839 100644 --- a/srv/tesm/VERSION +++ b/srv/tesm/VERSION @@ -1 +1 @@ -1.2.1 +1.2.2 diff --git a/srv/tesm/app.py b/srv/tesm/app.py index 0974d42..e60666a 100644 --- a/srv/tesm/app.py +++ b/srv/tesm/app.py @@ -4595,6 +4595,18 @@ def license_activate(): def on_success(): set_setting("license_activation_status", "active") set_setting("license_export_grace", "") + # Sofort einen ersten Heartbeat auslösen, statt bis zu 6h auf den + # nächsten planmäßigen Durchlauf zu warten (siehe + # _license_heartbeat_loop) -- ohne das würde "Letzter Heartbeat" + # direkt nach der Aktivierung fälschlich wie ein Verbindungsproblem + # aussehen ("noch nie"), obwohl schlicht noch keine Zeit vergangen + # ist. Ein Fehlschlag hier (z.B. Kunde offline) wird wie jeder + # andere Heartbeat-Fehlschlag behandelt (nur vermerkt, nichts wird + # deswegen abgeschaltet). + try: + _send_heartbeat() + except Exception: + app.logger.error("Erster Heartbeat nach Aktivierung fehlgeschlagen:\n%s", traceback.format_exc()) return _license_handshake("activate", "/api/activate", on_success, "license.activated", "Lizenz erfolgreich aktiviert.") @@ -4609,6 +4621,18 @@ def license_activate_confirm(): def on_success(): set_setting("license_activation_status", "active") set_setting("license_export_grace", "") + # Sofort einen ersten Heartbeat auslösen, statt bis zu 6h auf den + # nächsten planmäßigen Durchlauf zu warten (siehe + # _license_heartbeat_loop) -- ohne das würde "Letzter Heartbeat" + # direkt nach der Aktivierung fälschlich wie ein Verbindungsproblem + # aussehen ("noch nie"), obwohl schlicht noch keine Zeit vergangen + # ist. Ein Fehlschlag hier (z.B. Kunde offline) wird wie jeder + # andere Heartbeat-Fehlschlag behandelt (nur vermerkt, nichts wird + # deswegen abgeschaltet). + try: + _send_heartbeat() + except Exception: + app.logger.error("Erster Heartbeat nach Aktivierung fehlgeschlagen:\n%s", traceback.format_exc()) return _license_handshake_confirm("activate", on_success, "license.activated", "Lizenz erfolgreich aktiviert.")