Skip to content

BeamLog 1.0.2 – Testversion pre.56 (development @ 6fdab71)

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 18 Oct 20:00

Testversion (Pre-Release) aus dem Entwicklungsstand (development @ 6fdab71) – zum Ausprobieren, nicht für den Contest-Einsatz. Die Update-Prüfung im Programm bietet sie nicht an; Daten vorher sichern.

Portable Versionen (kein Python nötig): ZIP entpacken, BeamLog.exe bzw. ./BeamLog starten. Siehe START.txt im Paket.

Änderungen seit v1.0.1

  • Behoben: Datenbankfehler bei gleichzeitigen Anfragen; Hinweis, wenn eine .env nicht gelesen wird
    • Alle Anfragen teilten sich eine SQLite-Verbindung ohne Sperre: kamen zwei gleichzeitig (z. B. Contest speichern
      und Admin-Prüfung), brach eine mit „sqlite3.InterfaceError: bad parameter or other API misuse“ ab, im Extremfall
      wurden falsche Werte gelesen. Zugriffe auf die Verbindung laufen jetzt nacheinander, Transaktionen am Stück
    • Start: liegt im Programm- bzw. Startordner eine .env, gelesen wird aber eine andere Datei (z. B. --config
      /etc/beamlog/beamlog.env aus einer Dienst-Unit von 1.0.0), sagt BeamLog das ausdrücklich
    • Test mit acht gleichzeitigen Threads (scheitert ohne die Sperre)
  • Betreuer-Modus: Vorlage schaltet ihn nicht mehr versehentlich aus, klare Hinweise
    • In .env.example und der Server-Vorlage stand „#MAINTAINER=0“ – wer nur die Raute entfernte, bekam MAINTAINER=0
      und damit keinen Betreuer-Modus (keine DARC-/IARU-Importe). Jetzt steht dort „#MAINTAINER=1“ mit Hinweis
    • Startzeile „Betreuer: aus (MAINTAINER=0) – zum Einschalten MAINTAINER=1 eintragen und neu starten“, wenn der Wert
      gesetzt, aber nicht eingeschaltet ist
    • Verwaltung → Stationsdatenbank & Import sagt ohne Betreuer-Modus, wie die Ergebnislisten-Importe freigeschaltet werden
    • Wiki (Fehlersuche) ergänzt
  • Einstellungsdatei .env wird zuverlässiger gefunden, mit klarer Startmeldung
    • Beim Quellcode wird die .env jetzt auch im Programmordner gesucht (nicht nur im aktuellen Ordner) – „python
      BeamLog/run.py“ aus einem anderen Ordner liest die .env daneben
    • Fehlt die Datei, sagt BeamLog beim Start „keine .env gefunden“ und nennt die durchsuchten Ordner
    • Windows-Falle: eine vom Editor als .env.txt gespeicherte Datei wird beim Start in .env umbenannt
    • Wiki (Installation, Fehlersuche) ergänzt, Test für Programmordner und .env.txt
  • Betreuer-Modus: klare Meldung, wenn er im Demo-Modus gesperrt ist
    • Beim Start steht in der Konsole „Betreuer: an“ bzw. „Betreuer: AUS – MAINTAINER/DEV wird im Demo-Modus (DEMO=1) ignoriert“
    • Verwaltung → Stationsdatenbank & Import zeigt einen Hinweis, wenn MAINTAINER/DEV gesetzt, aber durch DEMO=1 gesperrt ist
      (bisher fehlten Quellen-Importe und Ergebnislisten-Archiv dann kommentarlos)
    • Wiki (Stationsdatenbank) ergänzt, Tests für beide Fälle
  • Testversionen als Pre-Release bauen, wahlweise nur für Linux
    • Workflow „Portable Builds“ von Hand mit zwei Auswahlfeldern: „Pre-Release“ und „Plattformen: alle / linux“
    • Ein Pre-Release bekommt den Tag v-pre. auf genau den gebauten Stand, ist nicht „Latest“ und wird
      daher von der Update-Prüfung im Programm nicht angeboten; die Notizen tragen einen Testversions-Hinweis
    • Release-Notes und Änderungsprotokoll zählen weiterhin nur echte Releases (Pre-Release-Tags werden übersprungen)
  • Eingabefelder schneiden Nummern, Locator und DOK nicht mehr ab
    • Jede Spalte des QSO-Formulars hat eine Mindestbreite: Nr geg./Nr erh. zeigen auch vierstellige Nummern ganz,
      Locator und DOK passen immer
    • Reicht die Breite des Formulars nicht (z. B. mittelgroßes Fenster mit Chat daneben), bricht es in mehrere Zeilen um
      statt Felder zu stauchen – gemessen an der Formularbreite, nicht an der Fensterbreite
    • Spaltenaufteilung für Contests mit reinem DOK-Austausch korrigiert (passte nicht zur Zahl der Felder)
    • Kurze Felder (RST, Nummern, DOK) zentriert und mit weniger Innenabstand
  • Schnelleingabe in Teilen mit Enter und wahlweise unter den Eingabefeldern
    • Enter übernimmt das Getippte ins QSO und leert die Zeile für den nächsten Teil (z. B. erst „DL1ABC“, dann „012 57“);
      sobald Rufzeichen, Locator und je nach Contest Nr erh. bzw. DOK erh. da sind, loggt Enter
    • Enter auf leerer Zeile loggt auch ohne Nr erh.; fehlt noch etwas, sagt ein Hinweis was
    • Neue Teile ersetzen den übernommenen Wert im selben Feld (Korrektur), Kommentare werden angehängt; ist die Nummer
      schon übernommen, gilt eine einzelne RST-Zahl (57) als RST
    • Unter den erkannten Teilen steht „Enter loggt“ bzw. „noch fehlt: …“; Änderungen von Hand in den Feldern zählen als übernommen
    • ⚙ Einstellungen: Position der Schnelleingabe über oder unter den Eingabefeldern (je Browser)
    • Behoben: nach dem Loggen ging der Cursor in der Schnelleingabe verloren
    • Hilfe, README und Wiki (Loggen, Tastenkürzel, Erste Schritte) angepasst, Bilder neu
  • Schnelleingabe in einer Zeile und ⚙ Einstellungen je Browser (Name, Sprache)
    • Schnelleingabe: alles in eine Zeile in beliebiger Reihenfolge, z. B. „DL1ABC JO31AA 012 57 G01“ – BeamLog erkennt
      Rufzeichen, Locator, Nr erh., RST erh. und DOK selbst, füllt live die Felder und zeigt darunter, was erkannt wurde;
      Enter loggt, Esc leert. Eigene Angaben (RST geg., Nr geg.) werden nie verändert
    • RST oder Nummer: nur Rapporte mit 5 vorne gelten als RST (51–59, CW 511–599), führende Null = Nummer, eine einzelne
      Zahl = Nummer; bei zwei plausiblen Zahlen Hinweis „RST oder Nummer?“, eindeutig mit r44 bzw. #12
    • Fehlender Locator und DOK kommen aus der Stationsdatenbank (die Rufzeichen-Abfrage liefert jetzt auch den DOK)
    • Neues ⚙ oben rechts (auch Klick auf den eigenen Namen): Nutzername für Chat, Log und Aktionsprotokoll,
      Sprache der Oberfläche und Schnelleingabe ein/aus – gilt nur für diesen Browser; die Sprachauswahl im Kopf entfällt
    • Hilfe (F1), README und Wiki (Loggen, Tastenkürzel, Erste Schritte, Verwaltung) ergänzt, neue Bilder
  • Schnellere Eingabe: Tab, Enter und Leertaste springen nur über die nötigen Felder
    • Alle drei Tasten gehen denselben Weg: Rufzeichen → Nr erh. (→ DOK erh.) → Locator → Kommentar
    • RST geg. und RST erh. (mit 59 vorbelegt) werden übersprungen und lassen sich per Mausklick ändern;
      Enter aus einem RST-Feld springt zu Nr erh. bzw. DOK erh.
    • Enter mit leerem Rufzeichen läuft nicht mehr durch alle Felder; Umschalt+Tab geht den Weg zurück
    • Gilt für alle Austausch-Arten (Nummer, DOK, Nummer + DOK)
    • Hilfe (F1), README und Wiki (Loggen, Tastenkürzel) angepasst, Hilfe-Screenshot neu
  • Ein Befehl für den Server: beamlogctl install, update, start, stop, status, log
    • sudo ./beamlogctl install fragt nacheinander: systemd-Dienst? nach /opt/beamlog kopieren? nginx auf Port 80?
      tägliches Backup? Adresse für QR-Code – Enter übernimmt den Vorschlag, danach Zusammenfassung und „Weiter?“
    • Ohne Rückfragen mit Optionen (kombinierbar): --no-service/--service, --no-nginx/--nginx, --no-backup/--backup,
      --here/--system, --url, --deps-only, -y; nicht angegebene Teile wie beim letzten Mal
    • start/stop/restart/status/log steuern mit Dienst den Dienst beamlog (systemctl, Journal), ohne Dienst BeamLog im
      Hintergrund; ein BeamLog in einem anderen Ordner (z. B. eine Demo) steuert nie den Dienst
    • update: git pull, einspielen über install.sh --update und neu starten; aus einem neu entpackten ZIP bzw. Quellordner
      wird nach Rückfrage (oder mit --service) nach /opt/beamlog eingespielt; ohne Dienst Neustart als Besitzer des Ordners
    • beamlogctl liegt jetzt auch im Linux-ZIP; install.sh nennt am Ende die beamlogctl-Befehle
    • Behoben: install.sh im Ordner-Modus (--here/ohne Dienst) als root ohne sudo machte .env und data/ zu root-Dateien –
      jetzt läuft alles als Besitzer des Ordners
    • README, deploy/README.md und Wiki (Deploy, Installation, Updates, Fehlersuche, Startseite) auf beamlogctl umgestellt;
      letzte CW-Reste (Demo-Sperre, START.txt) entfernt
  • Neue Programmversion wird sofort geladen; F-Tasten außer F1 bleiben frei
    • app.js und style.css tragen jetzt einen Fingerabdruck ihres Inhalts statt nur der Versionsnummer: nach einem Update
      ohne neue Versionsnummer (z. B. git pull im Entwicklungsstand) liefern Browser und Cloudflare nicht mehr das alte
      Skript – dort wurden die entfernten Sprachbausteine (F2–F8) weiter abgefangen
    • F1 öffnet die Hilfe nur noch ohne Strg/Alt/Umschalt; Strg+F1 usw. gehen wieder an den Browser
  • CW-Sendeanbindung und Sprachbausteine (F2–F8) entfernt
    • F2–F8 senden bzw. zeigen keine Sprachbausteine mehr; Makroleiste (F9), große Einblendung und Makro-Editor entfallen
    • Esc leert nur noch das Formular (kein „CW stoppen“ mehr)
    • Server: CW-Warteschlange und die Schnittstellen /api/stations/{id}/cw und /cw/next entfernt
    • CAT-Bridge: Option --cw entfällt, die Bridge meldet nur noch die Frequenz
    • KST-Chat-Makros (Knöpfe im KST-Tab) bleiben unverändert
    • Hilfe, README und Wiki (CAT, Loggen, Tastenkürzel, Installation) angepasst, Hilfe-Screenshot neu
  • BeamLog ohne Dienst steuern: Skript beamlogctl für start, stop und status
    • ./beamlogctl start|stop|restart|status|log startet BeamLog über ./start.sh im Hintergrund (Ausgabe in data/beamlog.log)
    • status endet mit Exit-Code 0, wenn BeamLog läuft, sonst 1, und nennt den Grund – beendet die eigene SSH-Shell nicht
    • erkennt BeamLog an der Antwort auf /api/info oder am Prozess aus dem eigenen Ordner, auch eine von Hand gestartete Instanz
      auf anderem Port; meldet Prozesse anderer Benutzer, statt sie still zu übersehen
    • Port aus $PORT (z. B. von ServerController), sonst aus .env bzw. beamlog.env, sonst 8000; HOST aus .env wird beachtet
    • Start meldet bei einem Fehler die letzten Zeilen aus dem Log, Stopp beendet nur BeamLog aus diesem Ordner
    • Wiki (Installation) und Tests ergänzt
  • ServerController-Vorlage: BeamLog als Anwendung im Control Panel anlegen
    • Neue Datei .servercontroller.json (Format servercontroller-app/1): Laufzeit „command“ aus Git, eigene virtuelle Umgebung .venv, Start auf 127.0.0.1 mit dem Port aus PORT als systemd-Dienst hinter Nginx mit TLS
    • Ordner /opt/apps/ (z. B. /opt/apps/beamlogdemo), eigener Ausführungsbenutzer; data/ und .env bleiben bei Updates erhalten
    • Variablen: Domain, Backup-Takt, Demo-Modus und Uhrzeit des täglichen Zurücksetzens; Hinweise zum Umstieg von einer per install.sh eingerichteten Installation
  • Gesperrte Station deutlich sichtbar: Freischalten direkt über dem Eingabeformular
    • Ist die gewählte Station gesperrt, liegt über dem QSO-Formular ein Hinweis „🔒 ist gesperrt“ mit Passwortfeld und großem Knopf „Station freischalten“ (Enter genügt)
    • Oben in der Stationsleiste ein auffälliger orangefarbener Knopf „Gesperrt – freischalten“ statt des kleinen „freischalten“, freigeschaltet mit 🔓
    • Falsches Passwort: Meldung und kurzes Wackeln des Hinweises; beim Wechsel auf eine gesperrte Station springt der Cursor ins Passwortfeld statt eines Extra-Dialogs
    • In der Demo ist das Passwort vorausgefüllt; englische Übersetzung ergänzt
  • Test der Rechte-Meldung auch unter Windows korrekt
    • Unter Windows nennt BeamLog bei fehlenden Schreibrechten „Ordnerrechte prüfen“ statt eines chown-Befehls – der Test erwartete nur die Linux-Meldung und brach den Windows-Build ab

Commit-Historie

  • 6fdab71 Behoben: Datenbankfehler bei gleichzeitigen Anfragen; Hinweis, wenn eine .env nicht gelesen wird
  • 3f50278 Betreuer-Modus: Vorlage schaltet ihn nicht mehr versehentlich aus, klare Hinweise
  • 4a9c5eb Einstellungsdatei .env wird zuverlässiger gefunden, mit klarer Startmeldung
  • 3a4a012 Betreuer-Modus: klare Meldung, wenn er im Demo-Modus gesperrt ist
  • 69da91c Testversionen als Pre-Release bauen, wahlweise nur für Linux
  • 145e0f7 Eingabefelder schneiden Nummern, Locator und DOK nicht mehr ab
  • ec15cf5 Schnelleingabe in Teilen mit Enter und wahlweise unter den Eingabefeldern
  • e25c901 Schnelleingabe in einer Zeile und ⚙ Einstellungen je Browser (Name, Sprache)
  • 8441ae4 Schnellere Eingabe: Tab, Enter und Leertaste springen nur über die nötigen Felder
  • cda1896 Ein Befehl für den Server: beamlogctl install, update, start, stop, status, log
  • b05f995 Neue Programmversion wird sofort geladen; F-Tasten außer F1 bleiben frei
  • cffbeb8 CW-Sendeanbindung und Sprachbausteine (F2–F8) entfernt
  • 7834c22 BeamLog ohne Dienst steuern: Skript beamlogctl für start, stop und status
  • de91814 ServerController-Vorlage: BeamLog als Anwendung im Control Panel anlegen
  • ce83f2d Gesperrte Station deutlich sichtbar: Freischalten direkt über dem Eingabeformular
  • 9149402 Test der Rechte-Meldung auch unter Windows korrekt

Vollständiger Vergleich: v1.0.1...v1.0.2-pre.56