Skip to content

Releases: NoobKeksTV/BeamLog

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

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 mi...
Read more

BeamLog 1.0.2 – Testversion pre.55 (development @ 3f50278)

Choose a tag to compare

@github-actions github-actions released this 18 Oct 19:55

Testversion (Pre-Release) aus dem Entwicklungsstand (development @ 3f50278) – 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

  • 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 ...
Read more

BeamLog 1.0.2 – Testversion pre.54 (development @ 69da91c)

Choose a tag to compare

@github-actions github-actions released this 18 Oct 19:21

Testversion (Pre-Release) aus dem Entwicklungsstand (development @ 69da91c) – 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

  • 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

  • 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.54

BeamLog 1.0.1

Choose a tag to compare

@github-actions github-actions released this 12 Oct 04:10

BeamLog 1.0.1

🎬 Video „BeamLog in 1:42 Minuten“ auf YouTube · 🧪 Live-Demo ausprobieren (Passwort demo) · 📖 Wiki

Das Wichtigste in Kürze

  • Einstellungsdatei heißt jetzt .env (Vorlage .env.example). Eine vorhandene beamlog.env wird beim Start bzw.
    von install.sh --update automatisch umbenannt – es geht nichts verloren.
  • Server: alles in einem Ordner. Programm, Daten (data/) und Einstellungen (.env) liegen jetzt zusammen in
    /opt/beamlog. sudo bash deploy/install.sh --update holt eine bestehende Installation automatisch aus
    /var/lib/beamlog und /etc/beamlog dorthin (die alten Daten bleiben als Sicherung liegen) – Schluss mit
    verstreuten Rechten.
  • Install-Skript mit Optionen: --no-nginx, --no-service, --no-backup (kombinierbar und gemerkt),
    --deps-only (nur Python & Co. installieren), --here (im aktuellen Ordner bleiben). Ohne Dienst wird nichts
    mehr nach /opt kopiert; mit Dienst sagt das Skript deutlich, dass und warum es kopiert.
  • Robuster Start: fehlende Ordner und Vorlagen werden selbst angelegt, fehlende Schreibrechte verständlich erklärt;
    python run.py nimmt automatisch die virtuelle Umgebung .venv, start.sh/start.bat halten die Pakete aktuell.
  • Demo-Modus (DEMO=1) für öffentliche Vorführ-Instanzen – feste Zugangsdaten, gesperrte Server-Funktionen,
    tägliches Zurücksetzen auf einen Beispiel-Contest.
  • Ergebnislisten-Archiv (Betreuer-Modus): Ergebnislisten und Einzel-Logs von DARC (UKW/KW) und IARU Region 1
    über alle Jahre, mehrere Listen parallel und rund dreimal schneller.
  • Wiki jetzt auch im GitHub-Reiter „Wiki“.

Update: Portable Version über Verwaltung → Updates oder neues ZIP entpacken. Server: neues Linux-ZIP entpacken und
sudo bash deploy/install.sh --update.

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

Änderungen seit v1.0.0

  • 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
  • Release-Text für 1.0.1: das Wichtigste in Kürze
    • Einleitung der Release-Notes mit Video, Live-Demo, Wiki und den wichtigsten Neuerungen (.env, alles in einem Ordner, Install-Optionen, robuster Start, Demo-Modus, Ergebnislisten-Archiv)
  • Wiki: Bilder werden sicher angezeigt, Video und Live-Demo in der Seitenleiste
    • Bilder im Wiki (auch das Video-Vorschaubild und das Logo per HTML) werden mit fester Adresse auf die Wiki-Dateien eingebunden – relative Pfade zeigt das GitHub-Wiki in HTML nicht an
    • Seitenleiste mit Links zum YouTube-Video und zur Live-Demo
  • Wiki: Bilder werden sicher angezeigt, Video und Live-Demo in der Seitenleiste
    • Bilder im Wiki (auch das Video-Vorschaubild und das Logo per HTML) werden mit fester Adresse auf die Wiki-Dateien eingebunden – relative Pfade zeigt das GitHub-Wiki in HTML nicht an
    • Seitenleiste mit Links zum YouTube-Video und zur Live-Demo
  • Wiki-Startseite: klickbares Video-Vorschaubild, Live-Demo-Kasten, Logo und Badges
    • Video „BeamLog in 1:42 Minuten“ als Vorschaubild mit Link auf YouTube statt reiner Textzeile
    • Live-Demo als hervorgehobener Kasten mit Link und Zugangsdaten (demo)
    • Logo und Badges (Download, Live-Demo, Video, Lizenz) im Kopf
  • Wiki-Startseite: klickbares Video-Vorschaubild, Live-Demo-Kasten, Logo und Badges
    • Video „BeamLog in 1:42 Minuten“ als Vorschaubild mit Link auf YouTube statt reiner Textzeile
    • Live-Demo als hervorgehobener Kasten mit Link und Zugangsdaten (demo)
    • Logo und Badges (Download, Live-Demo, Video, Lizenz) im Kopf
  • Nächste Version heißt 1.0.1 (noch nicht veröffentlicht)
    • Versionsnummer in development auf 1.0.1 gesetzt; die veröffentlichte Version ist 1.0.0
    • Hinweise zu alten Pfaden und zur alten Einstellungsdatei nennen jetzt „bis 1.0.0“
  • README und Wiki aktualisiert: YouTube-Video, Live-Demo, Zubehör und Wiki im GitHub-Reiter „Wiki“
    • README: Video „BeamLog in 1:42 Minuten“ auf YouTube verlinkt, Live-Demo, Abschnitt „Zubehör von LH Printing“, Links aufs GitHub-Wiki
    • Wiki (docs/wiki) auf den aktuellen Stand gebracht
    • Neuer Workflow „Wiki“ überträgt docs/wiki in den GitHub-Reiter „Wiki“
  • README verlinkt das YouTube-Video „BeamLog in 1:42 Minuten“
    • Vorschaubild und Bildunterschrift im README führen jetzt auf https://youtu.be/yvYb6FNvjzA, dazu ein YouTube-Badge
    • Wiki-Startseite und video/ (README, YouTube.txt) nennen den Link
  • Server-Installation in einem Ordner, fehlende Ordner und Dateien werden selbst angelegt
    • Auf dem Server liegt jetzt alles unter /opt/beamlog: Programm, data/ (Datenbank, Backups, Sprachen) und .env – ein Ordner, ein Besitzer, keine verstreuten Rechte; der Dienst darf in seinen Ordner schreiben (auch für Updates aus der Oberfläche)
    • install.sh --update holt ältere Installationen automatisch dorthin: Einstellungen aus /etc/beamlog (beamlog.env bzw. .env) und die gemerkte Wahl werden verschoben, Daten aus /var/lib/beamlog kopiert (Original bleibt als Sicherung), DB-Pfade in der .env umgestellt, Unit und Backup-Cron neu geschrieben
    • Ältere Installationen ohne dieses Update laufen unverändert weiter; zeigt DB= noch auf /var/lib/beamlog, die Daten sind aber umgezogen, nimmt BeamLog den neuen Ordner
    • BeamLog legt fehlende Daten-, Backup- und Sprachordner beim Start selbst an; fehlen Schreibrechte, nennt es Nutzer, Ordner und den chown-Befehl statt abzustürzen
    • install.sh legt fehlende Vorlagen (.env, Dienst-Unit, nginx-Site, Backup-Skript) als Standardversion an statt abzubrechen; Updates löschen .env, data/ und die gemerkte Wahl im Zielordner nie
    • Wiki und deploy-Anleitungen beschreiben den neuen Ort und den automatischen Umzug
  • Einstellungsdatei heißt jetzt .env – alte beamlog.env wird automatisch umbenannt
    • Neuer Name der Einstellungsdatei: .env neben dem Programm bzw. /etc/beamlog/.env auf dem Server; Vorlage .env.example (Server-Vorlage deploy/portable/server.env)
    • Beim Start benennt BeamLog eine vorhandene beamlog.env (oder contestlogger.env) neben dem Programm in .env um; gibt es schon eine .env, bleibt die alte liegen und es kommt ein Hinweis
    • install.sh (auch --update und --here) benennt /etc/beamlog/beamlog.env bzw. ./beamlog.env in .env um und schreibt die Dienst-Unit passend neu – Einstellungen bleiben erhalten
    • Zeigt eine eigene Unit noch auf …/beamlog.env, nimmt BeamLog automatisch die .env daneben
    • README, Wiki und deploy-Anleitungen auf .env umgestellt, Hinweis zum Anlegen unter Windows und zur Umbenennung; Test für die Umbenennung
  • Start aus dem Quellcode: run.py findet .venv selbst, Anleitungen nennen start.sh
    • „python run.py“ mit dem System-Python brach mit „No module named uvicorn“ ab, weil die Pakete nur in .venv liegen: run.py wechselt jetzt automatisch in .venv neben sich, wenn dem aufrufenden Python Pakete fehlen
    • Gibt es noch keine .venv, nennt run.py die fehlenden Pakete und den Weg (./start.sh bzw. start.bat oder pip install -r requirements.txt) statt eines Tracebacks
    • start.sh/start.bat installieren die Pakete neu, sobald sich requirements.txt geändert hat (z. B. nach git pull, neu: httpx) – vorher nur beim allerersten Start
    • README, Wiki „Installation“ und deploy/README nennen ./start.sh bzw. start.bat statt „pip install … && python run.py“
    • install.sh --here/--deps-only nennt ./start.sh als Startbefehl und merkt den Paketstand, damit start.sh nicht erneut installiert
  • Install-Skript: ohne Dienst bleibt BeamLog im aktuellen Ordner
    • Ohne Dienst (--no-service) wird nichts mehr nach /opt/beamlog kopiert: BeamLog bleibt automatisch im Ordner, aus dem das Skript gestartet wird, und läuft als der aufrufende Nutzer (Daten in ./data, Einstellungen in ./beamlog.env)
    • Mit Dienst wird weiter nach /opt/beamlog kopiert – das Skript kündigt das jetzt groß an und nennt am Ende noch einmal Ort, Daten und Einstellungen samt Grund (eigener Systemnutzer, gehärteter Dienst)
    • Neu: --deps-only installiert nur Systempakete und die Python-Umgebung ./.venv (wie --here --no-nginx --no-service --no-backup)
    • Neu: --here bleibt auch mit Dienst, nginx und Backup im Ordner (Unit läuft als dein Nutzer), --system kehrt zu /opt/beamlog zurück; die Wahl wird im Ordner gemerkt
    • Python-Umgebung und Dateien im Ordner gehören dem aufrufenden Nutzer, nicht root; nginx liefert im Ordner-Modus die statischen Dateien über BeamLog aus
    • Backup-Skript nimmt den Datenordner als Parameter; README, deploy-Anleitungen und Wiki erklären, wohin installiert wird
  • README und Deploy-Anleitungen zeigen die neuen Install-Optionen und den Demo-Modus
    • README: Server-Installation im Schnellstart mit install.sh, --update und den Optionen --no-nginx/--no-service/--no-backup, Link auf die Demo-Instanz im Wiki
    • deploy/README (Quellcode) und deploy/portable/README (ZIP): Abschnitt „Teile weglassen“ mit Tabelle bzw. Beispielen, Hinweis für vorhandene Reverse-Proxys
    • Vorlage beamlog.env der portablen Version und deren Anleitung enthalten jetzt DEMO und DEMO_RESET
  • Install-Skript: nginx, Dienst und Backup-Cron einzeln abschaltbar
    • Neue Optionen --no-nginx, --no-service und --no-backup, beliebig kombinierbar (z. B. --no-nginx --no-backup)
    • --no-nginx: nginx wird weder installiert noch eingerichtet (eigener Reverse-Proxy oder PORT=80 direkt); eine früher angelegte BeamLog-Site wird entfernt, nginx selbst und andere Sites bleiben unberührt; Warnung, wenn bei PORT=80 noch nginx läuft
    • --no-service: kein systemd-Dienst, das Skript zeigt den Startbefehl; ein früherer Dienst „beamlog“ wird angehalten und entfernt
    • --no...
Read more

BeamLog 1.0.0

Choose a tag to compare

@github-actions github-actions released this 11 Oct 03:03

BeamLog 1.0 – der erste offizielle Release 🎉

(Version 1.0.3 – enthält alle Korrekturen seit dem ersten 1.0-Build)

BeamLog (bisher „ContestLogger“) ist ein lokaler, webbasierter Contest-Logger für UKW-Contests (DARC / IARU Region 1) –
basierend auf DD3KU WinContest. Ein kleiner Server im LAN ist der zentrale Speicher, geloggt wird im Browser
an beliebig vielen Plätzen gleichzeitig. Kostenlos, für Windows, Linux und macOS.

🎬 Video „BeamLog in 1:42 Minuten“: in Kürze auf YouTube · 📖 Wiki

Neuer Name: Das Projekt heißt jetzt BeamLog (GitHub: NoobKeksTV/BeamLog, alte Links leiten weiter), ebenso die
Programmdateien (BeamLog.exe, BeamLog-…zip). Umstieg von 0.9.x: 1.0 einmal von Hand laden und entpacken – liegt der
Ordner BeamLog neben dem alten Ordner ContestLogger (oder darin), übernimmt BeamLog beim ersten Start automatisch eine Kopie
von data/ und contestlogger.env (die Datenbank heißt danach beamlog.db, die Einstellungen beamlog.env). Ab 1.0 aktualisiert sich BeamLog wieder selbst.
Server (Debian/systemd): neues ZIP entpacken und sudo bash deploy/install.sh --update – Dienst, Nutzer, Pfade
(/opt/beamlog, /var/lib/beamlog, /etc/beamlog/beamlog.env), Port-Einstellung, nginx-Site und Backup werden automatisch von contestlogger umgestellt.

Lizenz: BeamLog ist ab 1.0 freie Software unter der GNU AGPLv3.

Alle Funktionen

Loggen

  • Rufzeichen, RST, laufende Nummern und/oder DOK/OV – der Austausch ist je Contest wählbar (Nummer, DOK oder beides), Locator, Kommentar; Zeit immer in UTC
  • Vorschläge beim Tippen aus der Stationsdatenbank und allen eigenen Logs (Locator, Name, Entfernung, wie oft und wann zuletzt gearbeitet; bereits gearbeitete markiert), Auswahl mit ↑/↓ und Tab
  • Locator, Entfernung und Richtung automatisch, Antennenrichtung als Pfeil auf der Karte; mehrere bekannte Standorte eines Rufzeichens zur Auswahl
  • Große Startdatenbank mit über 6.300 Stationen (Locator, DOK) – Vorschläge funktionieren ab dem ersten QSO
  • Dupe-Warnung mit Datum, Zeit, Nummern, Locator und Operator der früheren QSOs; die QSO-Liste filtert auf das Rufzeichen
  • Plausibilitätsprüfung Rufzeichen ↔ Locator, Bearbeiten und Löschen von QSOs, laufende Nummer zählt automatisch weiter
  • Mehrere Stationen (2 m, 70 cm, 23 cm …) parallel, jede mit eigenem Log und eigener Nummer; Operatoren schalten Stationen per Passwort frei
  • Hinweiszeile („432.200 CQ · Antenne 118°“) für alle Plätze, Tastenkürzel für alles (F1 zeigt die Übersicht), hell/dunkel, mehrsprachig

Operator-Fenster (zweiter Monitor)

  • Zeigt jede Eingabe live und groß: Rufzeichen, Nummern, RST, Locator, Entfernung/Richtung
  • Dupe-Warnung, Hinweis vom Logger, Statistik-Zeile, Karte mit Antennenrichtung und die letzten QSOs

Team-Chat, ON4KST-Chat und Direktnachrichten

  • Team-Chat je Contest zwischen allen Plätzen, mit Anzeige, wer gerade an welcher Station online ist
  • ON4KST-Chat direkt eingebaut, je Station eine eigene Verbindung; Nachrichten an mich hervorgehoben, mit Ton und Zähler
  • Nutzerliste mit Locator, Entfernung und Richtung; ein Klick auf eine Station übernimmt Rufzeichen und Locator in den Logger
  • Textbausteine (CQ, QRV, TNX, NIL, SKED – frei anpassbar mit Platzhaltern), Direktnachrichten wie in einem Messenger
  • Rundruf: noch nicht gearbeitete Stationen im Umkreis gezielt anschreiben
  • Chat auf Wunsch in einem eigenen Fenster

Aircraft-Scatter (ADS-B) – wie AirScout

  • Flugzeuge auf der Karte, Zone gemeinsamer Sichtbarkeit auf dem Pfad, Korridor um den Pfad
  • Bewertung je Flugzeug: im Korridor, kreuzt bald, sichtbar, zu tief; große Flugzeuge hervorgehoben
  • Details: Flughöhe, Geschwindigkeit, Kurs, Mindesthöhe und Höhenreserve, Elevation, vorhergesagte Kreuzungszeit und -punkt
  • Höhenprofil des Pfads mit Legende (Mindesthöhe, Zone, Flugzeuge in ihrer Höhe), Klick in der Liste springt mit der Karte zum Flugzeug
  • Flugzeug-Symbole zeigen in ihre Flugrichtung
  • Datenquellen: adsb.fi oder ein eigener Empfänger (dump1090/readsb/tar1090)

Karte

  • Richtungspfeil zum Partner, alle QSOs, Großfelder mit Rufzeichen
  • Offline-Kartencache mit Vorab-Laden einer Region (für Standorte ohne Internet), eigener Kachelserver möglich

Statistik

  • Contest gesamt und je Station: QSOs, Punkte, Großfelder, Länder, Ø km, ODX, Restzeit
  • Karte aller Großfelder – Hover zeigt die Stationen, Klick listet alle mit km
  • Stundenverlauf, Entfernungs- und Richtungsverteilung, Top-Entfernungen, Länder, Operatoren; Großanzeige für einen Bildschirm im Zelt

Abgabe und Export

  • EDI (REG1TEST) mit Pflicht-Log-Prüfung als übersichtliche Vergleichstabelle (Feld · geloggt · erwartet) und optionalem Online-Abgleich (HamQTH/QRZ)
  • Klick auf einen Befund öffnet das QSO mit dem Korrekturvorschlag bereits eingetragen (z. B. Locator aus Online- oder Stationsdatenbank), markiert die Änderung – „Änderungen speichern“, weiter geht’s mit der Prüfung
  • RST mit führender Null (059) wird still korrigiert
  • Alle Bänder eines Contests als EDI-ZIP, dazu Cabrillo, ADIF und CSV
  • Wertung je Contest: Punkte je km oder fest je QSO, Multiplikator Großfelder/DOKs

Import und Stationsdatenbank

  • Import kompletter WinContest-Ordner (.mdb ohne Zusatzsoftware, .txt, .EXP), EDI, ADIF
  • Stationsdatenbank (Rufzeichen, Locator, Name, DOK): wächst automatisch mit jedem QSO, der KST-Nutzerliste, Importen und Online-Abfragen; Suche, Bearbeiten, Export und Abgleich mit dem Repo

CAT / CW

  • Frequenz vom Funkgerät (Hamlib rigctld, flrig) in Stationsleiste und Operator-Fenster, Textbausteine F2–F8 als CW

Betrieb und Verwaltung

  • Verwaltung in vier Bereichen: Contests & Stationen, Stationsdatenbank & Import, Server & Updates, Einstellungen
  • Backups auf dem Server (absturzsicher), Aktionsprotokoll aller Änderungen, QR-Code zum schnellen Verbinden weiterer Geräte
  • Update-Prüfung mit Selbst-Aktualisierung, „Was ist neu“ nach jedem Update
  • Portable Version ohne Python für Windows, Linux und macOS; Dienst-Installation für Debian/Raspberry Pi (systemd) –
    Port frei wählbar in beamlog.env: PORT=80 direkt ohne nginx, sonst nginx davor; das Install-Skript stellt alles passend ein
  • Freie Software unter der GNU AGPLv3, Link zum Quellcode in der Oberfläche

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

Änderungen seit v0.9.33

  • Startdatenbank lädt in Sekundenbruchteilen (auch unter Windows)
    • Die 6.300 Einträge der Startdatenbank und der Repo-Abgleich wurden einzeln mit vollem Plattensync geschrieben –
      unter Windows dauerte der erste Start dadurch sehr lange; jetzt in einem Rutsch, danach wieder voll abgesichert
  • Wiki: Höhenprofil der Flugzeuge erklärt
    • Was die Achsen, die rote Kurve, der grüne Balken und die Farben bedeuten, und warum die Punkte wandern
    • Screenshot mit Legende
  • Log-Prüfung: Korrekturvorschlag direkt im QSO, RST 059 kein Fehler mehr
    • Klick auf einen Befund öffnet das QSO mit dem Korrekturvorschlag bereits eingetragen (z. B. Locator aus der
      Online-Datenbank oder der Stationsdatenbank, DOK aus der Stationsdatenbank); geänderte Felder sind gelb markiert,
      der alte Wert steht im Tooltip
    • Knopf „Änderungen speichern“; nach dem Speichern öffnet sich die Log-Prüfung wieder mit dem aktuellen Stand
    • Ohne konkreten Vorschlag wird das betroffene Feld hervorgehoben und angewählt
    • Die Prüfliste zeigt den Vorschlag unter „erwartet“ an
    • RST mit führender Null (059, 0599) wird still auf 59/599 korrigiert – beim Speichern, in der Prüfung und in allen Exporten
    • Flugzeug-Höhenprofil mit Legende (Mindesthöhe, Zone, Farben der Flugzeuge)
  • Startdatenbank mit 6.326 Stationen
    • Mitgelieferte Stationsdatenbank (contestlogger/seed/stationsdatenbank.csv) stark erweitert: 6.326 Rufzeichen mit
      Locator, davon 3.883 mit DOK – neue Installationen haben sie beim ersten Start, bestehende holen sie über
      Verwaltung → Stationsdatenbank → „Nach neuen suchen (Repo)“
    • Nur Rufzeichen, Locator, zuletzt gehört und DOK (keine Namen)
  • Windows: belegter Port wird beim Start richtig erkannt
    • Windows meldet einen belegten Port als „Zugriff verweigert“ – die Startprüfung meldete dann fälschlich fehlende Rechte;
      jetzt heißt es dort korrekt „Port belegt“ (Linux/macOS unverändert)
  • Server: Port aus beamlog.env gilt jetzt immer – auch Port 80 ohne nginx
    • Nur noch eine Dienst-Unit (beamlog.service); sie darf Port 80 öffnen, beamlog-port80.service entfällt
    • install.sh richtet sich nach PORT in /etc/beamlog/beamlog.env: PORT=80 -> BeamLog direkt auf Port 80
      (nginx wird abgeschaltet, HOST bei Bedarf auf 0.0.0.0 gesetzt); anderer Port -> nginx leitet Port 80 dorthin weiter
    • Port/Adresse aus älteren Units (--port 80, --host 0.0.0.0 im Startbefehl, z. B. die alte Port-80-Variante) werden
      in die env-Datei übernommen – vorher lief der Dienst nach der Umstellung wieder auf 8000
    • install.sh bricht nicht mehr ab: fehlende Einträge, ein nicht laufender Dienst oder nginx werden am Ende mit
      Hinweisen gemeldet; tägliches Backup wird bei jedem Lauf eingerichtet
    • beamlog.env: Kommentare hinter einem Wert („PORT=80 # direkt“) sind erlaubt
    • Belegter oder gesperrter Port: verständliche Meldung beim Start statt Absturz
    • Wiki/Deploy-Anleitung und Fehlersuche zum Port-Wechsel angepasst
  • Server-Installation: bricht nicht mehr ab, wenn nginx nicht läuft
    • Statt „reload“ wird nginx jetzt aktiviert und bei Bedarf gestartet (vorher Abbruch mit
      „nginx.service is not active, cannot reload“, danach fehlte der tägliche Backup-Job)
    • Startet nginx nicht (z. B. Port 80 belegt), läuft die Installation zu Ende und ...
Read more

ContestLogger 0.9.33

Choose a tag to compare

@github-actions github-actions released this 08 Oct 18:09

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

Änderungen seit v0.9.32

  • Log-Prüfung als Vergleichstabelle: Feld, geloggt, erwartet – mit Filtern statt Textliste
    • Jeder QSO-Befund ist eine Zeile Nr · UTC · Rufzeichen · Feld · geloggt · erwartet/Vergleich (✖ Fehler, ⚠ Hinweis);
      Klick öffnet das QSO, der ausführliche Text steht im Tooltip
    • Filterknöpfe: Alle / Fehler / Hinweise und je Feld (Locator, Nr erh., Land, Dupe …) mit Anzahl
    • Kopfdaten und allgemeine Befunde (Nummernlücken, EDI-Kopf) kompakt und eingeklappt darunter
    • Online-Abgleich (HamQTH/QRZ) erscheint als Locator-Vergleich geloggt ↔ Online-DB; Wiki ergänzt
  • Plausibilitätshinweis berücksichtigt alle bekannten Standorte eines Rufzeichens
    • „Stationsdatenbank kennt … mit …“ erscheint nicht mehr, wenn der eingegebene Locator einer der weiteren bekannten
      Standorte ist (oder dazu passt); der Hinweis nennt alle bekannten Locator und das Datum nur, wenn es eins gibt
  • Dupe-Hinweis mit den Angaben des früheren QSOs, Liste filtert auf gearbeitete Rufzeichen, HamQTH ohne „kostenlos“
    • Doppel-QSO-Banner (Logger und Operator-Fenster) zeigt Datum, Zeit, Nummern, DOK, Locator, km und Operator
      der früheren QSOs (neueste zuerst, bis zu drei)
    • Wird ein bereits gearbeitetes Rufzeichen eingegeben, zeigt die QSO-Liste unten nur dessen QSOs (markiert);
      Feld leeren zeigt wieder alle, das Suchfeld hat Vorrang
    • Anbieter heißt in Auswahl und Log-Prüfung nur noch „HamQTH“
  • „Was ist neu“ und Release-Notes aufgeräumt: keine Versions-Commits, Details als Unterpunkte
    • Reine Versions-/Änderungsprotokoll-Commits ("Version 0.9.x") erscheinen nicht mehr in Release-Notes und „Was ist neu“
    • Commit-Details werden als eingerückte Unterpunkte dargestellt statt in eine Zeile zusammengeklebt;
      der Betreff steht fett darüber

Commit-Historie

  • ceb7bdc Log-Prüfung als Vergleichstabelle: Feld, geloggt, erwartet – mit Filtern statt Textliste
  • 5ce74ea Plausibilitätshinweis berücksichtigt alle bekannten Standorte eines Rufzeichens
  • a550394 Dupe-Hinweis mit den Angaben des früheren QSOs, Liste filtert auf gearbeitete Rufzeichen, HamQTH ohne „kostenlos“
  • abb4816 „Was ist neu“ und Release-Notes aufgeräumt: keine Versions-Commits, Details als Unterpunkte

Vollständiger Vergleich: v0.9.32...v0.9.33

ContestLogger 0.9.32

Choose a tag to compare

@github-actions github-actions released this 08 Oct 17:16

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

Änderungen seit v0.9.31

  • Version 0.9.32
    • Änderungsprotokoll für v0.9.32
  • Verwaltung: Archiv-Knopf der Contest-Zeile als Symbol, damit alle Aktionen sichtbar sind
  • Verwaltung: Contest-Zeile ohne abgeschnittene Knöpfe (EDI-ZIP steht in Export / Abgabe)
  • Verwaltung in vier Bereiche aufgeteilt: Contests & Stationen, Stationsdatenbank & Import, Server & Updates, Einstellungen
    • Reiterleiste oben in der Verwaltung, nur der gewählte Bereich ist sichtbar (wird gemerkt); der Update-Knopf
      im Kopf springt direkt zu „Server & Updates“
    • Keine 16 Karten mehr auf einer Seite; Wiki und README-Bild aktualisiert
  • Start nach Löschen des letzten Contests repariert („Start fehlgeschlagen: Not Found“, rote Verbindung)
    • Gespeicherte Station wird verworfen, wenn es ihren Contest nicht mehr gibt; QSO-Laden mit 404 setzt die Station zurück
    • Die WebSocket-Verbindung wird immer aufgebaut, auch wenn Contests/Station nicht geladen werden konnten
  • Verwaltung: Stationen im Contest-Dialog, EDI-Prüfung ohne Stationswechsel, EDI-ZIP mit Prüfübersicht, QSO-Zahlen im Export; Dupe-Banner im Logger; Operator-Liste neueste zuerst
    • „Stationen im Contest“-Karte entfernt; die Stationen eines Contests stehen jetzt im Contest-Dialog (✎): Übersicht
      mit ID, Band, Locator, Nummer, Passwort, KST; globale Station aufnehmen, einmalige anlegen, bearbeiten, Nummer, entfernen
    • „EDI (mit Prüfung)“ in der Export-Karte prüft die jeweilige Station, ohne die aktive Station im Logger zu wechseln,
      und zeigt das Ergebnis immer als Dialog mit „EDI herunterladen“ (vorher stiller Download bzw. Stationswechsel)
    • Export-Karte folgt dem oben gewählten Contest sofort und zeigt je Station QSOs, Dupes und Punkte
    • „Alle Bänder als EDI-ZIP“ zeigt vorher die Prüfung aller Stationen (✔/✖ mit Fehlern, Klick öffnet die Prüfung);
      ZIP mit den bestandenen Logs oder als Admin alle; NICHT_EXPORTIERT.txt nennt jetzt die Fehler je Log
    • Logger: Doppel-QSO als deutliches rotes Banner über dem Formular (wie im Operator-Fenster)
    • Operator-Fenster: QSO-Liste neueste zuerst
    • EDI-Bemerkung ohne Sonderzeichen, die in Latin-1 zu „?“ wurden; Wiki aktualisiert
  • Wiki: Ziele des Einzeldatei-Imports erklärt (Automatisch, nur Call-Buch, bestehende Station)

Commit-Historie

  • d05cd4b Version 0.9.32
  • c25cae8 Verwaltung: Archiv-Knopf der Contest-Zeile als Symbol, damit alle Aktionen sichtbar sind
  • 164ca05 Verwaltung: Contest-Zeile ohne abgeschnittene Knöpfe (EDI-ZIP steht in Export / Abgabe)
  • e81418d Verwaltung in vier Bereiche aufgeteilt: Contests & Stationen, Stationsdatenbank & Import, Server & Updates, Einstellungen
  • 8df81da Start nach Löschen des letzten Contests repariert („Start fehlgeschlagen: Not Found“, rote Verbindung)
  • 32d3e99 Verwaltung: Stationen im Contest-Dialog, EDI-Prüfung ohne Stationswechsel, EDI-ZIP mit Prüfübersicht, QSO-Zahlen im Export; Dupe-Banner im Logger; Operator-Liste neueste zuerst
  • 41f554c Wiki: Ziele des Einzeldatei-Imports erklärt (Automatisch, nur Call-Buch, bestehende Station)

Vollständiger Vergleich: v0.9.31...v0.9.32

ContestLogger 0.9.31

Choose a tag to compare

@github-actions github-actions released this 07 Oct 18:22

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

Änderungen seit v0.9.30

  • Version 0.9.31
    • Änderungsprotokoll für v0.9.31
  • Quellcode-Deploy nutzt ebenfalls contestlogger.env statt Optionen in der Unit
    • deploy/contestlogger.service startet run.py --config /etc/contestlogger/contestlogger.env (keine Optionen mehr)
    • deploy/install.sh legt die Konfiguration an (Vorlage deploy/portable/contestlogger.env), --url setzt PUBLIC_URL,
      übernimmt eine alte --public-url aus der Unit; deploy/README.md beschreibt die Datei
    • Wiki: Deploy (Quellcode-Variante) und Fehlersuche (Dienst ignoriert Port/Adresse) ergänzt
  • Build: kein Artefakt-Upload mehr – die ZIPs hängen am Release

Commit-Historie

  • 962d17b Version 0.9.31
  • 4d06e24 Quellcode-Deploy nutzt ebenfalls contestlogger.env statt Optionen in der Unit
  • d78af88 Build: kein Artefakt-Upload mehr – die ZIPs hängen am Release

Vollständiger Vergleich: v0.9.30...v0.9.31

ContestLogger 0.9.30

Choose a tag to compare

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

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

Änderungen seit v0.9.29

  • Build: Artefakt-Upload blockiert den Release nicht mehr (Speicherkontingent), Aufbewahrung 2 Tage
  • Version 0.9.30
    • Änderungsprotokoll für v0.9.30
  • Fehler nach Update behoben: alte Seite aus dem Browser-Cache + neues Skript
    • index.html und Operator-Seite werden mit Cache-Control: no-cache ausgeliefert, app.js und style.css mit
      Versionsstempel (?v=…) eingebunden – nach einem Update passen Seite und Skript immer zusammen
    • Alle Ereignis-Bindungen beim Start sind null-sicher (TypeError 'Cannot read properties of null' tritt nicht mehr auf,
      auch wenn ein Element fehlt)

Commit-Historie

  • 818d9a0 Build: Artefakt-Upload blockiert den Release nicht mehr (Speicherkontingent), Aufbewahrung 2 Tage
  • 2adf429 Version 0.9.30
  • fef86a1 Fehler nach Update behoben: alte Seite aus dem Browser-Cache + neues Skript

Vollständiger Vergleich: v0.9.29...v0.9.30

ContestLogger 0.9.29

Choose a tag to compare

@github-actions github-actions released this 06 Oct 18:02

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

Änderungen seit v0.9.28

  • Betreuer-Modus auch über DEV=true in contestlogger.env
    • DEV=true ist gleichbedeutend mit MAINTAINER=1 (DARC-Hub, Ergebnislisten, Stationslisten-Import nur dann)
  • Version 0.9.29
    • Änderungsprotokoll für v0.9.29
  • Wertung je Contest mit Multiplikator, Cabrillo-Export, strengere Log-Prüfung, Offline-Kachelcache
    • Wertung im Contest wählbar: Punkte je QSO (1 je km oder fester Wert) und Multiplikator (keiner, Großfelder, DOKs,
      Großfelder + DOKs); Statistikzeile, Scoreboard, Statistik, EDI (CToSc/CQSOP) und Cabrillo nutzen dieselbe Wertung,
      bei Änderung werden alle QSOs des Contests neu bewertet
    • Cabrillo-3.0-Export je Station (Kopf mit Kategorie, Locator, Wertung, Adresse; QSO-Zeilen mit RST, Nummer, Locator, DOK;
      Dupes als X-QSO) in der Export-Karte
    • Log-Prüfung: Wertungsgruppe, Operatorenliste bei Multi, E-Mail-Format, Zahlenfelder (Leistung, Antennenhöhe, NN),
      Feldlängen, QSO mit eigenem Rufzeichen, Partner im eigenen Feld
    • Offline-Kachelcache: Kacheln über den Server laden und unter data/tiles speichern (/tiles/{z}/{x}/{y}.png), Schalter
      in der Verwaltung, „Region vorab laden“ (Locator, Radius, Zoom bis 7–10, Begrenzung für den öffentlichen OSM-Server),
      Fortschritt, Stopp, Cache leeren; Logger, Statistik und Operator-Fenster nutzen den Cache
    • Wiki (Loggen, Verwaltung, Import/Export, Log-Prüfung) und README ergänzt; Tests
  • Karte: Pfeil trifft den Partnerpunkt, lesbares Label, größere Karte mit Flugzeugen; Tagestrenner im Chat; Verwaltung aufgeräumt
    • Richtungspfeil als SVG, die Spitze liegt exakt auf dem Partnerpunkt; Stations-Label mit lesbarem Hintergrund neben dem Punkt (Logger und Operator)
    • Flugzeuge: Karte wird mit eingeschalteter Flugzeug-Ebene höher (420 px), Einträge in der Liste sind anklickbar und
      springen mit der Karte zum Flugzeug (Logger und Operator-Fenster)
    • Chat, KST und DM: Trennzeile mit Datum vor der ersten Nachricht eines neuen Tages („Heute“, „Gestern“, Wochentag + Datum)
    • DM: beim Stations-/Contestwechsel wird das jüngste Gespräch der Station gezeigt statt des Partners der alten Station
      (der dort keinen Verlauf hatte); ohne Auswahl ist das jüngste Gespräch offen
    • Operator-Fenster: alle Kacheln zentriert wie Entfernung/Richtung
    • Verwaltung: ON4KST-Karte entfernt (steht bei der Station), Stationsdatenbank direkt unter den Contests, Formular
      als saubere Zeile, Repo-URL-Feld entfernt, „Nach neuen suchen (Repo)“ in die Updates-Karte, Repo-Export nur Betreuer
    • Wiki (Chat/KST, Flugzeug-Scatter, Verwaltung, Updates, Stationsdatenbank) und Screenshots aktualisiert
  • Flugzeug-Scatter wie AirScout (Kreuzungszeit, Höhenreserve, Profil), Rufzeichen je Großfeld, Betreuer-Modus für Quellen-Importe
    • Flugzeuge: Hover zeigt Mindesthöhe an der Position, Höhenreserve (Flughöhe minus Mindesthöhe), Elevation von beiden
      Stationen, Größenklasse (schwer/groß/mittel/leicht), Steigen/Sinken und – bei Kurs auf den Pfad – Kreuzungszeit (UTC),
      Pfad-Kilometer, ob in der Zone und Reserve am Kreuzungspunkt; Kreuzungspunkt wird auf dem Pfad markiert
    • Status wie AirScout (hot / kreuzt bald / sichtbar / außer Reichweite / zu tief) mit Farben, schwere Flugzeuge größer
    • Pfadprofil (Seitenansicht): Mindesthöhen-Kurve, Zone, Flugzeuge in ihrer Höhe – zu-/abschaltbar; Operator-Fenster
      mit denselben Hover-Details
    • Statistik-Karte: Großfelder zeigen beim Hovern die Rufzeichen, beim Klicken alle mit Locator und km
    • Betreuer-Modus (MAINTAINER=1 in contestlogger.env): nur dann sind Ergebnislisten-Import und DARC-Contest-Hub sichtbar
      und erlaubt (API 403 sonst); normale Installationen holen die Liste über „Nach neuen suchen (Repo)“ und schicken
      ihren CSV-Export an den Betreuer, der ihn mit „Stationsliste einpflegen“ übernimmt (DOK, Name, zuletzt gesehen)
    • Stationsdatenbank-Export (CSV) ist damit auch wieder importierbar; Wiki und README ergänzt
  • Verwaltung: Karten auf zwei gleich hohe Spalten verteilt, Arbeitsregeln für Git-Autor
    • Die beiden sehr langen Sammelkarten (Importe; Stationsdatenbank bis Admin-Passwort) sind jetzt einzelne Karten,
      die in zwei Spalten fließen – keine überlange rechte Spalte mehr, Aktionsprotokoll ohne Scrollen erreichbar
    • Screenshot der Verwaltung (README und Wiki) aktualisiert
    • CLAUDE.md: Commits unter dem Account NoobKeksTV, ohne Signierung und ohne Zusatzzeilen
  • Test: Updater-Test auf case-insensitiven Dateisystemen (macOS) reparieren
    • Testordner hieß wie die Binärdatei (contestlogger/ContestLogger), was auf macOS kollidierte
  • Änderungsprotokoll für v0.9.28
  • Austausch je Contest wählbar: laufende Nummer, DOK/OV oder beides (z. B. Köln-Aachen-Contest)
    • Contest-Einstellung „Austausch“: RST + Nummer (Standard), RST + DOK/OV oder RST + Nummer + DOK
    • Logger blendet die Felder passend ein (DOK erh. statt/neben Nr erh.), Leertaste und Enter springen entsprechend,
      DOK wird aus der Stationsdatenbank vorbelegt und mit jedem QSO gelernt; Bearbeiten-Dialog mit DOK
    • Operator-Fenster zeigt die DOK-Kachel bzw. blendet die Nummernkacheln aus, QSO-Liste mit DOK-Spalte
    • Statistikzeile zählt verschiedene DOKs; Log-Prüfung warnt bei fehlendem DOK und fehlendem eigenem DOK
    • Export: EDI (PExch = eigener DOK aus den EDI-Angaben, Spalte „Exchange received“, CExcs), ADIF (DARC_DOK,
      SRX_STRING, STX_STRING), CSV-Spalte „DOK erh“; Komplettes Log mit DOK-Spalte
    • Import: EDI, ADIF, DARC-Contest-Hub (DOK-Spalte), Ergebnislisten (DOK in der Zeile), Call-Listen mit DOK-Spalte
    • Stationsdatenbank: DOK-Spalte (Anzeige, Bearbeiten, Suche nach DOK), CSV-Export und Repo-Format
      Call;Locator;Zuletzt;DOK, Abgleich mit dem Repo übernimmt DOKs; neuester DOK gewinnt
    • Version 0.9.28; Wiki (Loggen, Verwaltung, Stationsdatenbank, Import/Export) und README ergänzt
  • Server-Einstellungen in contestlogger.env, Token-Feld entfernt, Wiki mit Bildern
    • Alle Server-Einstellungen (Host, Port, Datenbank, Backup-Takt, öffentliche Adresse, KST-Server, GitHub-Token)
      stehen jetzt in einer .env-Datei: contestlogger.env neben dem Programm bzw. /etc/contestlogger/contestlogger.env
      auf dem Server; --config und CONTESTLOGGER_ werden ebenfalls unterstützt, Kommandozeile überstimmt alles
    • Vorlage contestlogger.env.example liegt im Paket; die systemd-Units enthalten keine Optionen mehr,
      install.sh legt die Konfiguration an und übernimmt --url bzw. eine alte --public-url aus der Unit
    • GitHub-Token-Feld aus der Verwaltung entfernt (Repo wird öffentlich); nur noch optional über GITHUB_TOKEN
    • Operator-Fenster: Karte füllt jetzt zuverlässig die ganze Fläche (Kacheln nach Layout/Resize nachgezogen)
    • README: inoffizieller Nachfolger, KST-Chat und Aircraft-Scatter in der Beschreibung, Bildergalerie repariert,
      Hauptbild mit gerenderter OSM-Karte, Footer
    • Wiki: jede Seite mit Screenshots (Erster Start, QR-Code, Import, Export, Stationsdatenbank, Backups,
      Updates, Was ist neu, Aktionsprotokoll, Rufzeichen-Abfrage, ADS-B, Frequenz, KST-Rohdaten)

Commit-Historie

  • e85835a Betreuer-Modus auch über DEV=true in contestlogger.env
  • 5ad78ef Version 0.9.29
  • d14e772 Wertung je Contest mit Multiplikator, Cabrillo-Export, strengere Log-Prüfung, Offline-Kachelcache
  • 71fa5dd Karte: Pfeil trifft den Partnerpunkt, lesbares Label, größere Karte mit Flugzeugen; Tagestrenner im Chat; Verwaltung aufgeräumt
  • cd5b068 Flugzeug-Scatter wie AirScout (Kreuzungszeit, Höhenreserve, Profil), Rufzeichen je Großfeld, Betreuer-Modus für Quellen-Importe
  • 8abf5ea Verwaltung: Karten auf zwei gleich hohe Spalten verteilt, Arbeitsregeln für Git-Autor
  • 4e173f6 Test: Updater-Test auf case-insensitiven Dateisystemen (macOS) reparieren
  • 1ed5514 Änderungsprotokoll für v0.9.28
  • 12e83e1 Austausch je Contest wählbar: laufende Nummer, DOK/OV oder beides (z. B. Köln-Aachen-Contest)
  • 4b95640 Server-Einstellungen in contestlogger.env, Token-Feld entfernt, Wiki mit Bildern

Vollständiger Vergleich: v0.9.28...v0.9.29